更改双区域仲裁

本页介绍如何检查 Spanner 的健康状况 双区域仲裁,以及如何在服务期间手动更改仲裁 造成干扰。

如需详细了解双区域,请参阅 Spanner 双区域实例配置

检查双区域仲裁状态

您可以通过以下方式检查双区域仲裁的状态。

  • 数据库概览页面上
  • 使用系统数据分析信息中心

在数据库概览页面上

  1. 前往 Google Cloud 控制台中的 Spanner 实例页面。

    转到“实例”页面

  2. 点击采用双区域配置的实例的名称。

  3. 点击数据库的名称。

  4. 在“Overview”(概览)下,查找 Quorum 行,该行显示了双区域 仲裁状态:

    • 如果两个区域均达成仲裁,状态会显示为双区域

    • 如果执行了手动或 Google 管理的故障切换,您会看到 服务区域的名称(例如 asia-south1)。

系统数据分析信息中心

创建双区域配置后,您可以查看 双区域仲裁可用性 指标。

如需了解详情,请参阅查看系统数据分析信息中心

将双区域仲裁从双区域更改为单区域(故障切换)

在发生区域级中断或网络分区时手动进行故障切换 问题:

Google Cloud 控制台

  1. 前往 Google Cloud 控制台中的 Spanner 实例页面。

    转到“实例”页面

  2. 点击采用双区域配置的实例的名称。

  3. 点击导航菜单中的系统数据分析

  4. 找到双区域仲裁可用性指标。

  5. 如果双区域仲裁可用性指标显示中断 在区域中,点击 “激活 Cloud Shell”按钮图标 在 Google Cloud 控制台顶部激活 Cloud Shell

    Cloud Shell 随即会打开。

  6. 如需将双区域仲裁从双区域更改为单区域,请按以下步骤操作: 在 gcloud CLI 标签页中输入以下命令: gcloud spanner databases change-quorum.如需详细说明 请参阅 gcloud 标签页。

gcloud CLI

使用 gcloud spanner databases change-quorum 命令将双区域仲裁从双区域更改为单区域。

gcloud spanner databases change-quorum
    DATABASE_ID --instance=INSTANCE_ID
    --single-region --serving-location=SERVING_LOCATION
    [--etag=ETAG]

替换以下内容:

  • DATABASE_ID: 数据库。

  • INSTANCE_ID:实例的永久性标识符。

  • SERVING_LOCATION:区域级实例 您要进行故障切换的配置。例如,如果 asia-south1 (孟买)的健康状况不佳,您希望故障切换到 asia-south2(德里), 输入 asia-south2。确保 SERVING_LOCATION 健康状况良好 区域。选择错误的区域进行故障切换会导致数据库 unavailability,这在区域恢复在线之前不可恢复。

可选标志:

  • --etag=ETAGETAG 参数可用于防范重放攻击。

要检查仲裁更改操作的状态,请运行 gcloud spanner databases describe 命令。quorumInfo 字段提供有关操作的信息。

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

将双区域仲裁从单区域更改为双区域(故障恢复)

在中断的区域运行状况良好或连接到网络后手动进行故障恢复 分区问题已解决:

Google Cloud 控制台

  1. 前往 Google Cloud 控制台中的 Spanner 实例页面。

    转到“实例”页面

  2. 点击采用双区域配置的实例的名称。

  3. 点击导航菜单中的系统数据分析

  4. 找到双区域仲裁可用性指标。

  5. 在双区域仲裁可用性指标上,点击更改区域仲裁

    Cloud Shell 随即会打开。

  6. 如需将双区域仲裁从双区域更改为单区域,请按以下步骤操作: 在 gcloud CLI 标签页中输入以下命令: gcloud spanner databases change-quorum.如需详细说明 请参阅 gcloud 标签页。

gcloud CLI

使用 gcloud spanner databases change-quorum 命令将双区域仲裁从单区域更改为双区域。

gcloud spanner databases change-quorum
    DATABASE_ID --instance=INSTANCE_ID
    --dual-region
    [--etag=ETAG]

替换以下内容:

  • DATABASE_ID: 数据库。

  • INSTANCE_ID:实例的永久性标识符。

可选标志:

  • --etag=ETAGETAG 参数可用于乐观并发控制。

要检查仲裁更改操作的状态,请运行 gcloud spanner databases describe 命令。quorumInfo 字段提供有关操作的信息。

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

后续步骤