Greenplum · 工作原理 · Master standby故障转移流程

一.背景

Greenplum的架构中协调节点的高可用性是通过主从方式实现。Greenplum支持master自动故障转移,以及当故障没有自动转移的场景,需要人工介入进行故障处理和恢复。

二.故障转移流程

1. 单点故障

Master自动故障转移可以处理单点故障,当master, standby , master probe segment其中一个发生故障对应的场景说明如下。

1.1. Master故障 , standby和master probe正常

当不支持自动故障转移,集群不可用,需要人工 gpactivatestandby 

当支持自动故障转移,master probe 将自动激活standby.

当stanby成为新的master,需要完成如下步骤: 

(1) 通过gpinitstandby, 启动原来的master作为standby 。

(2) 原来的master和当前的master,角色倒换。(目前没有合适的命令,只能通过如下,多次命令操作,如master:host1,standyby:host2)

i) host2上操作,pg_ctl stop -D /data01/gpadmin/gpdata/master/gpseg-1/    //停服务

ii)重命名目录:

cd /data01/gpadmin/gpdata/master

mv gpseg-1 gpseg-1_bak

cd /data01/gpadmin/gpdata/master

mv gpseg-1 gpseg-1_bak

iii)现在的standby host1

gpactivatestandby -d /data01/gpadmin/gpdata/master/gpseg-1   //激活standby

gpinitstandby  -s host2   //添加standby

1.2. Standby故障 , master和master probe 正常

当不支持自动故障转移synchronous_standby_names为空 ,集群正常运行。

当不支持自动故障转移synchronous_standby_names 是 *, 集群正常运行,写事务阻塞,直到手工unblocked。

当支持自动故障转移master probe保存standby out-of-sync信息到segment catalog 并unblock 写。

当人工修复故障,重新启动standby. 

1.3. master probe segment故障, master和standby正常

master probe支持自动故障转移,需要结合具体情况,一般GP自动指派一个新的活动segment作为 master probe 。

2. 2个角色故障

发生2个角色故障,需要做如下操作恢复集群。

2.1. Master和standby同时故障

如果发生故障master可以启动,通过gpstart 恢复集群;如果只有standby能够启动,可以通过 gpactivatestandby 把standby变成master。

如果gpactivatestandby把standby变成mater失败,可以通过gpactivatestandby -f 把standby强制变成mater,但会存在数据一致性的风险。

2.2. Master和master probe同时故障

如果master probe segment能够正常启动,按照流程2.1 尝试首先把standby变成master。,如果不行,需要通过gpactivatestandby -f 把standby强制变成mater,但会存在数据一致性的风险。

2.3. Standby和master probe同时故障

(1) 需要以维护方式(utility mode)连接master probe segment ,并标记不一致 或在standby数据目录中创建promote.deny文件 ,阻止gpactivatestandby运行,导致数据不一致,知道第2步操作完成。

(2) 可以通过gpconfig设置master synchronous_standby_names为空,然后master继续服务集群。 

三.参考资料

https://github.com/greenplum-db/gpdb/wiki/Master-standby-failover-workflow

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容