在 Azure 中创建旧托管映像
发布时间:2026-09-22 | 浏览:2
访问此页面需要授权。 可以尝试 登录 或 更改目录 。
访问此页面需要授权。 可以尝试 更改目录 。
本文介绍较旧的托管映像技术。 对于最新的技术,建议客户使用 Azure Compute Gallery 。 所有新功能,例如 ARM64 和受信任的启动,只有通过 Azure 计算图库 才能获得支持。 如果有现有的托管映像,则可以将其用作源并创建Azure计算库映像。 有关详细信息,请参阅 创建映像定义和映像版本 。
无法从使用受信任启动部署的虚拟机创建旧托管映像。
在Azure中将 VM 标记为 generalized 后,将无法重启 VM。
一个托管映像最多支持 20 个同时部署。 如果尝试从同一托管映像同时创建超过 20 个 VM,则可能会由于单个 VHD 的存储性能限制而导致预配超时。 若要并发创建 20 多个 VM,请使用为每个 20 个并发 VM 部署配置了 1 个副本的 Azure 计算库 (以前称为 Shared Image Gallery) 映像。
有关如何计费托管映像的信息,请参阅 托管磁盘定价 。
需要 通用化 VM 才能创建映像。
需要 通用化 VM 才能创建映像。
CLI:创建 VM 的旧版托管映像
使用 az image create 创建 VM 的旧托管映像。 直接从 VM 创建旧托管映像可确保映像包括与 VM 关联的所有磁盘,包括 OS 磁盘和任何数据磁盘。
旧托管映像是在与源 VM 相同的资源组中创建的。 您可以在订阅中的任何资源组中从此映像创建虚拟机。 从管理的角度来看,你可能希望为 VM 资源和映像创建特定的资源组。
以下示例是在名为 myResourceGroup 的资源组中,使用名为 myVM 的 VM 资源创建一个名为 myImage 的旧托管映像。
If you are capturing an image of a generation 2 VM, also use the --hyper-v-generation V2 parameter. for more information, see Generation 2 VMs .
If you would like to store your image in zone-resilient storage, you need to create it in a region that supports availability zones and include the --zone-resilient true parameter.
This command returns JSON that describes the VM image. Save this output for later reference.
PowerShell:创建 VM 的旧版托管映像
此示例演示如何从 VM 创建旧托管映像。 直接从 VM 创建旧托管映像可确保映像包括与 VM 关联的所有磁盘,包括 OS 磁盘和任何数据磁盘。
在开始之前,请确保拥有最新版本的 Azure PowerShell 模块。 若要查找版本,请在 PowerShell 中运行 Get-Module -ListAvailable Az 。 如果需要升级,请参阅 使用 PowerShellGet 在 Windows 上安装 Azure PowerShell 。 如果在本地运行 PowerShell,请运行 Connect-AzAccount 以创建与Azure的连接。
如果希望将映像存储在具有区域冗余能力的存储中,需要在支持 可用性区域 的区域中创建该映像并在映像配置中包括 -ZoneResilient 参数( New-AzImageConfig 命令)。
若要创建 VM 的旧托管映像,请执行以下步骤:
创建一些变量。 $vmName = "myVM" $rgName = "myResourceGroup" $location = "China North 2" $imageName = "myImage"
确保 VM 已解除分配。 Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
将虚拟机的状态设置为“通用化”。 Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized
将虚拟机的状态设置为“通用化”。
获取虚拟机。 $vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
创建映像配置。 $imageConfig = New-AzImageConfig -Location $location -SourceVirtualMachineId $vm.Id
创建映像。 New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
PowerShell:从托管磁盘创建旧版托管映像
如果要仅创建 OS 磁盘的旧托管映像,请将托管磁盘 ID 指定为 OS 磁盘:
创建一些变量。 $vmName = "myVM" $rgName = "myResourceGroup" $location = "China North 2" $imageName = "myImage"
获取虚拟机。 $vm = Get-AzVm -Name $vmName -ResourceGroupName $rgName
获取托管磁盘的 ID。 $diskID = $vm.StorageProfile.OsDisk.ManagedDisk.Id
创建映像配置。 $imageConfig = New-AzImageConfig -Location $location $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -ManagedDiskId $diskID
创建映像。 New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
PowerShell:从快照创建旧版托管映像
通过执行以下步骤,可以从通用 VM 的快照创建托管映像:
创建一些变量。 $rgName = "myResourceGroup" $location = "China North 2" $snapshotName = "mySnapshot" $imageName = "myImage"
获取快照。 $snapshot = Get-AzSnapshot -ResourceGroupName $rgName -SnapshotName $snapshotName
创建映像配置。 $imageConfig = New-AzImageConfig -Location $location $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -SnapshotId $snapshot.Id
创建映像。 New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
PowerShell:从使用存储帐户的 VM 创建旧版托管映像
若要从不使用托管磁盘的 VM 创建托管映像,需要存储帐户中 OS VHD 的 URI,格式如下: https:// mystorageaccount .blob.core.chinacloudapi.cn/ vhdcontainer / vhdfilename.vhd 。 在本示例中,VHD 位于名为 vhdcontainer 的容器中的 mystorageaccount 中,且 VHD 文件名为 vhdfilename.vhd。
创建一些变量。 $vmName = "myVM" $rgName = "myResourceGroup" $location = "China North 2" $imageName = "myImage" $osVhdUri = "https://mystorageaccount.blob.core.chinacloudapi.cn/vhdcontainer/vhdfilename.vhd"
停止/解除分配 VM。 Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
将 VM 标记为通用。 Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized
使用通用化的 OS VHD 创建映像。 $imageConfig = New-AzImageConfig -Location $location $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsType Windows -OsState Generalized -BlobUri $osVhdUri $image = New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
使用通用化的 OS VHD 创建映像。
CLI:从旧版托管映像创建 VM
使用 az vm create 从旧托管映像创建 VM。 以下示例从名为 myImage 的映像创建名为 myVMDeployed 的 VM 。
CLI:在另一个资源组中从旧版托管映像创建 VM
您可以在您的订阅内从任何资源组中的旧托管映像创建虚拟机。 若要在与旧托管映像不同的资源组中创建 VM,请指定完整的资源 ID。 使用 az image list 查看映像列表。 输出类似于以下示例。
以下示例使用 az vm create ,通过指定映像资源 ID,在除源旧版托管映像所在资源组外的其他资源组中创建 VM。
门户:从遗留托管映像创建 VM
从传统托管映像在 Azure 创建 VM:在门户中查找映像,选择“创建 VM”,填写详细信息,选择大小,调整设置,并启动部署流程。
转到 Azure 门户 查找托管映像。 搜索并选择“图像”。
转到 Azure 门户 查找托管映像。 搜索并选择“图像”。
从列表中选择需要使用的映像。 随即打开映像“概述”页。
从列表中选择需要使用的映像。 随即打开映像“概述”页。
输入虚拟机信息。 在此处输入的用户名和密码将用来登录到虚拟机。 完成后选择“确定”。 可以在现有资源组中创建新的 VM,或者选择“新建”创建一个新的资源组用于存储 VM。
输入虚拟机信息。 在此处输入的用户名和密码将用来登录到虚拟机。 完成后选择“确定”。 可以在现有资源组中创建新的 VM,或者选择“新建”创建一个新的资源组用于存储 VM。
为 VM 选择大小。 若要查看更多的大小,请选择“全部查看”或更改“支持的磁盘类型”筛选器。
为 VM 选择大小。 若要查看更多的大小,请选择“全部查看”或更改“支持的磁盘类型”筛选器。
在“设置”下,根据需要进行更改并选择“确定” 。
在“设置”下,根据需要进行更改并选择“确定” 。
在摘要页上,应该能看到你的映像名称被列为“私有映像”。 选择“确定”以启动虚拟机部署。
在摘要页上,应该能看到你的映像名称被列为“私有映像”。 选择“确定”以启动虚拟机部署。
PowerShell:从旧版托管映像创建 VM
可以使用 PowerShell 通过 New-AzVm cmdlet 的简化参数集从旧托管映像创建 VM。 旧托管映像需要位于要在其中创建 VM 的同一资源组中。
New-AzVm 的简化参数集仅要求提供名称、资源组和映像名称便可基于映像创建 VM。 New-AzVm 将使用 -Name 参数的值作为它自动创建的所有资源的名称。 在此示例中,我们为每个资源提供更详细的名称,但让 cmdlet 自动创建这些资源。 你还可以提前创建资源(例如虚拟网络)并将名称传递给 cmdlet。 如果 New-AzVm 可以通过名称找到现有资源,将会使用这些资源。
以下示例在“myResourceGroup”资源组中,从名为“myImage”的镜像创建一个名为“myVMFromImage”的虚拟机(VM)。
Last updated on 2026-08-10