安装配置keepalived

1054人浏览 / 0人评论

一、环境说明

web1 10.0.0.3

web2 10.0.0.4

keepalived主   10.0.0.10

keepalived       10.0.0.12

二、web准备环境

二、安装keepalived

10和12分别执行安装keepalived的命令

yum install -y keepalive

三、配置

1、启动

[root@ld01 ~]# systemctl enable keepalived.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/keepalived.service to /usr/lib/systemd/system/keepalived.service.
[root@ld01 ~]# systemctl start keepalived.service

2、查看VIP

3、说明

配置文件中!和#号都表示注释

GLOBAL 全局定义

VRRPD  CONFIGURATION    VRRP实例部分 VIP

LVS CONFIGURATION          keepalived管理配置

--添加虚拟IP(ifconfig无法识别):ip addr add 10.0.0.66/24 dev eth0

生产环境不能添加虚拟ip,得用真实的公网ip,将其设置为VIP,把域名解析到VIP上(之前阿里云有VIP,但是后来阿里云出现了自己的高可用产品后,取消了VIP服务)

--添加虚拟ip(ifconfig可识别):ip addr add   10.0.0.67/24   dev eth0  label eth0:1

4、修改配置

[root@ld01 ~]# ip a|grep 10.0.0.10
    inet 10.0.0.10/24 brd 10.0.0.255 scope global eth0
[root@ld01 ~]# cat /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 lb01                                         ##修改成主机名(其实修改成什么都可以,只要不和另一个一样就行)
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {            #不做修改
    state MASTER                #状态主备,MASTER为主
    interface eth0   
    virtual_router_id 51       #不改
    priority 100                    #优先级,主的一定要比备大
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.0.3/24 dev eth0 label eth0:1             #vip
    }
}
-----------------------------------------------------------------------------

[root@lb02 ~]# ip a|grep 10.0.0.12
    inet 10.0.0.12/24 brd 10.0.0.255 scope global eth0
[root@lb02 ~]# cat /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 lb02
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
   10.0.0.3/24 dev eth0 label eth0:1
    }
}
----------------------------------------------

2台主机执行:

systemctl restart network

systemctl restart keepalived

----------------------------

四、实现高可用功能

在主节点关闭keepalive服务,然后查看10.0.0.3的ip是否飘逸过去,如果飘逸过去说明成功;

       

五、脚本+keepalived实现高可用功能

当检测到nginx关闭之后,自动关闭主节点keepalived,从而实现主备切换

1、 mkdir -p /server/scripts/
2、 [root@ld01 service]# cat /server/scripts/chk_lb.sh     (记得授权+X)
#!/bin/bash
ss=`netstat -lntp|grep nginx|wc -l`
if [ $ss -eq 0 ];then
echo "nginx is down"
#systemctl stop keepalived
systemctl stop keepalived.service
fi
3、 keepalived调用脚本 (俩台主机全部都配置)

[root@ld01 service]# cat /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 lb01
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
vrrp_script chk_lb {
    script /server/scripts/chk_lb.sh
    interval 2
    timeout  10
    weight 1

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.0.3/24 dev eth0 label eth0:1
    }
 track_script {
    chk_lb
    }
}


----------------------------

现在关闭nginx,keepalived也就自动关闭了;

全部评论