1 查看集群状态
repmgr cluster show
集群各节点状态正常,node3为主节点,node1和node2为备节点
说明:
ID:node_id,1开始的正整数,节点的node_id值不能重复
Name:节点名
Role:节点角色,primary主节点,standby备节点
Status:节点状态,running表示正常
Upstream:上游节点
Location:区域中心
Priority:自动切换时,备机选举权重,默认100,如果备机节点的权重设置 为<=0,则该备机不能作为最优备机
Timeline:时间线
LSN_Lag:复制延迟
Connection string:连接串
repmgr service status
2 手动切换
repmgr standby switchover
只能在备节点执行,把主节点降级为备库,把当前备节点提升为主库。
选项:
–always-promote
在任何时候都将备用数据库提升为主数据库,即使它数据落后或偏离原主数据库。原主数据库将关闭,需要手动操作才能重新加入集群。
–dry-run
检查先决条件,实际并未执行切换。
-F , --force
忽略警告并继续执行。
–force-rewind[=VALUE]
如有必要,会执行sys_rewind把数据同步为跟主数据库一致。
-R , --remote-user= USERNAME
远程SSH/securecmdd操作的系统用户名(默认为本地当前系统用户)。
–repmgrd-no-pause
不要在执行切换时暂停repmgrd。
–siblings-follow
让跟随旧主节点的节点跟随新的主节点。
在备节点node1上执行,让备节点node1升主,其他节点跟随node1
repmgr standby switchover --siblings-follow
大致步骤总结如下:
01 在 node3 运行 checkpoint
02 从 node3 去除 VIP
03 在 node3 运行 sys_ctl stop,关闭数据库
04 确认 vip 及 node3 数据库已停止
05 在 node1 启动 VIP,并运行 promote 命令,将 node1 数据库提升为 primary
06 启动 node3 数据库
07 在 node2 运行 repmgr standby follow