实例主备切换
以操作系统用户omm登录数据库任意节点,执行如下命令,查看主备情况。
以操作系统用户omm登录准备切换为主节点的备节点,执行如下命令。
/home/omm/cluster/dn1/为备数据库节点的数据目录。
主机故障时,可以在备机执行如下命令。
gs_ctl failover -D /home/omm/cluster/dn1/
将数据库节点备实例切换为主实例。
1.查询数据库状态。
gs_om -t status --detail
[ Cluster State ]
cluster_state : Normal
redistributing : No
[ Datanode State ]
node node_ip port instance state
--------------------------------------------------------------------------------------------------
1 pekpopgsci00235 10.244.62.204 5432 6001 /home/wuqw/cluster/dn1/ P Primary Normal
2 pekpopgsci00238 10.244.61.81 5432 6002 /home/wuqw/cluster/dn1/ S Standby Normal
2.登录备节点,进行主备切换。另外,switchover级联备机后,级联备机切换为备机,原备机将为级联备。
[2020-06-17 14:28:01.730][24438][][gs_ctl]: switchover term (1)
[2020-06-17 14:28:01.768][24438][][gs_ctl]: waiting for server to switchover............
[2020-06-17 14:28:11.175][24438][][gs_ctl]: done
[2020-06-17 14:28:11.175][24438][][gs_ctl]: switchover completed (/home/wuqw/cluster/dn1)
3.保存数据库主备机器信息。
如果switchover过程中出现失败,请根据日志文件中的日志信息排查错误,参见。
异常判断标准如下:
- 业务压力下,主备实例切换时间长,这种情况不需要处理。
- 其他备机正在build的情况下,主机需要发送日志到备机后,才能降备,导致主备切换时间长。这种情况不需要处理,但应尽量避免build过程中进行主备切换。
执行以下命令查询数据库当前的实例状态。
gs_om -t status --detail
若查询结果显示两个实例的状态都为Primary,这种状态为异常状态。
确定降为备机的节点,在节点上执行如下命令关闭服务。
gs_ctl stop -D /home/omm/cluster/dn1/
执行以下命令,以standby模式启动备节点。
保存数据库主备机器信息。