Keepalived 监控 mysql 主从切换

1)、在两台机子上面分别安装 mysql , keepalived 
2)、
keepalived 主从:
      主:vim /etc/keepalived/keepalived.conf

          vrrp_instance VI_1 {
    state BACKUP    # 备用用 BACKUP
    interface eth2   #用的是哪个网卡
    virtual_router_id 59  #虚拟路由地址必须一样,才能配置成一个组
    priority 100   # 备用用 90
    advert_int 1  #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
    nopreempt
    authentication {
        auth_type PASS  #(密码形式)
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.32.100
    }
    notify_master "/bin/bash -x /usr/local/sbin/modify_master.sh 2>&1 | tee /tmp/modi.txt"
    #notify_master "/bin/echo master >> /etc/keepalived/temp.txt"
}

virtual_server 192.168.32.100 3306 {
    delay_loop 6    #每隔6s 查询 realserver 状态
    lb_algo rr    #lvs 算法
    lb_kind NAT     #Direct Route
    persistence_timeout 60    #会话保持时间,单位是秒(可以适当延长时间以保持session)
    protocol TCP     # 用 TCP协议检查 realserver 状态

    real_server 192.168.32.79 3306 {
        weight 1
        notify_down /usr/local/sbin/keepalived.sh
          TCP_CHECK {
              connect_timeout 10   #10s 无响应超时
               nb_get_retry 3
               delay_before_retry 3
               connect_port 3306
          }
    }
}

从:vim /etc/keepalived/keepalived.conf

vrrp_instance VI_1 {
    state BACKUP    # 备用用 BACKUP
    interface eth2   #用的是哪个网卡
    virtual_router_id 59  #虚拟路由地址必须一样,才能配置成一个组
    priority 90   # 备用用 90
    advert_int 1  #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
    nopreempt
    authentication {
        auth_type PASS  #(密码形式)
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.32.100
    }
    notify_master "/bin/bash -x /usr/local/sbin/modify_master.sh 2>&1 | tee /tmp/modi.txt"
    #notify_master "/bin/echo master >> /etc/keepalived/temp.txt"
}

virtual_server 192.168.32.100 3306 {
    delay_loop 2    #每隔2s 查询 realserver 状态
    lb_algo rr    #lvs 算法
    lb_kind NAT     #Direct Route
    persistence_timeout 60    #会话保持时间,单位是秒(可以适当延长时间以保持session)
    protocol TCP     # 用 TCP协议检查 realserver 状态

    real_server 192.168.32.87 3306 {
        weight 1
        notify_down /usr/local/sbin/keepalived.sh
          TCP_CHECK {
              connect_timeout 10   #10s 无响应超时
               nb_get_retry 3
               delay_before_retry 3
               connect_port 3306
          }
    }
}

其中 主从 keepalived.sh:
     #!/bin/bash
     service keepalived restart
     service mysql start
主从modify_master.sh:
     #!/bin/bash
     /usr/local/mysql/bin/mysql -uroot -p1234567 -e 'set global read_only=0;'
     /usr/local/mysql/bin/mysql -uroot -h 192.168.32.87 -p1234567 -e 'set global read_only=1;'  ( 其中 -h 后面主机要么空格,要么加引号,从修改为:192.168.32.79
     
mysql 主从 (需搭建互为主从):请参考我博客的 mysql主从

你可能感兴趣的:(mysql,keepalived,主从切换)