switchover操作需要主备节点通讯,可以实现数据零丢失地平滑角色切换,一般适用于计划停机或维护场景。failover场景下,一般的主节点已经故障,所以不存在主节点降备的情况,当故障恢复后,若之前执行过failover操作,则可能出现双主的情况,此时需要DBA手动干预处理。
switchover 计划内操作:
1、执行switchover操作
1.1 切换失败
1.1.1、如果原主库降级失败,top -H -p pid 查看当前线程,抓gstack信息
1.1.2、如果超过1分钟,切换还不成功,top -H -p pid 查看当前线程,抓取gstack操作
1.2 切换成功后,
1.2.1、检查集群状态
1.2.2、gs_om -t refreshconf 刷新配置
1.2.3、检查ha状态
1.2.4、检查新主VIP是否挂上
Switchover流程
1.查看数据库集群状态
su - omm
gs_om -t status –detail
数据库各节点都为normal状态
2.查看高可用状态
su - omm
systemctl status mogha
高可用为running
3.检查集群高可用状态
su – omm
gs_ssh -c “systemctl status mogha”
4.检查VIP
gs_ssh -c “ip a | grep bond0”
VIP挂在原主库上
5.从库执行switchover操作
gs_ctl switchover -D /ogdata/data/dn1
5.1 切换失败
5.1.1 原主库降级失败
top -H -p pid 查看当前线程,抓gstack信息
top -H -p pid
gstack pid > switchover_error.txt
5.1.2 切换超时
如果超过1分钟,切换还不成功,top -H -p pid 查看当前线程,抓取gstack操作
top -H -p pid
gstack pid > switchover_error.txt
5.2 切换成功后,检查集群状态
gs_om -t status --detail
原来备节点切换为主节点,原来主节点降级为备节点,且个节点状态都为normal
6.刷新集群配置信息
gs_om -t refreshconf
7.检查集群状态
gs_om -t status --detail
原来备节点切换为主节点,原来主节点降级为备节点,且个节点状态都为normal
8.检查ha状态
gs_ssh -c"systemctl status mogha"
9.检查VIP
新主节点查看vip是否挂上
gs_ssh -c"ip a | grep bond0"
切换完毕