适用于:✔️ Linux VM ✔️ Windows VM ✔️ 灵活规模集
快照是虚拟硬盘 (VHD) 的完整只读副本。 可以使用快照作为时间点备份,或帮助排查虚拟机 (VM) 问题。 可以创建操作系统 (OS) 或数据磁盘 VHD 的快照。 使用快照,可以在任意时间点备份托管磁盘。 这些快照独立于源磁盘存在,可以使用它们创建新的托管磁盘。
基于已使用大小对快照计费。 例如,如果创建预配容量为 64 GiB 且实际使用数据大小为 10 GiB 的托管磁盘的快照,则仅针对已用数据大小 10 GiB 对该快照计费。 可以通过查看 Azure 使用情况报告来了解快照的已使用大小。 例如,如果快照的已用数据大小为 10 GiB,则每日使用情况报告将显示 10 GiB/(31 天) = 0.3226 作为已使用数量。 快照与原始磁盘分开计费。 有关详细信息,请参阅定价页。
若要使用快照创建新的 VM,请确保先彻底关闭 VM。 此操作将清除正在进行的所有进程。
若要使用 Azure 门户创建快照,请完成以下步骤。
- 在 Azure 门户中,选择“创建资源”。
- 搜索并选择“快照”。
- 在“快照”窗口,选择“创建” 。 此时将显示“创建快照”窗口。
- 对于“资源组”,请选择现有的资源组,或输入新资源组的名称。
- 输入名称,然后为新快照选择区域和快照类型 。 如果你要将快照存储在具有区域复原能力的存储中,需要选择支持可用性区域的区域。 有关支持的区域列表,请参阅具有可用性区域的 Azure 区域。
- 对于“源订阅”,请选择包含要备份的托管磁盘的订阅。
- 对于源磁盘,选择要获取其快照的托管磁盘。
- 对于“存储类型”,除非你需要为快照使用区域冗余存储或高性能存储,否则请选择“标准 HDD” 。
- 如果需要,请在“加密”、“网络”和“标记”选项卡上配置设置 。 否则将为快照使用默认设置。
- 选择“查看 + 创建”。
此示例要求使用 Azure CLI 或安装 Azure PowerShell 模块。
按照以下步骤使用 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。