实例主备切换
操作场景
集群在运行过程中,出于运维目的数据库管理员可能需要手工对DN或GTM做主备切换。例如发现DN或GTM主备自动failover后想恢复原有的主备角色,或者怀疑硬件故障想手动switchover。
switchover为维护操作:确保集群状态正常,所有业务结束,并使用pgxc_get_senders_catchup_time()视图查询无主备追赶后,再进行switch操作。
switchover有普通主备切换和快速主备切换两种操作,普通主备切换适用于一般场景,快速主备切换适用于业务量巨大、并发量巨大的大压力场景。
快速主备切换需要待切换的一组GTM、DN实例状态全部是正常的。
快速主备切换有下面两种方式:
- 单组DN主备实例切换。
cm_ctl switchover -n nodeid -D /srv/BigData/mppdb/data2 -q其中,参数q表示快速切换,nodeid为需要升主的备实例所在节点ID,/srv/BigData/mppdb/data2为备DN或GTM的数据目录。
- 切换所有GTM、DN实例状态为初始主备角色。
cm_ctl switchover -a -q操作步骤
- 以操作系统用户omm登录GaussDB 200集群任一主机。执行source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile命令启动环境变量。
- 在当前备DN或GTM所在的主机上执行如下命令。
gs_om -t switch -h plat1 -D /srv/BigData/mppdb/data2plat1为当前备DN或GTM所在的主机。
/srv/BigData/mppdb/data2为plat1备DN或GTM的数据目录。
对于同一对实例,上一次主备切换未完成,不能执行下一次切换。对于业务正在操作时,发起switchover,可能主机的线程无法停止导致switchover显示超时,实际后台仍然在运行,等主机线程停止后,switchover即可完成。比如在主机删除一个大的分区表时,可能无法响应switchover发起的信号。
示例
将DN备实例切换为主实例。假设备实例所在主机plat1,路径为“/gaussdb/data/data_dnS1”。
gs_om -t switch -h plat1 -D /gaussdb/data/data_dnS1 Switching instances. Successfully switched instances.异常处理
异常判断标准如下:
- 业务压力下,主备实例切换时间长,这种情况不需要处理。
- 切换过程中,因网络故障、磁盘满等原因造成主备实例连接断开,出现双备现象,切换超时,此时请参考如下步骤修复。
- 使用以下命令查询当前的实例状态。
gs_om -t status -h plat1 ... node : 1 instance_id : dn_6001_6002 node_ip : 192.168.0.11 data_path : /gaussdb/data/data_dn1 type : Datanode instance_state : Standby static_connections : 2 HA_state : Need repair reason : Mode not matchedgs_om -t status -h plat2 ... node : 2 instance_id : dn_6001_6002 node_ip : 192.168.0.12 data_path : /gaussdb/data/data_dnS1 type : Datanode instance_state : Standby static_connections : 2 HA_state : Need repair reason : Mode not matched查询结果显示两个实例的状态都为Standby,这种状态为异常状态。
- 查询主CM Server所在主机。
gs_om -t status --detail ##查找主CM Server所在服务器- 登录主CM Server所在服务器。
- 查询主CM Server的进程号。
ps -ef | grep cm_server ##查询主CM Server的进程 omm 125124 1 0 Jul23 ? 00:01:12 ${BIGDATA_HOME}/mppdb/core/bin/cm_server125124为主CM Server的进程号。
- kill主CM Server的进程。
kill -9 125124CM Server自动重启后会停止异常的主备实例,重新仲裁。
- 实例状态恢复后,重新切换实例,参见操作步骤。
查看更多:华为GaussDB 200 GaussDB 200常用集群维护操作「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」关注作者【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。评论
- 查询主CM Server所在主机。
- 切换所有GTM、DN实例状态为初始主备角色。




