提升副本以实现区域性迁移或灾难恢复

本页面介绍了如何使用跨区域副本提升副本以实现区域性迁移或灾难恢复。

概览

需要提升副本的两种常见场景包括区域性迁移和灾难恢复。这两种场景都需要设置跨区域复制功能,然后提升副本。它们之间的主要区别在于副本是:

  • 计划内提升(旨在支持数据库的计划内迁移)还是
  • 计划外提升(在这种情况下,主实例会变得不可用)。

确定转换条件

如果主实例已停止,您可以在监控信息中心中检查复制延迟时间,确定其是否满足您的转换条件。

检查 Lag Bytes 的值。如果主实例所在区域发生区域性服务中断,系统会针对主实例报告 Lag Bytes

提升读取副本

确定满足转换条件后,您就可以将其中一个副本提升为可写的独立实例。请考虑以下场景:

  • 区域 A (us-central1) 具有一个高可用性主实例 (db-a-0)
  • 区域 B (us-west1) 具有其他区域中的一个副本 (db-b-1)
  • 区域 C (us-east1) 也具有其他区域中的一个副本 (db-c-1)

您可以选择将区域 B 中的 db-b-1 副本提升为独立的可写实例。

如需了解详细说明,请参阅提升副本

为已提升的实例启用高可用性

读取副本在提升时不会自动配置为 High Availability (HA) 实例。您可以在提升此类副本后启用高可用性,就像处理任何非副本实例一样。如需了解详情,请参阅启用和停用高可用性

重新创建额外的副本

将某一副本提升为主实例后,如果您要替换该副本,则需要创建一个新副本。例如,请考虑上文中提到的配置,下面再重复一遍:

  • 区域 A (us-central1) 具有一个高可用性主实例 (db-a-0)
  • 区域 B (us-west1) 具有其他区域中的一个副本 (db-b-1)
  • 区域 C (us-east1) 也具有其他区域中的一个副本 (db-c-1)

如果主实例 (db-a-0) 不再可用,您可以将区域 B 中的副本提升为主实例。如需再次向区域 A 和 C 中添加额外的副本,请删除旧实例(A 中之前的主实例和 C 中的副本),然后根据 B 中的新主实例创建新的读取副本

生成的配置将如下所示:

  • 区域 A (us-central1) 现在具有一个副本 (db-a-1)
  • 区域 B (us-west1) 现在具有主实例 (db-b-1)
  • 区域 C (us-east1) 现在具有一个新副本 (db-c-2)