目前中国区 Azure 也已经可以使用命令制作托管镜像了。但对于托管镜像和非托管镜像,就像托管磁盘和非托管磁盘一样,很多人可能一开始无法理解。这里就此进行了一个简单对比:
通过对比测试,这里总结了这两者的不同:
非托管镜像托管镜像
创建镜像Save-AzureRmVMImageNew-AzureRmImageConfig
New-AzureRmImage
查找镜像无,用户需要自己记录(注 1)Get-AzureRMImage
删除镜像无,直接删除存储账号中的 VHD 文件即可(注 1)Remove-AzureRMImage
更新镜像无Update-AzureRMImage
镜像位置虚拟机相同的存储账号,包括 OS 和数据磁盘(注 2)托管磁盘,包括 OS 和数据磁盘(注 7)
创建镜像的来源从虚拟机创建(注 3)虚拟机(注 6)
通用化后的 OS 磁盘
通用化后的 OS 磁盘的快照
使用镜像创建新虚拟机只能在同存储账号中创建为普通虚拟机(注 4)创建为托管磁盘虚拟机
数据磁盘需手动添加数据磁盘(注 5)部署时自动创建并挂载数据磁盘
Note
注 1:创建非托管镜像后,镜像会保存在虚拟机所在存在账号中名为 system 的容器下,但无法通过命令行或者门户查看了用户做了哪些镜像。由于对于非托管镜像的磁盘文件平台不会加锁,因此,可能造成误删的情况。
Note
注 2:对于包含数据盘的虚拟机,创建镜像时也会捕获数据磁盘。并且会同时在镜像保存位置生成一个 JSON 文件,用于演示如何使用模板使用镜像创建新的虚拟机。
Note
注 3:只能为非托管磁盘创建的虚拟机创建非托管镜像。
Note
注 4:如果要将新的虚拟机创建在不同存储账号,可以将镜像文件复制到目标存储账号,引用目标存储账号中的镜像文件 URI 进行创建。
Note
注 5:非托管镜像在创建新虚拟机时,如果原镜像包括数据磁盘,需要通过 JSON 模板或者 PowerShell 手动指定引用的数据磁盘镜像。否则默认不会附加数据磁盘。如果您 Linux 系统中指定了要挂载这些数据磁盘,在创建时会出现超时,无法启动的现象。
Note
注 6:虚拟机可以为托管磁盘虚拟机,也可以是非托管磁盘虚拟机。
Note
注 7:托管镜像在 Azure 门户中可以直接查看。其类型显示为 Image。
参考链接
从非托管镜像创建 Azure VM从托管镜像创建 Azure VM
立即访问http://market.azure.cn