mc胖丁 2023-07-13 10:14 采纳率: 25%
浏览 46
已结题

keepalived+glusterd双机热备问题

环境:keepalived+glusterfs进行双机热备,数据库为mariadb,操作系统为麒麟v10的linux系统。
功能要求:主备自动切换,主机若发生宕机,会恢复故障后不抢占主节点;正常运行时,备机不启用mariadb以及应用等服务,主机挂机时,备机通过keepalived配置启动mariadb等服务的启动脚本。
我的实施方案:将两台服务器的数据库分别放入glusterfs的客户端挂载点上,然后修改数据库的配置文件指向挂载点;两台服务器keepalived均设置为双备模式,nopreempt不抢占模式。通过notify_master脚本实现当服务器拥有vip地址成为master状态时执行各应用的启动脚本。
遇到的问题:1、notify_master脚本只有优先级高的backup开机时会执行,后续不会再执行;优先级低的backup一直都不会执行这个脚本;
2、两台服务器数据库没法同时运行,只能一台停止mariadb服务以后,另一台才能启用(附图为数据库同时启用时,无法启用的报错)所以想通过模拟宕机的方式,keepalived主切备时执行停止服务脚本,然后备机切换成主机同时执行启动数据库等服务的脚本。
需求:如何根据以上,做出两台服务器一旦发生主备切换,就各自执行服务启动或者停止的脚本呢?求个详细一点的方案

img

  • 写回答

2条回答 默认 最新

  • 大帅哥多金 2023-07-13 10:28
    关注

    你可以把优先级调整的一样
    然后配置nopreemp 再试试
    关于你的发生主备切换,就各自执行服务启动或者停止的脚本 "
    可以写个脚本监听主机是否有vip,(这个检测vip的脚本可以做成系统服务),有的话就启动服务脚本,没有则相反
    "

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月13日
  • 修改了问题 7月13日
  • 修改了问题 7月13日
  • 创建了问题 7月13日