• ADADADADAD

    keepalived+vip+mysql双机高可用的示例分析[ mysql数据库 ]

    mysql数据库 时间:2024-11-26 22:14:44

    作者:文/会员上传

    简介:

    1.环境 mysql主从更新yumupdateglib* 配置第三方源yum install -y epel-release直接通过yum安装keepalived#查看是否有安装包yum list |grep keepalived安装yum installkeep

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    1.环境 mysql主从
    更新

    yumupdateglib*

    配置第三方源
    yum install -y epel-release

    直接通过yum安装keepalived

    #查看是否有安装包
    yum list |grep keepalived

    安装
    yum installkeepalived.x86_64

    各种参数定义查看如下bolg
    http://blog.csdn.net/zhu_tianwei/article/details/43603135

    真实生产环境案例
    master
    路径/etc/keepalived/keepalived.conf
    通过权重priority 0-250 来判断 主从
    #######################master###########################
    global_defs {
    router_id HA_MySQL
    }


    vrrp_instance VI_1 {
    state BACKUP
    interface em1
    virtual_router_id 12
    priority 120
    advert_int 1
    nopreempt
    authentication {
    auth_type PASS
    auth_pass 1111
    }
    virtual_ipaddress {
    #vip
    192.168.27.12
    }
    }


    virtual_server 192.168.27.12 3306 {
    delay_loop 2
    lb_algo wrr
    lb_kind DR
    persistence_timeout 60
    protocol TCP
    real_server 192.168.27.73 3306 {
    weight 3
    inhibit_on_failure
    #检查真实ip的端口3306 是否down 如果down执行stop_keeplived.sh
    notify_down /usr/local/keepalived/sbin/stop_keeplived.sh
    TCP_CHECK {
    connect_timeout 10
    nb_get_retry 3
    delay_before_retry 3
    connect_port 3306
    }
    }
    }

    ###########################slave###############################


    slave
    通过权重priority 0-250 来判断 主从


    global_defs {
    router_id HA_MySQL
    }


    vrrp_instance VI_1 {
    state BACKUP
    interface em1
    virtual_router_id 12
    priority 100
    advert_int 1
    #nopreempt
    authentication {
    auth_type PASS
    auth_pass 1111
    }
    virtual_ipaddress {
    #vip
    192.168.27.12
    }
    }


    virtual_server 192.168.27.12 3306 {
    delay_loop 2
    lb_algo wrr
    lb_kind DR
    persistence_timeout 60
    protocol TCP
    real_server 192.168.27.72 3306 {
    weight 3
    notify_down /usr/local/keepalived/sbin/stop_keeplived.sh
    TCP_CHECK {
    connect_timeout 10
    nb_get_retry 3
    delay_before_retry 3
    connect_port 3306
    }
    }
    }


    ################stop_keeplived.sh############
    /usr/local/keepalived/sbin/stop_keeplived.sh
    内容
    #! /bin/bash
    echo "test" > text.txt
    /etc/init.d/keepalived stop

    #遇到的错误
    停止mysql 3306端口
    service mysqld stop
    正常应该是vip 进行漂移,但是却没有漂,查看keepalived状态
    service keepalived status
    发现ipvs: Protocol not available 提示信息
    此问题 导致vip无法漂移
    原因是ip_vs模块系统默认没有自动加载
    查看ip_vs模块
    lsmod | grep ip_vs 若没有值需要手工加载
    modprobe ip_vs
    modprobe ip_vs_wrr

    lsmod | grep ip_vs正常输出
    [root@hs-73 sbin]# lsmod | grep ip_vs
    ip_vs_wrr 12697 0
    ip_vs 140944 2 ip_vs_wrr
    nf_conntrack 105745 1 ip_vs
    libcrc32c 12644 2 xfs,ip_vs
    设置开机加载
    /etc/rc.local
    将modprobe ip_vs
    modprobe ip_vs_wrr
    写入rc.local配置文件


    到此 问题解决

    vip 可以正常漂移

    使用命令 ip a 可以查看vip

    -----keepalived 对应的机器必须开启112端口 否则 两边无法通信

    keepalived+vip+mysql双机高可用的示例分析.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: keepalivedmysql