一、准备:
1:和机房沟通好,哪台机器和哪些ip需要漂移,并且保证漂移的ip,漂移后能外网访问这个漂移的ip
2:yum -y install keepalived nignx
二、主设置:
cp /etc/keepalived/keepalived.conf keepalived.conf-back
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
[email protected]
[email protected] ---三个收件的邮箱(可不动)
[email protected]
}
notification_email_from [email protected] ---发送的邮箱(可不动)
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
#vrrp_strict ---------注释掉,要不然ping不通vip
vrrp_garp_interval 0
vrrp_gna_interval 0
}
~~~~~~~~~~~~~~~~~上面其他的都可以不动~~~~~~~~~~~~~~~~~~~~~~~~~
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 {
202.60.230.94 --vip地址可以配置一个,也可以配置多个
202.60.230.95
202.60.230.97
202.60.230.99
202.60.230.101
202.60.230.107
}
}
下面全面删除
三、从设置:
cp /etc/keepalived/keepalived.conf keepalived.conf-back
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
[email protected]
[email protected] ---三个收件的邮箱(可不动)
[email protected]
}
notification_email_from [email protected] ---发送的邮箱(可不动)
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
#vrrp_strict ---------注释掉,要不然ping不通vip
vrrp_garp_interval 0
vrrp_gna_interval 0
}
~~~~~~~~~~~~~~~~~上面其他的都可以不动~~~~~~~~~~~~~~~~~~~~~~~~~
vrrp_instance VI_1 {
state BACKUP -------------从
interface eth0 ---注意填写外网,网卡名称
virtual_router_id 51
priority 80 ------------优先级(比主低)
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
202.60.230.94 --vip地址可以配置一个,也可以配置多个
202.60.230.95
202.60.230.97
202.60.230.99
202.60.230.101
202.60.230.107
}
}
下面全面删除
四、书写脚本自我检查
vim /mnt/keep-chenk.sh
#!/bin/bash
for i in `seq 20`
do
AA=`ps -ef | grep /usr/local/nginx/sbin/nginx | grep -v grep | wc -l`
if [ $AA == 0 ];then
systemctl stop keepalived
fi
sleep 3
done
五、启动服务
先启动主keepalived,再启动从keepalived
六、故障处理
列如:主keepalived的nginx挂了,自动检查就会停掉keepalived(ip会自动漂移到另外一台nginx上)
需要把ip再漂移回来,只需启动主的nginx后再systemctl restart keepalievd就可以看到ip又漂回来了