将增量快照复制到新区域

可通过两种方法跨区域复制增量快照。 建议的选项是托管副本,Azure为你执行该副本。 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

使用Azure CLI检查快照复制状态

您可以通过检查 CompletionPercent 属性来查看目标快照的状态。 以下命令检查指定的 $targetSnapshotName目标快照。 属性值必须为 100,才能使用快照还原磁盘或生成 SAS URI 来下载基础数据。

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

手动复制

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

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

后续步骤

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

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