openGauss6.0企业版单中心一主一备切换

文摘   2024-11-11 17:30   广东  

环境说明

角色

主机名

IPADDR

OS Version

DB version

opendb01

192.168.40.160

Centos7.9 x86_64

openGauss6.0.0

opendb02

192.168.40.161

Centos7.9 x86_64

openGauss6.0.0

主备切换背景

领导要求在系统上线前进行主备切换演练。

本文档采用手工对数据库节点做主备切换,以规避主备切换异常数据不一致。

补充:

1、主备切换有以下场景:

  • 发现数据库节点主备failover后需要恢复原有的主备角色

  • 怀疑硬件故障需要手动进行主备切换

  • 级联备机不能直接转换为主机,只能先通过switchover或者failover成为备机,然后再切换为主机

2、注意事项:

  • 主备切换为维护操作,确保openGauss状态正常,所有业务结束后,再进行切换操作。

  • 在开启极致RTO时,不支持级联备机。因为在极致RTO开启情况下,备机不支持连接,所以无法与级联备机同步数据。

  • 级联备机切换后,主机的synchronous_standby_names参数不会自动调整,因此可能需要手动调整主机的synchronous_standby_names参数,否则有可能会导致主机的写业务阻塞。

主备切换前准备

停止所有业务

和现场同事确认已停止与库相关的所有应用,避免切换过程中产生新数数据。

主备切换步骤

查看主备情况

任一节点操作均可

su - ommgs_om -t status --detail

输出如下:

[omm@opendb01 ~]$ gs_om -t status --detail[   Cluster State   ]
cluster_state : Normalredistributing : Nocurrent_az : AZ_ALL
[ Datanode State ]
node node_ip port instance state-----------------------------------------------------------------------------------------------1 opendb01 192.168.40.160 5432 6001 /opt/huawei/install/data/dn P Primary Normal2  opendb02 192.168.40.161  5432       6002 /opt/huawei/install/data/dn   S Standby Normal

登录备节点,进行主备切换

登录备节点,进行主备切换。另外,switchover级联备机后,级联备机切换为备机,原备机降为级联备。

以操作系统用户omm登录准备切换为主节点的备节点,执行如下命令:

su - omm gs_ctl switchover -D /opt/huawei/install/data/dn
参数说明:-D /opt/huawei/install/data/dn  即-D 备节点的数据目录

输出如下:

[root@opendb02 ~]# su - ommLast login: Thu Oct 24 16:08:29 CST 2024 on pts/2[omm@opendb02 ~]$ gs_ctl switchover -D /opt/huawei/install/data/dn[2024-10-25 04:55:38.777][4139][][gs_ctl]: gs_ctl switchover ,datadir is /opt/huawei/install/data/dn[2024-10-25 04:55:38.778][4139][][gs_ctl]: switchover term (1)[2024-10-25 04:55:38.783][4139][][gs_ctl]: waiting for server to switchover........[2024-10-25 04:55:43.878][4139][][gs_ctl]: done[2024-10-25 04:55:43.878][4139][][gs_ctl]: switchover completed (/opt/huawei/install/data/dn)

注意:对于同一数据库,上一次主备切换未完成,不能执行下一次切换。当业务正在操作时,发起switchover,可能主机的线程无法停止导致switchover显示超时,实际后台仍然在运行,等主机线程停止后,switchover即可完成。比如在主机删除一个大的分区表时,可能无法响应switchover发起的信号。

补充:主机故障时应对方法

主机故障时,可以在备机执行如下命令。

su - omm gs_ctl failover -D /opt/huawei/install/data/dn
参数说明:-D /opt/huawei/install/data/dn  即-D 备节点的数据目录

保存数据库主备机器信息

任一节点操作即可,会动态地保存所有节点机器信息

su - ommgs_om -t refreshconf

输出如下:

[omm@opendb01 ~]$ gs_om -t refreshconfGenerating dynamic configuration file for all nodes.Successfully generated dynamic configuration file.

总结

openGauss6.0比openGauss5.0更加完善,在切换方面的处理机制设计的很好,实验中暂未发现主备时间线不一致出现都是备的情况。

点击阅读原文跳转作者文章

openGauss
开源关系型数据库
 最新文章