GaussDB-3AZ多数派故障一键式强启及加回

GaussDB-3AZ多数派故障一键式强启及加回

可获得性

本特性自V500R001C20版本开始引入。

特性简介

AZ多数派故障场景下,一键式执行少数派强起命令,实现业务正常运行的目的。

客户价值

AZ多数派故障场景下,能够通过强起操作继续提供集群仲裁服务,使业务运行尽快恢复。

特性描述

部署同城双活集群(2AZ+仲裁AZ)时,在园区A部署一个生产中心AZ1,在同城园区B部署一个灾备中心AZ2。AZ1、AZ2都有完整的数据并且均部署第三方仲裁实例ETCD,ETCD数量相等, AZ3中只部署一个ETCD实例。ETCD多数派存活时,可正常工作,集群CMS实例可以正常选主。业务正常执行。当AZ2、AZ3发生故障时,AZ1中存活的ETCD数量少于总数的二分之一,即少数派存活,此时无法实现AZ的自动切换,因此要进行少数派强起。

特性增强

无。

特性约束

  • 少数派强启命令属于高危操作,必须是满足多数派所有节点同时故障的情况下才能进行强启操作,即:少数派强启之前,一定要确认好强启AZ是否一直是集群内唯一一个没有故障的AZ,而不是先故障的AZ。

    场景举例:

    集群AZ1与AZ2、AZ3发生了网络隔离,AZ2,AZ3满足多数派,可以继续执行业务,AZ1由于网络隔离,数据都无法从多数派(AZ2、AZ3)同步。

    此后如果AZ1、AZ2又都发生了故障,不再满足多数派,这个时候,禁止少数派强启AZ1的原因:

    AZ1由于很早之前就故障了,数据不是最新的,少数派强启虽然会执行成功,但会发生数据丢失。

  • 多数派故障后处理流程和多数派恢复后恢复流程处理过程中,需要将业务停止。
  • 故障的CN没有剔除前,此时不允许执行DDL,否则会出现gsql连上做DDL,ctrl+c和pg_cancel_backend都无法停止。

    同样在恢复时,CN没有完全处理完成时,也不允许做DDL操作。

  • 一键式强启执行之前,请务必认真确认当前是否确实是多数派故障场景,如果不满足多数派故障条件,强启后可能会产生数据不一致的问题。
  • 一键式脚本限制执行命令节点所在AZ 到其他AZ 均无法正常连接时才会继续执行(防止用户对多数派故障的错误判断)。
  • 少数派强启需求当前强启AZ内的节点不再有新的故障,否则在多数派故障的情况下再次叠加故障,可能会导致脚本无法正常执行。
  • 不支持在logger节点执行一键式强启加回。
  • 如果强启AZ中的DN数量小于半数,则强启无法保证RPO。
  • 执行加回之前,如果集群current_az 不是 AZ_ALL,需要等到其为AZ_ALL的时候才能操作。
  • 网络恢复后,由于ETCD的启动,会导致集群状态会变得不准确(如被剔除CN会变成normal),需要调用加回之后才能恢复。
  • 强启运行在降级模式中,不支持扩容、升级、节点修复等工程能力。
  • DCF自仲裁模式不支持一键式强启加回。

依赖关系

无。

 
posted @ 2024-10-30 09:01  jerrywang1983  阅读(8)  评论(0)    收藏  举报