zoukankan      html  css  js  c++  java
  • 广州项目实施步骤III_练习使用Keepalive保证HaProxy的高可用性

    CentOS6.4 配置HAProxy+Keepalived

     

    安装HAProxy请参考

    http://www.cnblogs.com/kgdxpr/p/3272861.html

    安装Keepalived

    1、下载安装依赖包

    yum install -y wget make gcc openssl-devel popt-devel

    2、下载、安装Keepalived

    wget http://www.keepalived.org/software/keepalived-1.2.8.tar.gz
    tar zxvf keepalived-1.2.8.tar.gz
    cd keepalived-1.2.8
    ./configure --prefix=/usr/local/keepalived
    make
    make install

    3、安装成功后做成服务模式。

    cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
    cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
    cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

    4、配置文件

    mkdir -p /etc/keepalived/
    cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
    chmod +x /etc/init.d/keepalived
    vi /etc/keepalived/keepalived.conf
    复制代码
    global_defs {
        router_id LVS_DEVEL
    }
    #监测haproxy进程状态,每2秒执行一次
    vrrp_script chk_haproxy {
        script "/etc/keepalived/chk_haproxy.sh"
        interval 2
        weight 2
    }
    vrrp_instance VI_1 {
        state MASTER          #从服务器为BACKUP
        interface eth0
        virtual_router_id 51
        priority 100             #从服务器要低于100
        advert_int 1
        mcast_src_ip 10.10.3.171    #MASTER服务器IP,从服务器写从服务器的IP
        authentication {
            auth_type PASS
            auth_pass 111111
        }
        track_script {
            chk_haproxy    #监测haproxy进程状态
        }
        virtual_ipaddress {
            10.10.3.170    #虚拟IP
        }
    }
    复制代码

    chk_haproxy.sh内容

    vi /etc/keepalived/chk_haproxy.sh
    复制代码
    status=$(ps aux|grep haproxy | grep -v grep | grep -v bash | wc -l)
    if [ "${status}" = "0" ]; then
        /etc/init.d/haproxy start
    
        status2=$(ps aux|grep haproxy | grep -v grep | grep -v bash |wc -l)
    
        if [ "${status2}" = "0"  ]; then
                /etc/init.d/keepalived stop
        fi
    fi
    复制代码

    启动和关闭服务

    service keepalived start
    service keepalived stop

    高可用测试

    复制代码
    1、将Master上的keepalived停止
    
    查看Master上的日志
    
    tail -f /var/log/messages
    
    Sep 23 01:24:34 181 Keepalived[3125]: Stopping Keepalived v1.2.8 (09/23,2013)
    Sep 23 01:24:34 181 Keepalived_vrrp[3127]: VRRP_Instance(VI_1) sending 0 priority
    Sep 23 01:24:34 181 Keepalived_vrrp[3127]: VRRP_Instance(VI_1) removing protocol VIPs.
    
    发现Master释放了VIP
    
    再查看Backup上的日志
    
    Sep 23 01:20:26 182 Keepalived_vrrp[2887]: VRRP_Instance(VI_1) Transition to MASTER STATE
    Sep 23 01:20:27 182 Keepalived_vrrp[2887]: VRRP_Instance(VI_1) Entering MASTER STATE
    Sep 23 01:20:27 182 Keepalived_vrrp[2887]: VRRP_Instance(VI_1) setting protocol VIPs.
    Sep 23 01:20:27 182 Keepalived_vrrp[2887]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 10.10.3.180
    Sep 23 01:20:27 182 Keepalived_healthcheckers[2886]: Netlink reflector reports IP 10.10.3.180 added
    
    发现Backup绑定了VIP
    
    2、将Master上的keepalived启动
    
    查看Master上的日志
    
    tail -f /var/log/messages
    
    Sep 23 01:27:56 181 Keepalived_vrrp[3450]: VRRP_Instance(VI_1) Entering MASTER STATE
    Sep 23 01:27:56 181 Keepalived_vrrp[3450]: VRRP_Instance(VI_1) setting protocol VIPs.
    Sep 23 01:27:56 181 Keepalived_vrrp[3450]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 10.10.3.180
    Sep 23 01:27:56 181 Keepalived_healthcheckers[3449]: Netlink reflector reports IP 10.10.3.180 added
    
    发现Master绑定了VIP
    
    再查看Backup上的日志
    
    Sep 23 01:21:15 182 Keepalived_vrrp[2887]: VRRP_Instance(VI_1) Received higher prio advert
    Sep 23 01:21:15 182 Keepalived_vrrp[2887]: VRRP_Instance(VI_1) Entering BACKUP STATE
    Sep 23 01:21:15 182 Keepalived_vrrp[2887]: VRRP_Instance(VI_1) removing protocol VIPs.
    Sep 23 01:21:15 182 Keepalived_healthcheckers[2886]: Netlink reflector reports IP 10.10.3.180 removed
    
    发现Backup释放了VIP
    复制代码
  • 相关阅读:
    [NOIP2010] 引水入城
    BZOJ 3038 线段树
    [Tyvj 1728]普通平衡树 5种姿势 (彩蛋)
    BZOJ 1588: [HNOI2002]营业额统计
    BZOJ 2141 排队 线段树套替罪羊
    BZOJ 3629 [JLOI2014] 聪明的燕姿 dfs
    P1546 [USACO3.1]最短网络 Agri-Net(洛谷)
    并查集详解+模板
    sync_with_stdio和cin.tie(0); cout.tie(0);
    拓扑排序详解
  • 原文地址:https://www.cnblogs.com/littlehb/p/3420640.html
Copyright © 2011-2022 走看看