Azure 托管磁盘快照提供磁盘的时间点备份,这些磁盘可在软件升级、灾难恢复或创建新环境期间用作备份。 从 Azure 托管磁盘创建快照时,Azure 会自动将数据从磁盘复制到后台的快照。
默认情况下,高级 SSD、标准 SSD 和标准 HDD 快照是即时访问。 创建后,可以立即使用这些快照来还原新磁盘、下载基础数据,以及复制到其他Azure区域。
创建超级磁盘或高级 SSD v2 快照时,Azure将数据从源磁盘复制到后台的快照。 默认情况下,这些快照不是即时访问,因此必须先等待后台数据复制完成,然后才能使用它们。 若要立即使用这些磁盘类型的快照,请在创建快照时启用即时访问。
高级 SSD、标准 SSD 和标准 HDD 的快照
默认情况下,高级 SSD、标准 SSD 和标准 HDD 快照是即时访问。 创建快照后,可以立即使用这些快照创建任何受支持的磁盘类型的新磁盘、生成 SAS URI 以下载数据,或将快照复制到其他Azure区域进行区域灾难恢复。 创建快照后,Azure 会自动启动后台数据复制过程,将数据从源磁盘复制到快照。
可以从高级 SSD、标准 SSD 和标准 HDD 快照创建的磁盘立即附加到正在运行的虚拟机。 在创建磁盘期间,Azure 会自动启动后台数据复制,以便利用快照数据填充磁盘。 在此过程中,磁盘可能会遇到临时性能下降,直到后台数据复制完成。 若要降低性能影响,可以在高级存储上创建完整快照,并从该快照还原磁盘。
超级磁盘和高级 SSD v2 的快照
创建超级磁盘或高级 SSD v2 磁盘的快照时,Azure将数据从源磁盘复制到后台的快照。 默认情况下,这些快照不是即时访问,因此必须先等待后台数据复制完成,然后才能使用快照。 若要在后台数据复制完成之前从这些磁盘类型的快照创建磁盘,请在创建快照时为 InstantAccessDurationMins 参数指定值来配置即时访问。 通过即时访问快照创建的磁盘可快速完成数据填充,对性能影响极小,并且可以立即附加到正在运行的虚拟机。
在经过指定的 InstantAccessDurationMins 时间后,快照会自动离开 InstantAccess 状态。 如果后台数据复制仍在进行中,则必须等待其完成后才能使用快照。 通过 SnapshotAccessState 属性监视快照的状态。
在后台数据复制完成之前, InstantAccess 状态中的快照取决于源磁盘的可用性,并且不会针对磁盘故障提供保护。 可以通过检查 SnapshotAccessState 属性来监视快照的后台数据复制进度。
局限性
- 只能使用超级磁盘和高级 SSD v2 磁盘的即时访问快照来创建超级磁盘和高级 SSD v2 磁盘
-
InstantAccessDurationMins必须介于 60 到 300 分钟之间 - 即时访问快照计入 Ultra 磁盘和高级 SSD v2 每个磁盘最多 3 个正在进行的快照限制。
- 最多可以从单个磁盘的所有即时访问快照同时创建 15 个磁盘
- 您不能使用即时访问快照来创建大于快照大小的 Ultra Disk 或高级 SSD v2。
- 如果 Ultra Disk 或 Premium SSD v2 磁盘正在从快照中填充数据,则无法为该磁盘创建即时访问型快照。
- 检查磁盘的
CompletionPercent属性,如果小于 100,则当前正在进行水合处理。
- 检查磁盘的
- 无法跨区域复制超级磁盘或高级 SSD v2 的即时访问快照,在后台数据复制完成之前,无法下载基础数据
- 检查快照上的
CompletionPercent属性,当属性达到100时,可以跨区域复制快照,并且可以下载基础数据。
- 检查快照上的
- 在磁盘数据填充期间,无法更新从即时访问快照创建的磁盘的加密属性。 也不能更新当前具有活动即时访问快照的超级磁盘和高级 SSD v2 磁盘的加密设置。
- 跨容错域附加超级磁盘和高级 SSD v2 磁盘(方法是使用可用性集中的 VM 或虚拟机规模集)会触发后台数据复制,并导致在后台数据复制期间无法创建即时访问快照。
- 无法跨容错域挂载具有活动即时访问快照的超级磁盘和 Premium SSD v2 磁盘。
- 若要从超级磁盘创建即时访问快照,必须从新预配的超级磁盘创建快照。
区域可用性
中国北部 3 目前支持即时访问快照功能。
超级磁盘和高级 SSD v2 即时访问快照的计费
即时访问快照采用一种基于使用量的计费模型,包括两个组成部分:存储费用和一次性恢复费用。
- 存储费用:您只需为即时访问快照在其活动期间消耗的额外存储支付费用。 首次创建快照时,它以零额外成本开始,因为它参考源磁盘作为其基础。 当源磁盘上的数据随时间变化或删除时,快照会保留原始时间点状态,并且其使用的大小会相应地增加。 这意味着您只需为即刻访问快照中的增量变化付费,而不是为整个磁盘的完整副本付费。
- 还原费用:每次从即时访问快照还原磁盘时,都会收取一次性还原作费用。 此费用是根据恢复时磁盘的预配大小计算的,确保恢复操作的计费是可预测的。
有关详细信息,请参阅托管磁盘定价。
创建即时访问快照
Ultra 磁盘和高级 SSD v2 磁盘的即时访问快照并不是一种需要单独管理的快照资源类别。 它们是增量快照,会在指定时长内暂时进入 InstantAccess 状态。 此持续时间结束后,快照将自动退出 InstantAccess 状态。
若要创建超级磁盘和高级 SSD v2 磁盘的即时访问快照,请使用相同的快照 API 和命令,但添加一个参数,指定快照在 InstantAccess 状态下停留的时间。 在指定持续时间结束后,快照将退出 InstantAccess 状态。 可以通过 检查快照的访问状态来监视快照。
在开始之前,请标识订阅、资源组、源磁盘、位置和快照名称。 源磁盘必须是超级磁盘或高级 SSD v2 磁盘。 设置从 60 到 300 分钟的即时访问持续时间。 以下示例使用 300 分钟。
在 Azure 门户中,无法指定持续时间,因此通过门户创建的快照将保持即时访问快照 300 分钟(5 小时)。
使用 --incremental true、az snapshot create 和 --ia-duration 参数创建即时访问快照。
# Declare variables
subscriptionId="yourSubscriptionId"
diskName="yourDiskName"
resourceGroupName="yourResourceGroupName"
snapshotName="desiredInstantAccessSnapshotName"
# Set Subscription Id
az account set --subscription $subscriptionId
# Get the disk you need to create an instant access snapshot
yourDiskID=$(az disk show -n $diskName -g $resourceGroupName --query "id" --output tsv)
# Create an instant access snapshot
az snapshot create -g $resourceGroupName -n $snapshotName --source $yourDiskID --incremental true --location chinanorth3 --sku Standard_ZRS --ia-duration 300
检查快照访问状态
可以使用快照资源的 SnapshotAccessState 属性来监视 Azure 托管磁盘快照。 此属性指示快照的当前访问状态及其操作准备情况。
| 状态 | Description | 适用对象 |
|---|---|---|
| 待处理 | 此快照不能用于创建新磁盘、下载数据或复制到其他区域。 | 后台数据复制期间的 Ultra Disk 和 Premium SSD v2 磁盘增量快照;正在跨区域复制的快照。 |
| 在线 | 此快照可用于创建新磁盘(性能影响)、下载数据或复制到其他区域。 | 高级 SSD、标准 SSD 和标准 HDD 快照;后台数据复制完成后超级磁盘和高级 SSD v2 磁盘的增量快照;使用浅表复制在同一区域中复制的快照。 |
| InstantAccess | 此快照可用于创建具有最小性能影响的快速冻结磁盘,但无法下载基础数据,并且无法将其复制到另一个区域。 | 在即时访问持续时间尚未结束且后台数据复制仍在进行时,超级磁盘和高级 SSD v2 磁盘的即时访问快照。 |
| 可用即时访问 | 此快照可用于创建具有最小性能影响的快速冻结磁盘,可以下载基础数据,并且可以将其复制到另一个区域。 | 即时访问持续时间尚未到期且后台数据复制已完成时,超级磁盘和高级 SSD v2 磁盘的即时访问快照。 |
snapshotName="DesiredInstantAccessSnapshotTestName"
resourceGroupName="yourResourceGroupName"
snapshotId=$(az snapshot show --name $snapshotName --resource-group $resourceGroupName --query [id] -o tsv)
az resource show --ids $snapshotId --query "properties.snapshotAccessState" --output tsv
az resource show --ids $snapshotId --query "properties.creationData.instantAccessDurationMinutes" --output tsv