你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将映像版本导出到托管磁盘

适用于:✔️ Linux VM ✔️ Windows VM ✔️ 灵活规模集 ✔️ 统一规模集

可将映像版本的 OS 或数据磁盘导出为 Azure Compute Gallery(以前称为共享映像库)中存储的映像版本的托管磁盘。

CLI

使用 az sig image-version list 列出库中的映像版本。 在此示例中,我们将查找属于 myGallery 库中的 myImageDefinition 映像定义的所有映像版本。

az sig image-version list \
   --resource-group myResourceGroup\
   --gallery-name myGallery \
   --gallery-image-definition myImageDefinition \
   -o table

source 变量设置为映像版本的 ID,然后使用 az disk create 创建托管磁盘。

在此示例中,我们将导出映像版本的 OS 磁盘,在 EastUS 区域的名为“myResourceGroup”的资源组中创建一个名为“myManagedOSDisk”的托管磁盘 。

source="/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/galleries/<galleryName>/images/<galleryImageDefinition>/versions/<imageVersion>"

az disk create --resource-group myResourceGroup --location EastUS --name myManagedOSDisk --gallery-image-reference $source 

如果要从映像版本导出数据磁盘,请添加 --gallery-image-reference-lun 以指定要导出的数据磁盘的 LUN 位置。

在此示例中,我们将导出位于映像版本的 LUN 0 的数据磁盘,在 EastUS 区域的名为“myResourceGroup”的资源组中创建一个名为“myManagedDataDisk”的托管磁盘 。

source="/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/galleries/<galleryName>/images/<galleryImageDefinition>/versions/<imageVersion>"

az disk create --resource-group myResourceGroup --location EastUS --name myManagedDataDisk --gallery-image-reference $source --gallery-image-reference-lun 0

PowerShell

使用 Get-AzResource 列出库中映像版本。

Get-AzResource `
   -ResourceType Microsoft.Compute/galleries/images/versions | `
   Format-Table -Property Name,ResourceId,ResourceGroupName

获得全部所需信息后,可以使用 Get-AzGalleryImageVersion 来获取要使用的源映像版本并将其分配给变量。 在本示例中,我们将在 myResourceGroup 资源组的 myGallery 源库中,获取 myImageDefinition 定义的 1.0.0 映像版本。

$sourceImgVer = Get-AzGalleryImageVersion `
   -GalleryImageDefinitionName myImageDefinition `
   -GalleryName myGallery `
   -ResourceGroupName myResourceGroup `
   -Name 1.0.0

source 变量设置为映像版本的 ID 后,使用 New-AzDiskConfig 创建磁盘配置,然后使用 New-AzDisk 创建磁盘。

在此示例中,我们将导出映像版本的 OS 磁盘,在 EastUS 区域的名为“myResourceGroup”的资源组中创建一个名为“myManagedOSDisk”的托管磁盘 。

创建磁盘配置。

$diskConfig = New-AzDiskConfig `
   -Location EastUS `
   -CreateOption FromImage `
   -GalleryImageReference @{Id = $sourceImgVer.Id}

创建该磁盘。

New-AzDisk -Disk $diskConfig `
   -ResourceGroupName myResourceGroup `
   -DiskName myManagedOSDisk

如果要从映像版本导出数据磁盘,请将 LUN ID 添加到磁盘配置,以指定要导出的数据磁盘的 LUN 位置。

在此示例中,我们将导出位于映像版本的 LUN 0 的数据磁盘,在 EastUS 区域的名为“myResourceGroup”的资源组中创建一个名为“myManagedDataDisk”的托管磁盘 。

创建磁盘配置。

$diskConfig = New-AzDiskConfig `
   -Location EastUS `
   -CreateOption FromImage `
   -GalleryImageReference @{Id = $sourceImgVer.Id; Lun=0}

创建该磁盘。

New-AzDisk -Disk $diskConfig `
   -ResourceGroupName myResourceGroup `
   -DiskName myManagedDataDisk

后续步骤

还可从托管磁盘创建映像版本