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

Azure 托管磁盘的即时访问快照

Azure 托管磁盘快照提供磁盘的时间点备份,这些磁盘可在软件升级、灾难恢复或创建新环境期间用作备份。 从 Azure 托管磁盘创建快照时,Azure 会自动将数据从磁盘复制到后台的快照。

默认情况下,高级 SSD、标准 SSD 和标准 HDD 的快照是即时访问。 创建后,这些快照可用于还原新磁盘、下载基础数据以及复制到其他 Azure 区域。

默认情况下,Ultra 磁盘和高级 SSD v2 的快照无法立即使用,必须先完成后台数据复制才能使用。 若要创建即时访问快照,可以选择在创建快照时使用现有快照 API 启用即时访问。

高级 SSD、标准 SSD 和标准 HDD 的快照

默认情况下,高级 SSD、标准 SSD 和标准 HDD 的快照是即时访问。 创建快照后,可以立即使用这些快照创建任何受支持的磁盘类型的新磁盘、生成 SAS URI 以下载数据,或将快照复制到其他 Azure 区域进行区域灾难恢复。 创建快照后,Azure 会自动启动后台数据复制过程,将数据从源磁盘复制到快照。

可以从高级 SSD、标准 SSD 和标准 HDD 快照创建的磁盘立即附加到正在运行的虚拟机。 在创建磁盘期间,Azure 会自动启动后台数据复制,以便利用快照数据填充磁盘。 在此过程中,磁盘可能会遇到临时性能下降,直到后台复制完成。 若要降低性能影响,可以在高级存储上创建完整快照,并从该快照还原磁盘。

超级磁盘和高级 SSD v2 的快照

默认情况下,超级磁盘和高级 SSD v2 的快照不是即时访问,只能在快照的后台数据复制完成后使用。 若要绕过此作,可以选择通过在创建快照时在 InstantAccessDurationMins 参数中指定值来配置即时访问。 这将允许你创建即时访问快照,并可以立即用于创建新磁盘。 通过即时访问快照创建的磁盘会快速冻结,对性能影响最小,并可以立即附加到正在运行的 VM。

在经过指定的 InstantAccessDurationMins 时间后,快照会自动转换为标准存储快照,并在后台数据复制完成后使用。 可以通过 SnapshotAccessState 属性来监视快照的状态。

在数据完全复制到标准存储之前,InstantAccess 状态中的快照取决于源磁盘的可用性,并且不会针对磁盘或区域故障提供保护。 为了确保持久性和保护,快照必须完成其后台数据复制。

在数据完全复制到标准存储之前, InstantAccess 状态中的快照取决于源磁盘的可用性,并且不会针对磁盘或区域故障提供保护。 为了确保区域冗余,快照必须完成其到标准 ZRS 的后台数据复制。 可以通过检查 SnapshotAccessState 属性来监视快照的后台数据复制进度。

局限性

  • 只能从 Ultra Disks 或高级 SSD v2 的即时访问快照创建 Ultra Disks 或高级 SSD v2
  • InstantAccessDurationMins 必须介于 60 到 300 分钟之间
  • 即时访问快照会计入超级磁盘和高级 SSD v2 每个磁盘最多三个正在进行的快照的限制
  • 最多可以从单个磁盘的所有即时访问快照同时创建 15 个磁盘
  • 不能使用即时访问快照创建大于快照大小的超级磁盘或高级 SSD v2
  • 如果超级磁盘或高级 SSD v2 正从快照进行补全,则无法为该磁盘创建即时访问快照
    • 请检查磁盘的 CompletionPercent 属性,如果其值低于 100,则表示当前正在进行数据填充过程
  • 无法跨区域复制超级磁盘或高级 SSD v2 的即时访问快照,在后台数据复制完成之前,无法下载基础数据
    • 检查快照上的CompletionPercent属性,当属性达到100时,可以跨区域复制快照,并且可以下载基础数据。
  • 在磁盘冻结期间无法更新从即时访问快照创建的磁盘的加密属性,并且无法更新当前具有活动即时访问快照的超级磁盘和高级 SSD v2 的加密设置
  • 跨故障域(使用可用性集中的 VM 或虚拟机规模集)附加超级磁盘和高级 SSD v2 会触发后台数据复制,并导致你无法在后台数据复制期间创建即时访问快照。
  • 具有处于活动状态的即时访问快照的超级磁盘和高级 SSD v2 无法跨故障域附加
  • 若要从超级磁盘创建即时访问快照,必须从新预配的超级磁盘创建快照。
  • 从即时访问快照创建的磁盘的最大读取延迟改进目前在德国中西部、东亚、东南亚、印度中部和瑞典中部可用。

区域可用性

目前所有公共区域都支持即时访问快照。

超级磁盘和高级 SSD v2 磁盘的即时访问快照计费

即时访问快照采用一种基于使用量的计费模型,包括两个组成部分:存储费用和一次性恢复费用。

  • 存储费用:你只需为即时访问快照在其有效生命周期内消耗的额外存储付费。 首次创建快照时,它以零额外成本开始,因为它参考源磁盘作为其基础。 当源磁盘上的数据随时间变化或删除时,快照会保留原始时间点状态,并且其使用的大小会相应地增加。 这意味着您只需为即刻访问快照中的增量变化付费,而不是为整个磁盘的完整副本付费。
  • 还原费用:每次从即时访问快照还原磁盘时,都会收取一次性还原作费用。 此费用是根据恢复时磁盘的预配大小计算的,确保恢复操作的计费是可预测的。

在此处了解有关即时访问快照计费的详细信息。

创建即时访问快照

Ultra Disk 和 Premium SSD v2 的即时访问快照不是需要单独管理的快照资源类别。 它们是增量快照,可以在指定的持续时间内临时进入即时访问状态。 当此持续时间到期时,快照会自动从即时访问状态转换出来,并继续作为标准 ZRS 快照,以提高可靠性和长期保留。

若要创建超级磁盘和高级 SSD v2 的即时访问快照,请使用相同的快照 API 和命令,但添加一个附加参数,该参数指定快照保持即时访问状态的时长(最小 60 分钟,最大为 300 分钟)。 指定持续时间到期后,快照会自动转换为标准存储快照。 可以通过 检查快照的访问状态来监视快照的状态。

在 Azure 门户中,无法指定持续时间,因此通过门户创建的快照将保持即时访问快照 300 分钟(5 小时)。

# 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 eastus  --sku Standard_ZRS --ia-duration 300 

检查快照访问状态

可以使用快照资源的 SnapshotAccessState 属性监视托管磁盘快照在不同状态下的情况。 此属性指示快照的当前访问状态,帮助您了解其操作的准备就绪状态。 以下是状态及其含义:

说明 适用对象
待处理 此快照不能用于创建新磁盘、下载数据或复制到其他区域。 在后台数据复制过程中来自超级磁盘和高级 SSD v2 磁盘的增量快照;正在跨区域复制的快照。
可用 此快照可用于创建新磁盘(性能影响)、下载数据或复制到其他区域。 高级 SSD、标准 SSD 和标准 HDD 的快照;后台复制完成后,Ultra Disks 和高级 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