捕获arm非托管磁盘虚拟机,并进行还原

背景:非托管磁盘虚拟机“hlmcen69n1”,附加了一块100GB的数据磁盘。由于arm非托管磁盘机器无法通过Portal界面直接“Capture”,故只能通过命令行的方式进行捕获并还原,以下是通过Powershell命令进行的操作

1.在虚拟机内部执行一般化的操作【Linux机器:waagent -deprovision; Windows机器:sysprep】,本文以Linux机器为例进行说明

Linux机器:

Windows机器:

2.在Portal界面关闭该虚拟机,以便释放资源

3.通过Azure Powershell对虚拟机执行“Generalized”标记

PS C:\Users\he.liming> Set-AzureRmVM -ResourceGroupName hlmrgn -Name hlmcen69n1 -Generalized
OperationId :
Status      :
StartTime   :
EndTime     :
Error       :

4.执行完一般化的操作后,迅即就无法启动了

5.执行以下命令,捕获虚拟机【目前测试,捕获完成后,原虚拟机也未被删除】

PS C:\Users\he.liming> Save-AzureRmVMImage -ResourceGroupName hlmrgn -Name hlmcen69n1 -DestinationContainerName “vhdscature” -VHDNamePrefix "capture"
OperationId :
Status      : Succeeded
StartTime   : 2017/9/26 17:32:24
EndTime     : 2017/9/26 17:32:25
Error       :

6. 执行完上述操作后,原虚拟机使用的存储账号中会生产一个container,名称为“system”,在该容器中可以找到捕获后生成的VHD文件【包含数据磁盘及操作系统磁盘】及json文件

7.

时间: 2024-11-08 12:41:30

捕获arm非托管磁盘虚拟机,并进行还原的相关文章

Azure Powershell使用已有Image创建ARM非托管磁盘虚拟机

生成Image映像文件,记录好Image的URL(下面URL为测试URL,具体请参考实际):ImageURL:https://hlmrgstoragen.blob.core.chinacloudapi.cn/vhdscopy/hlmn4sysclocap-os-2017-09-21-2CE40CEE.vhd 安装和配置Azure Powershell的步骤请参考对应的安装文档.安装配置完成后,使用下面的命令进行创建(#为注释,忽略对应的说明): #指定虚拟机名称 $vmname = "hlmsy

42.从非托管磁盘创建虚拟机

在上一篇文章中,我从托管磁盘转换出了2个非托管磁盘,一个是系统盘,一个是数据盘 接着我需要利用这个非托管磁盘的系统盘创建一个虚拟机 首选选中这个LinuxWeb02OSDisk文件,复制它的URL 在这里又要使用Microsoft Azure Storage Explorer工具了,登陆您的Azure帐号查看到您的存储资源 因为基于该文件创建虚拟机默认这块按照我之前的文章来操作的话是没有添加.vhd后缀的,但创建的脚本时必须是带.vhd后缀的,否则会创建虚拟机失败,因此需要在这个工具下重命名这些

Azure迁移托管磁盘虚拟机到新账号下

先决条件: 导出托管磁盘VHD文件到存储账户时,需要关闭虚拟机操作.同时,请您记录好哪些是OS磁盘,哪些是数据磁盘. 官方参考文档: https://docs.azure.cn/zh-cn/articles/azure-operations-guide/virtual-machines/aog-virtual-machines-howto-export-managed-diskshttps://docs.azure.cn/zh-cn/storage/common/storage-use-azco

CentOS7.3托管磁盘虚拟机扩容数据磁盘

随着托管磁盘的上线,虚拟机支持的单块磁盘容量从1TB到达了4TB,客户对单块磁盘容量的需求量也会变的很大. 操作之前需要重点查看: 由于扩容磁盘的操作非同小可,一旦哪一步出现问题,就会导致分区损坏,数据丢失等一系列严重的问题,因此建议:在进行虚拟机分区扩容之前,一定要备份重要数据文件,并且先在测试机上验证以下步骤,再应用于您的生产机器.如果虚拟机的磁盘不够用了,建议附加新磁盘进行使用,不到万不得已一般不要扩容磁盘分区. 操作环境: [[email protected] sdc1]# cat /e

虚拟机永久磁盘和非永久磁盘的应用

1.有这样一个场景:在你使用虚拟机的时候,有时候你只想恢复快照,但是一些数据你不想删除,这时候,你就可以给你虚拟机添加一块永久磁盘 步骤:编辑虚拟机设置-->添加-->硬盘-->独立模式,并且永久-->创建新的虚拟磁盘-->存储单个文件-->完成(需要给新硬盘分区并格式化) 实验:添加永久磁盘,然后新建一个快照A,在永久磁盘里面新建001.txt,002.txt文件,然后恢复到快照A,配置对的情况下001和002还存在.2.应用场景:和网吧的电脑类似,不管你装了什么游戏

Azure ARM (10) ARM模式下的虚拟机和Classic Model虚拟机的区别

<Windows Azure Platform 系列文章目录> 本文内容比较多,请大家仔细阅读,谢谢! 请读者注意,在Azure ARM平台,有两种虚拟机模式:经典虚拟机和ARM虚拟机 ASM部署(经典虚拟机): 1.我们通过Azure Classic Portal: http://manage.windowsazure.cn,部署的都是ASM资源(经典虚拟机) 2.如果我们通过Azure New Portal (http://portal.azure.cn) 创建,需要选择部署模式为Clas

托管程序与非托管程序的区别

介绍托管程序与非托管程序的区别 本文主要介绍托管程序与非托管程序的概念,以及两者之间的区别.希望对你有帮助,一起来看. AD:[线下活动]三大新锐HTML 5企业汇聚51CTO—大话移动前端技术 托管代码是一microsoft的中间语言,他主要的作用是在.NET FRAMEWORK的CLR执行代码前去编译源代码,也就是说托管代码充当着翻译的作用.下面介绍托管代码和非托管代码. 什么是托管代码? 托管代码就是Visual Basic .NET和C#编译器编译出来的代码.编译器把代码编译成中间语言(

[原]C#与非托管&mdash;&mdash;动机

Unity3D采用C#作为脚本开发语言,本来是可以直接提供代码局部更新机制的,可惜Mono和Unity3D迫于苹果的压力,在iOS上采用AOT模式运行,断绝了代码局部更新的路(任何一个具有很高知名度的引擎都不敢明着违反苹果的条款),而Android的代码局部更新则被Unity3D做成了一个收费的售后服务项目.不过不是跨平台的机制都没有多大的意义,所以如果需要局部更新代码(大家也都称为热更新),一般都需要采用脚本的方式,把大部分游戏内逻辑特别是变化很大的逻辑写在脚本里面,然后把脚本作为资源来做局部

托管资源和非托管资源

在.net 编程环境中,系统的资源分为托管资源和非托管资源. 对于托管的资源的回收工作,是不需要人工干预回收的,而且你也无法干预他们的回收,所能够做的只是了解.net CLR如何做这些操作.也就是说对于您的应用程序创建的大多数对象,可以依靠 .NET Framework 的垃圾回收器隐式地执行所有必要的内存管理任务.        资源分为两种,托管的内存资源,这是不需要我们操心的,系统已经为我们进行管理了:那么对于非托管的资源,这里再重申一下,就是Stream,数据库的连接,GDI+的相关对象