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