创建虚拟硬盘的快照
适用于:✔️ Linux VM ✔️ Windows VM ✔️ 灵活规模集
快照是虚拟硬盘 (VHD) 的完整只读副本。 可以使用快照作为时间点备份,或帮助排查虚拟机 (VM) 问题。 可以创建操作系统 (OS) 或数据磁盘 VHD 的快照。
创建 VHD 的快照
若要使用快照创建新的 VM,请确保先彻底关闭 VM。 此操作将清除正在进行的所有进程。
若要使用 Azure 门户创建快照,请完成以下步骤。
- 在 Azure 门户中,选择“创建资源”。
- 搜索并选择“快照”。
- 在“快照”窗口,选择“创建” 。 此时将显示“创建快照”窗口。
- 对于“资源组”,请选择现有的资源组,或输入新资源组的名称。
- 输入名称,然后为新快照选择区域和快照类型 。 如果你要将快照存储在具有区域复原能力的存储中,需要选择支持可用性区域的区域。 有关支持的区域列表,请参阅具有可用性区域的 Azure 区域。
- 对于“源订阅”,请选择包含要备份的托管磁盘的订阅。
- 对于源磁盘,选择要获取其快照的托管磁盘。
- 对于“存储类型”,除非你需要为快照使用区域冗余存储或高性能存储,否则请选择“标准 HDD” 。
- 如果需要,请在“加密”、“网络”和“标记”选项卡上配置设置 。 否则将为快照使用默认设置。
- 选择“查看 + 创建”。
此示例要求已安装 Azure CLI。
按照以下步骤使用 New-AzSnapshotConfig
和 New-AzSnapshot
cmdlet 创建快照。 此示例假设 myResourceGroup 资源组中具有名为 myVM 的 VM 。 提供的代码示例将创建一个快照,该快照位于源 VM 所在的资源组中,并且位于源 VM 所在的区域中。
首先,使用 New-AzSnapshotConfig cmdlet 创建可配置的快照对象。 然后可以使用 New-AzSnapshot cmdlet 创建磁盘的快照。
设置所需的参数。 请更新值以反映你的环境。
$resourceGroupName = 'myResourceGroup'
$location = 'chinaeast'
$vmName = 'myVM'
$snapshotName = 'mySnapshot'
使用 Get-AzVM cmdlet 获取包含要复制的 VHD 的 VM。
$vm = Get-AzVM `
-ResourceGroupName $resourceGroupName `
-Name $vmName
创建快照配置。 该示例中的快照是 OS 磁盘的快照。 默认情况下,快照使用本地冗余的标准存储。 不管父磁盘或目标磁盘的存储类型是什么,我们都建议将快照存储在标准存储而不是高级存储中。 高级快照会产生额外的费用。
$snapshot = New-AzSnapshotConfig `
-SourceUri $vm.StorageProfile.OsDisk.ManagedDisk.Id `
-Location $location `
-CreateOption copy
如果要将快照存储在具有区域复原能力的存储中,则必须在支持可用性区域的区域中创建快照,并包含 -SkuName Standard_ZRS
参数。 有关支持可用性区域的区域列表,请参阅具有可用性区域的 Azure 区域。
创建快照。
New-AzSnapshot `
-Snapshot $snapshot `
-SnapshotName $snapshotName `
-ResourceGroupName $resourceGroupName
使用 Get-AzSnapshot cmdlet 验证你的快照是否存在。
Get-AzSnapshot `
-ResourceGroupName $resourceGroupName
此示例要求已安装 Azure CLI。
按照以下步骤使用 az snapshot create
命令和 --source-disk
参数创建快照。 此示例假设 myResourceGroup 资源组中具有名为 myVM 的 VM 。 提供的代码示例将创建一个快照,该快照位于源 VM 所在的资源组中,并且位于源 VM 所在的区域中。
使用 az vm show 获取磁盘 ID。
osDiskId=$(az vm show \
-g myResourceGroup \
-n myVM \
--query "storageProfile.osDisk.managedDisk.id" \
-o tsv)
使用 az snapshot create 创建名为 osDisk-backup 的快照。 该示例中的快照是 OS 磁盘的快照。 默认情况下,快照使用本地冗余的标准存储。 不管父磁盘或目标磁盘的存储类型是什么,我们都建议将快照存储在标准存储而不是高级存储中。 高级快照会产生额外的费用。
az snapshot create \
-g myResourceGroup \
--source "$osDiskId" \
--name osDisk-backup
如果要将快照存储在具有区域复原能力的存储中,则需要在支持可用性区域的区域中创建该快照,并包含可选的 --sku Standard_ZRS
参数。 可在此处找到可用区域列表。
使用 az snapshot list 验证你的快照是否存在。
az snapshot list \
-g myResourceGroup \
-o table
后续步骤
若要使用快照进行恢复,必须使用快照创建新磁盘,然后部署一个新 VM 并使用托管磁盘作为 OS 磁盘,或将磁盘作为数据磁盘附加到现有 VM。