Keepalived+MySQL双主单写实现高可用性

来源:互联网 发布:c语言n不为0的表达式 编辑:程序博客网 时间:2024/05/29 03:55

安装环境 RedHat6.3 MySQL-5.6.26
Keepalived版本 1.2.18

当主服务器当掉之后可自动切换到从服务器,主服务器启动后可自动切换回来,切换时间在毫秒级别。

两台MySQL服务器
1 192.168.10.145:3308
2 192.168.10.154:3308
对外提供服务的IP 192.168.10.111:3308

  1. 配置两台MySQL服务器互为主从
    可参考MySQL主从复制
    change master to master_host=’192.168.10.154’, master_user=’rpl’, master_password=’rpl’, master_port=3308;

  2. 安装keepalived
    ./configure
    make
    make install
    cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
    cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
    mkdir /etc/keepalived
    cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
    cp /usr/local/sbin/keepalived /usr/sbin/

  3. 配置keepalived
    添加MySQL服务停止时执行的脚本
    vi /etc/keepalived/MySQL.sh
    service keepalived stop
    chmod 755 /etc/keepalived/MySQL.sh

    修改keepalived配置文件
    vi /etc/keepalived/keepalived.conf
    关键配置

vrrp_instance VI_1 {    #如果希望主服务重启后不抢夺服务 主state 可配置为 BACKUP    state MASTER    interface eth0    virtual_router_id 61    #从可配置为100    priority 150    advert_int 1    nopreempt authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        192.168.10.111    }} virtual_server 192.168.10.111 3308 {    delay_loop 6    lb_algo wlc    lb_kind DR    nat_mask 255.255.255.0    persistence_timeout 50    protocol TCP    real_server 192.168.10.145 3308 {            weight 3            notify_down /etc/keepalived/MySQL.sh            TCP_CHECK {                 connect_timeout 10                 nb_get_retry 3                 delay_before_retry 3                 connect_port 3308            }        }    }

4 启动keepalived
/etc/init.d/keepalived start
查看日志
vi /var/log/messages

设置开机启动 在MySQL之后启动
vi /etc/rc.d/rc.local
/etc/init.d/keepalived start

0 0
原创粉丝点击