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。