测试主实例的高可用性

AlloyDB for PostgreSQL 提供区域级和可用区级实例类型。为了帮助确保高可用性 (HA),每个区域级 AlloyDB 主实例都有一个活跃节点和一个备用节点,这两个节点位于两个不同的可用区中。如果活跃节点因任何原因变得不可用,AlloyDB 会自动将备用节点提升为新的活跃节点。

您可以使用故障注入来突然强制主实例的活跃节点离线,从而测试此自动高可用性功能。然后,AlloyDB 会启动紧急高可用性过程,该过程会检查主实例的运行状况,然后将备用节点重新分配为活跃节点角色。

故障注入还会启动一个长时间运行的操作,该操作会在短暂间隔后使之前的活跃节点恢复在线状态。该节点会成为主实例的新备用节点。

如需了解更快地交换主实例节点活跃和备用角色的方法,请参阅手动对主实例执行故障切换

准备工作

  • 您使用的 Google Cloud 项目必须已启用才能访问 AlloyDB
  • 您必须在所使用的 Google Cloud 项目中拥有以下 IAM 角色之一:
    • roles/alloydb.admin(AlloyDB Admin 预定义 IAM 角色)
    • roles/owner(Owner 基本 IAM 角色)
    • roles/editor(Editor 基本 IAM 角色)

    如果您不拥有上述任何角色,请与组织管理员联系以申请访问权限。

通过故障注入模拟中断

如需通过突然关闭主实例的活跃节点来测试其高可用性弹性,请使用 gcloud alloydb instances inject-fault 命令。 长时间运行的操作完成后,AlloyDB 会恢复节点。

gcloud alloydb instances inject-fault INSTANCE_ID \
    --fault-type=stop-vm \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID
  • INSTANCE_ID:实例的 ID。
  • REGION_ID:实例所在的区域。
  • CLUSTER_ID:实例所在集群的 ID。
  • PROJECT_ID:集群所在项目的 ID。