将增量快照复制到新区域

可通过两种方法跨区域复制增量快照。 第一种方法是使用一个托管流程(推荐使用),它将为你执行复制。 此过程由Azure处理,并通过在目标区域中暂存存储帐户来消除管理复制过程的维护开销。 Azure可确保仅将自目标区域中上一个快照以来的更改复制到目标区域,以减少数据占用,从而降低恢复点目标。 你可以检查复制进度,以便了解目标快照何时准备就绪,可用来还原磁盘。 对于此托管流程,你只需为跨区域传输数据的带宽成本和源快照上的读取事务付费。 复制目标快照时,请勿删除源快照。

第二种方法是手动复制,你可获取两个增量快照之间的更改(细化到块级别),并手动将其从一个区域复制到另一个区域。 大多数用户应当使用托管流程,但如果你希望提高复制速度,第二种方法允许你使用计算资源来加快复制速度。

本文介绍如何将增量快照从一个区域复制到另一个区域。 有关增量快照的概念详细信息,请参阅为托管磁盘创建增量快照

Azure 通过克隆选项协调跨区域复制增量快照的图表。

限制

  • 你可以在每个区域的每个订阅中同时并行复制 100 个增量快照。
  • 如果使用 REST API,则必须使用版本 2020-12-01 或更高版本的 Azure 计算 REST API。
  • 一次只能复制特定磁盘的一个增量快照。
  • 必须按创建快照的顺序复制快照。
  • 只有增量快照才可以跨区域复制。 完整快照无法跨区域复制。

受控复制

可以使用Azure CLI复制增量快照。 需要最新版本的Azure CLI。 请参阅以下文章,了解如何安装更新Azure CLI。

以下脚本会将增量快照从一个区域复制到另一个区域:

subscriptionId=<yourSubscriptionID>
resourceGroupName=<yourResourceGroupName>
targetSnapshotName=<name>
sourceSnapshotName=<name>
targetRegion=<validRegion>

sourceSnapshotId=$(az snapshot show -n $sourceSnapshotName -g $resourceGroupName --query [id] -o tsv)

az snapshot create -g $resourceGroupName -n $targetSnapshotName -l $targetRegion --source $sourceSnapshotId --incremental --copy-start

检查复制状态

可以通过检查 CompletionPercent 属性来检查单个快照的状态。 将 $sourceSnapshotName 替换为你的快照名称,然后运行以下命令。 属性值必须为 100,才能使用快照还原磁盘或生成 SAS URI 来下载基础数据。

az snapshot show -n $sourceSnapshotName -g $resourceGroupName --query [completionPercent] -o tsv

手动复制

增量快照提供差异化功能。 它们可以让你获取同一托管磁盘的两个增量快照之间的差异,直至块级别。 在跨区域复制快照时,可以使用此功能来减少数据占用空间。 例如,可以将第一个增量快照下载到另一个区域作为基础 Blob。 对于后续增量快照,只需要将自上次快照以来的更改复制到基本 Blob 中。 复制更改后,您可以在基础 Blob 上创建快照,该快照代表磁盘在其他区域的时间点备份。 可以从基本 Blob 或从其他区域的基本 Blob 上的快照中还原磁盘。

展示以增量方式跨区域复制快照的图表。快照触发多种 API 调用,从而为每个快照形成页 blob。

后续步骤

如果您想查看使用 .NET 演示增量快照差异功能的示例代码,请参阅“将 Azure 托管磁盘备份复制到另一个具有增量快照差异功能的区域”。

如果对快照有疑问,请参阅常见问题解答的 快照 部分。