本文档介绍如何启动和停止永久性磁盘异步复制。
PD 异步复制非常适合实现低 RPO 和低 RTO 的灾难恢复。如需详细了解异步复制,请参阅永久性磁盘异步复制简介。
限制
- 主磁盘一次只能复制到一个辅助磁盘。
- 复制停止后,您无法恢复到同一磁盘的复制操作。您必须创建新的辅助磁盘并重新开始复制。
- 辅助磁盘在复制过程中无法挂接、删除或截取快照。
- 如果您使用区域磁盘作为辅助磁盘,并且辅助磁盘的其中一个可用区发生服务中断故障,则从主磁盘复制到辅助磁盘的操作将失败。
准备工作
- 如果需要跨多个磁盘校准复制,请创建一致性组。
- 创建主磁盘。
- 创建辅助磁盘。
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
在 Google Cloud 控制台中,前往异步复制页面。
点击您要开始向其复制数据的辅助磁盘的名称。
点击开始复制。此时会打开开始复制窗口。
点击开始复制。
PRIMARY_DISK_NAME
:主磁盘的名称。PRIMARY_LOCATION_FLAG
:主磁盘的位置标志。对于区域级磁盘,请使用--region
。对于可用区级磁盘,请使用--zone
。PRIMARY_LOCATION
:主磁盘的区域或可用区。对于区域级磁盘,请使用区域。对于可用区磁盘,请使用可用区。SECONDARY_DISK_NAME
:辅助磁盘的名称。SECONDARY_LOCATION_FLAG
:辅助磁盘的位置标志。对于区域级磁盘,请使用--secondary-disk-region
。对于可用区级磁盘,请使用--secondary-disk-zone
。SECONDARY_LOCATION
:辅助磁盘的区域或可用区。对于区域级磁盘,请使用区域。对于可用区磁盘,请使用可用区。SECONDARY_PROJECT
:包含辅助磁盘的项目。使用
disks.startAsyncReplication
方法开始复制可用区磁盘:POST https://compute.googleapis.com/compute/v1/projects/PRIMARY_DISK_PROJECT/zones/PRIMARY_LOCATION/disks/PRIMARY_DISK_NAME/startAsyncReplication { "asyncSecondaryDisk": "projects/SECONDARY_DISK_PROJECT/SECONDARY_LOCATION_PARAMETER/SECONDARY_LOCATION/disks/SECONDARY_DISK_NAME" }
使用
regionDisks.startAsyncReplication
方法开始复制区域级磁盘:POST https://compute.googleapis.com/compute/v1/projects/PRIMARY_DISK_PROJECT/regions/PRIMARY_LOCATION/regionDisks/PRIMARY_DISK_NAME/startAsyncReplication { "asyncSecondaryDisk": "projects/SECONDARY_DISK_PROJECT/SECONDARY_LOCATION_PARAMETER/SECONDARY_LOCATION/disks/SECONDARY_DISK_NAME" }
PRIMARY_DISK_PROJECT
:包含主磁盘的项目。PRIMARY_LOCATION
:主磁盘的区域或可用区。对于区域级磁盘,请使用区域。对于可用区磁盘,请使用可用区。PRIMARY_DISK_NAME
:主磁盘的名称。SECONDARY_DISK_PROJECT
:包含辅助磁盘的项目。SECONDARY_LOCATION_PARAMETER
:辅助磁盘的位置参数。对于区域级磁盘,请使用regions
。对于可用区级磁盘,请使用zones
。SECONDARY_LOCATION
:辅助磁盘的区域或可用区。对于区域级磁盘,请使用区域。对于可用区磁盘,请使用可用区。SECONDARY_DISK_NAME
:辅助磁盘的名称。在 Google Cloud 控制台中,前往异步复制页面。
点击要停止复制的主磁盘或辅助磁盘的名称。系统随即会打开管理磁盘页面。
点击终止复制。系统会打开终止复制窗口。
点击终止复制。
DISK_NAME
:磁盘的名称。LOCATION_FLAG
:磁盘的位置标志。对于区域级磁盘,请使用--region
。对于可用区级磁盘,请使用--zone
。LOCATION
:磁盘的区域或可用区。对于区域级磁盘,请使用区域。对于可用区磁盘,请使用可用区。使用
disks.stopAsyncReplication
方法停止复制可用区级磁盘:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/DISK_NAME/stopAsyncReplication { }
使用
regionDisks.stopAsyncReplication
方法停止复制区域级磁盘:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/regionDisks/DISK_NAME/stopAsyncReplication { }
PROJECT
:包含磁盘的项目。DISK_NAME
:磁盘的名称。LOCATION
:磁盘的可用区或区域。对于可用区磁盘,请使用可用区。对于区域级磁盘,请使用区域。在 Google Cloud 控制台中,前往异步复制页面。
点击一致性组标签页。
点击您要停止复制的一致性组的名称。系统随即会打开管理一致性组页面。
点击终止复制。系统会打开终止复制窗口。
点击终止复制。
CONSISTENCY_GROUP
:一致性组的网址。例如projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
。LOCATION_FLAG
:一致性组中的磁盘位置标志。对于区域级磁盘,请使用--region
。对于可用区级磁盘,请使用--zone
。LOCATION
:磁盘的区域或可用区。对于区域级磁盘,请使用区域。对于可用区磁盘,请使用可用区。使用
disks.stopGroupAsyncReplication
方法停止复制可用区级磁盘:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/stopGroupAsyncReplication { "resourcePolicy": "CONSISTENCY_GROUP" }
使用
regionDisks.stopGroupAsyncReplication
方法停止复制区域级磁盘:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/regionDisks/DISK_NAME/stopAsyncReplication { "resourcePolicy": "CONSISTENCY_GROUP" }
DISK_NAME
:磁盘的名称LOCATION
:磁盘的可用区或区域。对于可用区磁盘,请使用可用区。对于区域级磁盘,请使用区域。CONSISTENCY_GROUP
:一致性组的网址。例如projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
。- 了解如何进行故障切换和故障恢复。
- 了解如何监控永久性磁盘异步复制性能。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
开始复制
使用 Google Cloud 控制台、Google Cloud CLI 或 REST 开始复制。
控制台
gcloud
使用
gcloud compute disks start-async-replication
命令启动复制:gcloud compute disks start-async-replication PRIMARY_DISK_NAME \ --PRIMARY_LOCATION_FLAG=PRIMARY_LOCATION \ --secondary-disk=SECONDARY_DISK_NAME \ --SECONDARY_LOCATION_FLAG=SECONDARY_LOCATION \ --secondary-disk-project=SECONDARY_PROJECT
请替换以下内容:
REST
使用以下方法之一开始复制:
请替换以下内容:
停止复制
您可以停止复制单个主磁盘或辅助磁盘,也可以停止复制一致性组中的所有磁盘。如果您停止复制一致性组中的单个磁盘,则该磁盘的复制时间将与一致性组中的其他磁盘不同步。
在故障切换和故障恢复场景中执行停止复制。如果您停止复制,则无法重新开始复制到同一辅助磁盘。如果想要重新开始复制,您必须创建一个新的辅助磁盘并重新开始复制。
停止复制磁盘时,磁盘的复制状态会更改为
STOPPED
。磁盘的复制对中另一个磁盘(相应的主磁盘或辅助磁盘)的复制状态稍后会更新为STOPPED
。如果要避免时间间隔并将另一个磁盘的复制状态立即更新为STOPPED
,则还必须手动停止另一个磁盘的复制。在两个磁盘上停止复制不会影响复制停止的时间,而只会影响磁盘的复制状态。停止单个磁盘的复制
使用 Google Cloud 控制台、Google Cloud CLI 或 REST 停止单个磁盘的复制。
控制台
通过执行以下操作停止复制:
gcloud
使用
gcloud compute disks stop-async-replication
命令停止复制:gcloud compute disks stop-async-replication DISK_NAME \ --LOCATION_FLAG=LOCATION
请替换以下内容:
REST
使用以下方法之一停止复制:
请替换以下内容:
停止一致性组复制
使用 Google Cloud 控制台、Google Cloud CLI 或 REST 停止一致性组中所有磁盘的复制。
控制台
如需停止一致性组中所有磁盘的复制操作,请执行以下操作:
gcloud
使用
gcloud compute disks stop-group-async-replication
命令停止一致性组中所有磁盘的复制操作:gcloud compute disks stop-group-async-replication CONSISTENCY_GROUP \ --LOCATION_FLAG=LOCATION
请替换以下内容:
REST
使用以下方法之一停止一致性组中的所有磁盘的复制:
请替换以下内容:
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-10-04。
-