1.安装
yum install keepalived -y
#查看安装路径
rpm -ql keepalived
2.修改配置
vi /etc/keepalived/keepalived.conf
#主配置如下:
! Configuration File for keepalived
global_defs {
notification_email {
test@abc.com
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id 10.0.0.112_web
vrrp_skip_check_adv_addr
#vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
script_user root
enable_script_security
}
#健康检查
vrrp_script chk_nginx {
script "/etc/keepalived/check_nginx.sh"
interval 5
weight -2
}
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.114
}
track_script {
chk_nginx
}
}
#从配置如下:
! Configuration File for keepalived
global_defs {
notification_email {
test@abc.com
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id 10.0.0.113_web
vrrp_skip_check_adv_addr
#vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
script_user root
enable_script_security
}
#健康检查
vrrp_script chk_nginx {
script "/etc/keepalived/check_nginx.sh"
interval 5
weight -2
}
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.114
}
track_script {
chk_nginx
}
}
#启动keepalived
systemctl start keepalived
#停止
systemctl stopkeepalived
#重启
systemctl restart keepalived
#查看启动状态
systemctl status keepalived
#文件check_nginx.sh
#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi