V8R6集群备机故障处理

实验环境:

192.168.40.148  node1  primary

192.168.40.149  node2  standby

当备机149故障后,有三种方式拉起备机:①备机利用sys_rewind追平主机的数据;②重新clone主机148的数据;③从主机copy整个data到备机,修改部分配置文件;

方式一:备机利用sys_rewind追平主机的数据;

 192.168.40.148 是主库的ip,需要将备库的数据库服务关闭,在备库node2上操作:

sys_ctl stop  -D  /home/kingbase/cluster/HA_R6/kha/kingbase/data

repmgr node rejoin -h 192.168.40.148 -U esrep -d esrep --force-rewind

 主库node1上操作:repmgr cluster show

 目前集群已经恢复;

方式二:重新clone主机148的数据;

 node2 上停库,删除data,重新进行clone:

sys_ctl stop -D /home/kingbase/cluster/HA_R6/kha/kingbase/data

rm -rf /home/kingbase/cluster/HA_R6/kha/kingbase/data

node1上进行查询, 此时,repmgr cluster show看出备机挂了;

node2上执行:

   repmgr standby clone -h192.168.40.148  -U esrep -d esrep  

sys_ctl start -D /home/kingbase/cluster/HA_R6/kha/kingbase/data

 repmgr standby register  -F

 node1上查看集群状态:

 方式三:从主机copy整个data到备机,修改部分配置文件;

sys_ctl stop -D /home/kingbase/cluster/HA_R6/kha/kingbase/data

rm -rf /home/kingbase/cluster/HA_R6/kha/kingbase/data

node1上进行查询, 此时,repmgr cluster show看出备机挂了;

node1上执行:

scp -r data kingbase@192.168.40.149:/home/kingbase/cluster/HA_R6/kha/kingbase

 node2上执行:

 cd /home/kingbase/cluster/HA_R6/kha/kingbase/data/

touch standby.signal

 cd sys_replslot;

rm -rf /home/kingbase/cluster/HA_R6/kha/kingbase/data/sys_replslot/*

node2上编辑kingbase.auto.conf

primary_conninfo = 'user=esrep connect_timeout=10 host=192.168.40.148 port=54321 keepalives=1 keepalives_idle=2 keepalives_interval=2 keepalives_count=3 tcp_user_timeout=9000 application_name=node2'
primary_slot_name = 'repmgr_slot_2'
synchronous_standby_names = 'ANY 1(node1)'

node2上编辑/home/kingbase/cluster/HA_R6/kha/kingbase/etc下的repmgr.conf

node2上启动数据库:

sys_ctl start -D  /home/kingbase/cluster/HA_R6/kha/kingbase/data

 

 node1上查看集群状态:

 

 此时集群正常,备机也恢复正常;

posted @ 2025-04-28 23:45  缘来不是你我  阅读(1)  评论(0)    收藏  举报