本文档介绍了如何管理一致性组。一致性组是一种资源政策,用于在同一区域或可用区内的多个磁盘之间校准复制。
如需详细了解一致性组,请参阅永久性磁盘异步复制简介。
限制
- 单租户节点中的磁盘不支持一致性组。
- 一致性组最多可包含 128 个磁盘。
- 一致性组中的所有磁盘必须与一致性组资源政策位于同一项目中。
- 一致性组中的所有磁盘必须位于同一可用区(对于可用区级磁盘)或同一可用区对(对于区域级磁盘)。
- 一致性组可以包含主磁盘或辅助磁盘,但不能同时包含两者。
- 当磁盘正在复制时,您不能在一致性组中添加主磁盘或从中移除主磁盘。如果您要将主磁盘添加到一致性组或从一致性组中移除主磁盘,则必须先停止复制。您可以随时在一致性组中添加辅助磁盘或从中移除辅助磁盘。
- 您最多可以将属于不同一致性组的 16 个磁盘或不属于一致性组的 16 个磁盘挂接到一个虚拟机。同一个一致性组中的磁盘计为 16 个磁盘上限的一个磁盘。
准备工作
-
设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 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 控制台中,转到异步复制页面。
点击一致性组标签页。
点击创建一致性组。
在名称字段中,输入一致性组的名称。
在区域字段中,选择磁盘所在的区域。如果您要将主磁盘添加到一致性组,请选择主区域。如果您要将辅助磁盘添加到一致性组,请选择辅助区域。
点击创建。
CONSISTENCY_GROUP_NAME
:一致性组的名称。REGION
:一致性组所在的区域。如果您要将主磁盘添加到一致性组,请使用主区域。如果要将辅助磁盘添加到一致性组,请使用辅助区域。PROJECT
:包含一致性组的项目。REGION
:一致性组所在的区域。如果要将主磁盘添加到一致性组,请使用主磁盘所在的区域。如果您要将辅助磁盘添加到一致性组,请使用辅助磁盘所在的区域。CONSISTENCY_GROUP_NAME
:一致性组的名称。在 Google Cloud 控制台中,转到异步复制页面。
点击一致性组标签页。
点击您要查看其磁盘的一致性组的名称。系统随即会打开管理一致性组页面。
查看一致性组成员部分,以查看一致性组中包含的所有磁盘。
LOCATION_FLAG
:一致性组中的磁盘位置标志。如果一致性组中的磁盘是区域级磁盘,请使用--region
。如果一致性组中的磁盘是可用区级磁盘,请使用--zone
。LOCATION
:一致性组中的磁盘所在的区域或可用区。对于区域级磁盘,请使用区域。对于可用区磁盘,请使用可用区。CONSISTENCY_GROUP_NAME
:一致性组的名称。使用
disks.get
方法查看一致性组中的可用区级磁盘:GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/disks?filter=resourcePolicies%3DCONSISTENCY_GROUP_NAME
使用
regionDisks.get
方法查看一致性组中的区域级磁盘:GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/disks?filter=resourcePolicies%3DCONSISTENCY_GROUP_NAME
PROJECT
:包含一致性组的项目ZONE
:一致性组中的磁盘所在的可用区REGION
:一致性组中的磁盘所在的区域CONSISTENCY_GROUP_NAME
:一致性组的名称在 Google Cloud 控制台中,转到异步复制页面。
点击一致性组标签页。
点击您要将磁盘添加到的一致性组的名称。系统随即会打开管理一致性组页面。
点击分配磁盘。系统会打开分配磁盘页面。
选择您要添加到一致性组的磁盘。
点击分配磁盘。出现提示时,点击添加。
DISK_NAME
:要添加到一致性组的磁盘的名称。LOCATION_FLAG
:磁盘的位置标志。对于区域级磁盘,请使用--region
。对于可用区级磁盘,请使用--zone
。LOCATION
:磁盘所在的区域或可用区。对于区域级磁盘,请使用区域。对于可用区磁盘,请使用可用区。CONSISTENCY_GROUP
:一致性组的网址。例如projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
。使用
disks.addResourcePolicies
方法将可用区级磁盘添加到一致性组:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/DISK_NAME/addResourcePolicies { "resourcePolicies": "CONSISTENCY_GROUP" }
使用
regionDisks.addResourcePolicies
方法将区域级磁盘添加到一致性组:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/disks/DISK_NAME/addResourcePolicies { "resourcePolicies": "CONSISTENCY_GROUP" }
PROJECT
:包含磁盘的项目。LOCATION
:磁盘的可用区或区域。对于可用区磁盘,请使用可用区。对于区域级磁盘,请使用区域。DISK_NAME
:要添加到一致性组的磁盘的名称。CONSISTENCY_GROUP
:一致性组的网址。例如projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
。在 Google Cloud 控制台中,转到异步复制页面。
点击一致性组标签页。
点击您要将磁盘添加到的一致性组的名称。系统随即会打开管理一致性组页面。
选择您要从一致性组中移除的磁盘。
点击移除磁盘。出现提示时,点击移除。
DISK_NAME
:要从一致性组中移除的磁盘的名称。LOCATION_FLAG
:磁盘的位置标志。对于区域级磁盘,请使用--region
。对于可用区级磁盘,请使用--zone
。LOCATION
:磁盘所在的区域或可用区。对于区域级磁盘,请使用区域。对于可用区磁盘,请使用可用区。CONSISTENCY_GROUP
:一致性组的网址。例如projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
。从一致性组中移除可用区级磁盘:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/DISK_NAME/removeResourcePolicies { "resourcePolicies": "CONSISTENCY_GROUP" }
从一致性组中移除区域级磁盘:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/disks/DISK_NAME/removeResourcePolicies { "resourcePolicies": "CONSISTENCY_GROUP" }
PROJECT
:包含磁盘的项目。LOCATION
:磁盘的可用区或区域。对于可用区磁盘,请使用可用区。对于区域级磁盘,请使用区域。DISK_NAME
:要从一致性组中移除的磁盘的名称。CONSISTENCY_GROUP
:一致性组的网址。例如projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
。在 Google Cloud 控制台中,转到异步复制页面。
点击一致性组标签页。
选择您要删除的一致性组。
点击删除。系统会打开删除一致性组窗口。
点击删除。
CONSISTENCY_GROUP
:一致性组的名称REGION
:一致性组的区域PROJECT
:包含一致性组的项目REGION
:一致性组的区域CONSISTENCY_GROUP
:一致性组的名称- 了解如何管理使用永久性磁盘异步复制功能的磁盘。
- 了解如何进行故障切换和故障恢复。
- 了解如何监控永久性磁盘异步复制性能。
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 resource-policies create disk-consistency-group
命令创建一致性组:gcloud compute resource-policies create disk-consistency-group CONSISTENCY_GROUP_NAME \ --region=REGION
请替换以下内容:
REST
使用
resourcePolicies.insert
方法创建一致性组:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies { "name": "CONSISTENCY_GROUP_NAME", "diskConsistencyGroupPolicy": { } }
请替换以下内容:
查看一致性组中的磁盘
使用 Google Cloud 控制台、Google Cloud CLI 或 REST 查看一致性组中的磁盘。
控制台
通过执行以下操作查看一致性组中包含的磁盘:
gcloud
使用
gcloud compute disks list
命令查看一致性组中包含的磁盘:gcloud compute disks list \ --LOCATION_FLAG=LOCATION \ --filter=resourcePolicies=CONSISTENCY_GROUP_NAME
请替换以下内容:
REST
使用以下方法之一通过查询过滤条件查看一致性组中的磁盘:
请替换以下内容:
向一致性组添加磁盘
如果您要将主磁盘添加到一致性组,则必须先将磁盘添加到一致性组,然后才能开始复制。您可以随时将辅助磁盘添加到一致性组。一致性组中的所有磁盘必须位于同一可用区(对于可用区级磁盘)或同一可用区对(对于区域级磁盘)。
使用 Google Cloud 控制台、Google Cloud CLI 或 REST 将磁盘添加到一致性组。
控制台
通过执行以下操作将磁盘添加到一致性组:
gcloud
使用
gcloud compute disks add-resource-policies
命令将磁盘添加到一致性组:gcloud compute disks add-resource-policies DISK_NAME \ --LOCATION_FLAG=LOCATION \ --resource-policies=CONSISTENCY_GROUP
请替换以下内容:
REST
使用以下方法之一将磁盘添加到一致性组:
请替换以下内容:
从一致性组中移除磁盘
在从一致性组中移除磁盘之前,必须停止磁盘复制。
使用 Google Cloud 控制台、Google Cloud CLI 或 REST 从一致性组中移除磁盘。
控制台
通过执行以下操作从一致性组中移除主磁盘:
gcloud
使用
gcloud compute disks remove-resource-policies
命令从一致性组中移除磁盘:gcloud compute disks remove-resource-policies DISK_NAME \ --LOCATION_FLAG=LOCATION \ --resource-policies=CONSISTENCY_GROUP
请替换以下内容:
REST
使用
disks.removeResourcePolicies
方法(对于可用区磁盘)或regionDisks.removeResourcePolicies
方法(对于区域)从一致性组中移除磁盘。请替换以下内容:
删除一致性组
使用 Google Cloud 控制台、Google Cloud CLI 或 REST 删除一致性组。
控制台
通过执行以下操作删除一致性:
gcloud
使用
gcloud compute resource-policies delete
命令删除资源政策:gcloud compute resource-policies delete CONSISTENCY_GROUP \ --region=REGION
请替换以下内容:
REST
使用
resourcePolicies.delete
方法删除一致性:DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
请替换以下内容:
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-12-24。
-