root@gt_dhcp1:~# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
script_user root
enable_script_security
router_id gt_dhcp1 #一般使用主机名,两台主机不一致
}
vrrp_script check_run {
script "/root/check_dhcp.sh"
interval 5
}
vrrp_instance VI_1 {
state MASTER # 标示为主lvs
interface ens18 # HA检测端口,根据实际网卡名称,也可能是eth1,或ens3
virtual_router_id 167 # 主备的virtual_router_id 必须相同
priority 100 # 优先级,备lvs要比主lvs稍小
advert_int 1 # VRRP Multicast 广播周期秒数
#notify_master /root/check_master.sh #作用:当成为MASTER时,执行脚本。
#notify_backup /root/check_backup.sh #作用:当成为backup时,执行脚本。
authentication { # 定义认证
auth_type PASS # 认证方式为口令认证
auth_pass netease@167 # 定义口令
}
track_script {
check_run
}
virtual_ipaddress { # 定义vip
IP1 dev ens18 label ens18:0 # 多个vip可换行添加
#IP2 dev ens18 label ens18:0 # 多个vip可换行添加
}
}
------------------------------------------------------
root@gt_dhcp1:~# cat /root/check_dhcp.sh
#!/bin/bash
######dhcp 2022-07-21###
dhcp=netstat -utlnp | grep 67| grep dhcpd | wc -l ()
if [ $dhcp -eq 0 ];then
/etc/init.d/isc-dhcp-server restart
sleep 1
dhcp1=netstat -utlnp | grep 67| grep dhcpd | wc -l
if [ $dhcp1 -eq 0 ];then
systemctl stop keepalived
fi
fi
暂无评论