美文网首页
keepalived高可用+nginx负载均衡 keepaliv

keepalived高可用+nginx负载均衡 keepaliv

作者: ma8345 | 来源:发表于2019-01-22 14:35 被阅读0次

keepalived 下载

主:192.168.100.10
备:192.168.100.20

两台主机keepalived安装

tar xf keepalived-2.0.11.tar.gz
cd keepalived-2.0.11
./configure --prefix=/usr/local/keepalived
make && make install
mkdir /etc/keepalived
#复制系统文件,并创建命令软链
cp keepalived/etc/init.d/keepalived /etc/init.d/
cp keepalived/etc/sysconfig/keepalived /etc/sysconfig/
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived
ln -s /usr/local/keepalived/sbin/keepalived /usr /local/bin/
ln -s /usr/local/keepalived/bin/genhash /usr /local/bin/

配置

#主master配置
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id lb1 #标识本节点的名称
   vrrp_skip_check_adv_addr
   #vrrp_strict#不能访问vip需注释掉这里
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
vrrp_script chek_nginx {
        script "/etc/keepalived/chek_nginx.sh" #检测 nginx 状态的脚本路径
        interval 2                                              # 检测时间间隔
        weight -20
}

vrrp_instance VI_1 {
    state MASTER  #状态
    interface ens33  #网卡名称
    virtual_router_id 51 #与备主机一致
    priority 100 #优先级,正比
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456 #根据情况
    }
    track_script {
        chek_nginx #监控脚本
}
    virtual_ipaddress {
        192.168.100.100  #VIP
}
}

#备bakkup配置
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id lb2 #标识本节点的名称
   vrrp_skip_check_adv_addr
   #vrrp_strict #不能访问vip需注释掉这里
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
vrrp_script chek_nginx {
        script "/etc/keepalived/chek_nginx.sh" #检测 nginx 状态的脚本路径
        interval 2                                              # 检测时间间隔
        weight -20
}

vrrp_instance VI_1 {
    state BACKUP  #状态
    interface ens33  #网卡名称
    virtual_router_id 51 #与备主机一致
    priority 100 #优先级,正比
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456 #根据情况
    }
    track_script {
        chek_nginx #监控脚本
}
    virtual_ipaddress {
        192.168.100.100  #VIP
}
}
检测脚本内容
cat /etc/keepalived/chek_nginx.sh
#!/bin/bash
Ng=`ps -C nginx --no-header | wc -l`
if [ $Ng -eq 0 ];then
    /usr/bin/nginx
    sleep 2
    Ng=`ps -C nginx --no-header | wc -l`
    if [ $Ng -eq 0 ];then
        /etc/init.d/keepalived stop
    fi
fi

启动查看

systemctl start keepalived
systemctl enable  keepalived
ip addr | grep 192.168.100.100

相关文章

网友评论

      本文标题:keepalived高可用+nginx负载均衡 keepaliv

      本文链接:https://www.haomeiwen.com/subject/twmljqtx.html