zoukankan      html  css  js  c++  java
  • keepalived+mysql双主

    二、搭建过程
    搭建环境(服务器配置忽略)
    master1: 196.168.126.6/22
    master2: 196.168. 126.7/22
    VIP:196.168. 126.67/32
    master1和master2上安装keepalived服务,并修改配置文件,如下配置
    解压
    tar -xvf keepalived-2.0.8.tar.gz
    cd keepalived-2.0.8

    编译安装
    ./configure --prefix=/usr/local/keepalived
    make && make install
    对命令进行添加
    cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
    cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

    192.168.126.6

    [root@zxw6 ~]# cat /etc/keepalived/keepalived.conf 

    ! Configuration File for keepalived
          
    global_defs {
    notification_email {
    kw_wangyang@tech.cebbak.com
    gongzidong@tech.cebbak.com
    }
          
    notification_email_from kw_wangyang@tech.cebbak.com
    smtp_server 127.0.0.1
    smtp_connect_timeout 30
    router_id MASTER-HA
    }

    
    vrrp_script chk_mysql_port {
            script "/root/chk_mysql.sh"
            interval 2
            weight -5
            fall 2
            rise 1
    }
     
    vrrp_instance VI_1 {
        state MASTER
        interface ens33
        mcast_src_ip 192.168.126.6
        virtual_router_id 51
        priority 100
        nopreempt
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.200.67
        }
    }
    track_script {
       chk_mysql_port
    }
    }
    [root@zxw6 ~]# cat chk_mysql.sh 
    #!/bin/bash
    counter=`ss -tnl | grep "LISTEN" |grep "3306" |wc -l`
    if [ ${counter} -eq 0 ]; then
          systemctl stop  keepalived 
    fi
    exit 0

    192.168.126.17

    [root@zxw7 ~]# cat /etc/keepalived/keepalived.conf 
    ! Configuration File for keepalived
          
    global_defs {
    notification_email {
    kw_wangyang@tech.cebbak.com
    gongzidong@tech.cebbak.com
    }
          
    notification_email_from kw_wangyang@tech.cebbak.com
     smtp_server 127.0.0.1
     smtp_connect_timeout 30
     router_id MASTER-HA
    }
    vrrp_script chk_mysql_port {
            script "/root/chk_mysql.sh"
            interval 2
            weight -5
            fall 2
            rise 1
    }
     
    vrrp_instance VI_1 {
        state BACKUP
        interface ens33
        mcast_src_ip 192.168.126.7
        virtual_router_id 51
        priority 90
        nopreempt
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.200.67
        }
    }
    track_script {
       chk_mysql_port
    }
    }     
    [root@zxw7 ~]# cat chk_mysql.sh 
    #!/bin/bash
    MYSQL=mysql
    MYSQL_HOST=localhost
    MYSQL_USER=root
    MYSQL_PASSWORD=zxw
    CHECK_TIME=3
    #mysql  is working MYSQL_OK is 1 , mysql down MYSQL_OK is 0
    MYSQL_OK=1
    function check_mysql_helth (){
      $MYSQL -h $MYSQL_HOST -u $MYSQL_USER -p${MYSQL_PASSWORD} -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_helth
    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
  • 相关阅读:
    使用mongodb保存爬取豆瓣电影的数据
    使用scrapy爬取阳光热线问政平台
    使用scrapy爬取手机版斗鱼主播的房间图片及昵称
    使用selenium + chrome爬取中国大学Mooc网的计算机学科的所有课程链接
    使用scrapy爬取腾讯社招,获取所有分页的职位名称及chaolia、类型、人数、工作地点、发布日期超链接
    python2使用bs4爬取腾讯社招
    使用python2爬取百度贴吧指定关键字和分页帖子楼主所发的图片
    提问的智慧
    深刻理解系统架构师和系统分析师定义
    Redis基础数据结构与核心原理
  • 原文地址:https://www.cnblogs.com/itzhao/p/15650928.html
Copyright © 2011-2022 走看看