首页 > 数据库技术 > 详细

keepalived+mysql双主

时间:2016-01-14 19:22:13      阅读:167      评论:0      收藏:0      [点我收藏+]

***********************地址分配***********************

ip1:192.168.31.64

ip2:192.168.31.65

vip:192.168.31.16

双主搭建过程略

**********************keepalived安装及配置文件*********

安装:

yum install keepalived


keepalived配置文件(ip1和ip2一致):

/etc/keepalived/keepalived.conf:

vrrp_script check_run {

    script "/etc/keepalived/check_mysql.sh"

    interval 20

}



vrrp_instance VI_1 {

    state BACKUP

    interface eth0

    virtual_router_id 51

    advert_int 1

    nopreempt

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    track_script {

        check_run

    }

    virtual_ipaddress {

        192.168.31.16

    }

}


mysql检测脚本

/etc/keepalived/check_mysql.sh:

#!/bin/bash

MYSQL=/usr/local/mysql/bin/mysql

MYSQL_HOST=127.0.0.1

MYSQL_PORT=3306

MYSQL_USER=keepalived

MYSQL_PASSWD=keepalived

CHECK_TIME=3

MYSQL_OK=1


function check_mysql_health(){

    $MYSQL -h $MYSQL_HOST -P $MYSQL_PORT -u $MYSQL_USER -p${MYSQL_PASSWD} -e "show status;" >/dev/null 2>&1

    if [ $? = 0 ] 

    then

        MYSQL_OK=1

    else

        MYSQL_OK=0

    fi

    return $MYSQL_OK



while [ $CHECK_TIME -ne 0 ]

do

    let "CHECK_TIME -= 1"

    check_mysql_health

    if [ $MYSQL_OK = 1 ]  

    then     

        CHECK_TIME=0     

        exit 0 

    fi

    if [ $MYSQL_OK -eq 0 ] && [ $CHECK_TIME -eq 0 ]

    then

        pkill keepalived

        exit 1

    fi

    sleep 1

done

**********************keepalived启动及验证*********

启动

ip1和ip2依次执行:

service keepalived start


判断vip绑定到哪个实际ip,如下指向的是64:

[root@centos-zabbix-64 keepalived]# tcpdump vrrp

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes

14:34:55.477747 IP 192.168.31.64 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 1s, length 20

14:34:56.479502 IP 192.168.31.64 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 1s, length 20


keepalived+mysql双主

原文:http://gaoquan.blog.51cto.com/4503718/1735004

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!