自身高可用的mmn模式
自身高可用说明
clup-server自身也支持高可用模式,将clup-server部署到三台机器上(通常是不同机房),可以通过任意一个clup-server来完成对平台的管理工作,坏任意一个clup-server都可以用其他的clup-server来管理平台。
高可用场景如下:
| 序号 | 故障节点 | 存活节点 | 服务是否可用 | 备注 |
|---|---|---|---|---|
| 1 | 1主 | 2备 | 是 | 会自动选择一个备节点提升为主 |
| 2 | 1备 | 1主1备 | 是 | 备节点重新启动服务后会自动修复 |
| 3 | 1主1备 | 1备 | 否 | 如果主节点机器没有问题,开机后启动clup-server服务即可恢复 |
| 4 | 2备 | 1主 | 否 | 只剩一个主节点时,处于选举状态,无法使用;2台备节任一故障节点恢复后,服务可以恢复正常 |
演示环境如下:
| 序号 | IP | 角色 |
|---|---|---|
| 1 | 10.198.170.11 | primary |
| 2 | 10.198.170.12 | standby |
| 3 | 10.198.170.13 | standby |
CLup 高可用部署
先在主节点上部署CLup:部署方法参照 CLup6.x产品手册:快速安装
停止主节点的CLup服务
su - clupclup-server stop
修改配置文件
cd /home/clup/clup-server/conf# 编辑clup.conf 文件# 修改mmn_host_list,没有的话则添加这个参数mmn_host_list = 10.198.170.11,10.198.170.12,10.198.170.13
在两台备节点机器上部署CLup:部署方法参照 CLup6.x产品手册:快速安装
停止备节点的CLup服务
su - clupclup-server stop
修改配置文件
cd /home/clup/clup-server/conf# 编辑clup.conf 文件# 修改mmn_host_list,没有的话则添加这个参数mmn_host_list = 10.198.170.11,10.198.170.12,10.198.170.13
启动主节点上的CLup服务,然后启动备节点上的CLup服务
# 10.198.170.11 此为当前主节点,应先启动# clup 用户下clup-server start# 启动10.198.170.12 10.198.170.13上的CLUP服务# clup 用户下clup-server start
验证,稍等片刻后再打开web页面10.198.170.11:8090,点击总览,出现下面红色线框圈选的区域即为成功
高可用验证
主节点故障
关闭当前CLup集群主库所在机器10.198.170.11,登录任意一台后备节点查看CLup日志
# clup 用户下cd /home/clup/clup-serevr/logstail -f clup-server.log2025-12-29 14:27:34,857 ERROR Find primary csumdb(10.198.170.11) is down(1 times).2025-12-29 14:27:44,869 ERROR Find primary csumdb(10.198.170.11) is down(2 times).2025-12-29 14:27:54,880 ERROR Find primary csumdb(10.198.170.11) is down(3 times).2025-12-29 14:28:04,892 ERROR Find primary csumdb(10.198.170.11) is down(4 times).2025-12-29 14:28:14,902 ERROR Find primary csumdb(10.198.170.11) is down(5 times).2025-12-29 14:28:24,913 ERROR Find primary csumdb(10.198.170.11) is down(6 times).2025-12-29 14:28:34,918 ERROR Find primary csumdb(10.198.170.11) is down(7 times).2025-12-29 14:28:44,926 ERROR Find primary csumdb(10.198.170.11) is down(8 times).2025-12-29 14:28:54,928 ERROR Find primary csumdb(10.198.170.11) is down(9 times).2025-12-29 14:29:04,936 ERROR Find primary csumdb(10.198.170.11) is down(10 times).2025-12-29 14:29:04,936 ERROR csumdb(10.198.170.11) is down2025-12-29 14:29:04,942 INFO promote csumdb(10.198.170.12) starting...2025-12-29 14:29:04,962 INFO csumdb promote to primary
CLup检测到CLup集群当前主库异常,之后选择一个后备节点提升为主库,上面是将10.198.170.12提升为主库。
我们打开10.198.170.12:8090,登录后查看总览,可以看到当前CLup的主库已经切换到10.198.170.12上,而10.198.170.11变成一个后备节点并被标记为down。
重新启动机器10.198.170.11,检查CLup服务是否已启动:
# 10.198.170.11 clup 用户下clup-server status# 如果服务未正常启动,则手工启动服务clup-server start
我们再次查看总览,可以发现10.198.170.11的CLup状态依旧异常
此时我们可以查看CLup的日志,可以发现10.198.170.11的csumdb被重新搭建了,成为了10.198.170.12的一个备库
# 10.198.170.11 clup用户下tail -f /home/clup/clup-server/conf/clup-server.log2025-12-29 15:03:54,698 INFO the csumdb sr status is not normal, need rebuild.2025-12-29 15:03:54,699 INFO Begin rebuild standby csumdb(10.198.170.11) from primary(10.198.170.12)..2025-12-29 15:03:54,699 INFO Stop csumdb(10.198.170.11)2025-12-29 15:03:54,848 INFO csumdb(10.198.170.11) is stopped2025-12-29 15:03:54,152 INFO Use pg_basebackup rebuild csumdb(10.198.170.11)..2025-12-29 15:03:54, 209 INFO waiting for checkpoint2025-12-29 15:03:55,121 INFO Waiting for determine who is primary, please wait.2025-12-29 15:04:00,956 INFO 0/727280 kB (0%), 0/1 tablespace...2025-12-29 15:04:11,440 INFO 727312/727312 kB (100%), 0/1 tablespace2025-12-29 15:04:13,342 INFO Start csumdb(10.198.170.11)2025-12-29 15:04:13,695 INFO Recheck csumdb(10.198.170.11) to primary(10.198.170.12) sr status2025-12-29 15:04:13,707 INFO csumdb(10.198.170.11) to primary(10.198.170.12) sr status is streaning2025-12-29 15:04:13,708 INFO Rebuild standby csumdb(10.198.170.11) from upper node(10.198.170.12) successfully
再打开10.198.170.11:8090,点击总览查看,可以发现10.198.170.11的clup集群状态也变为正常了。
任一备节点故障
现在将10.198.170.13(standby)机器停掉,然后登录10.198.170.11:8090查看CLup个节点的状态。
可以看到10.198.170.13这个节点的状态被标记为异常,CLup服务可以正常使用。
然后将10.198.170.13重新启动,节点状态会自动恢复正常。