
garp_master_delay 1garp_master_refresh 5


yum list keepalived
yum install -y keepalived
tar zxvf keepalived-1.2.24.tar.gzcd keepalived-1.2.24./configure --prefix=/make; make installchmod +x /etc/init.d/keepalived //防止出现 env: /etc/init.d/keepalived: Permission denied
vim /etc/keepalived/keepalived.conf,修改相关配置。! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 192.168.200.1smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addrvrrp_garp_interval 0vrrp_gna_interval 0}vrrp_script checkhaproxy{script "/etc/keepalived/do_sth.sh" # 检测业务进程是否运行正常。其中“do_sth.sh”文件为用户自定义的业务进程检测脚本,请根据业务需要来执行,执行时“do_sth.sh”更换为实际的脚本名称。interval 5}vrrp_instance VI_1 {# 注意主备参数选择state BACKUP # 设置初始状态均为“备“interface eth0 # 设置绑定 VIP 的网卡 例如 eth0virtual_router_id 51 # 配置集群 virtual_router_id 值nopreempt # 设置非抢占模式,# preempt_delay 10 # 仅 state MASTER 时生效priority 100 # 两设备是相同值的等权重节点advert_int 5authentication {auth_type PASSauth_pass 1111}unicast_src_ip 172.16.16.5 # 设置本机内网IP地址unicast_peer {172.16.16.6 # 对端设备的 IP 地址}virtual_ipaddress {172.16.16.12 # 设置高可用虚拟 VIP}notify_master "/etc/keepalived/notify_action.sh MASTER"notify_backup "/etc/keepalived/notify_action.sh BACKUP"notify_fault "/etc/keepalived/notify_action.sh FAULT"notify_stop "/etc/keepalived/notify_action.sh STOP"garp_master_delay 1 # 设置当切为主状态后多久更新 ARP 缓存garp_master_refresh 5 # 设置主节点发送 ARP 报文的时间间隔track_interface {eth0 # 使用绑定 VIP 的网卡 例如 eth0}track_script {checkhaproxy}}
:wq!保存并退出。vim /etc/keepalived/keepalived.conf,修改相关配置。! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 192.168.200.1smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addrvrrp_garp_interval 0vrrp_gna_interval 0}vrrp_script checkhaproxy{script "/etc/keepalived/do_sth.sh"interval 5}vrrp_instance VI_1 {# 注意主备参数选择state BACKUP # 设置初始状态均为“备“interface eth0 # 设置绑定 VIP 的网卡 例如 eth0virtual_router_id 51 # 配置集群 virtual_router_id 值nopreempt # 设置非抢占模式# preempt_delay 10 # 仅 state MASTER 时生效priority 100 # 两设备是相同值的等权重节点advert_int 5authentication {auth_type PASSauth_pass 1111}unicast_src_ip 172.16.16.6 # 设置本机内网 IP 地址unicast_peer {172.16.16.5 # 对端设备的 IP 地址}virtual_ipaddress {172.16.16.12 # 设置高可用虚拟 VIP}notify_master "/etc/keepalived/notify_action.sh MASTER"notify_backup "/etc/keepalived/notify_action.sh BACKUP"notify_fault "/etc/keepalived/notify_action.sh FAULT"notify_stop "/etc/keepalived/notify_action.sh STOP"garp_master_delay 1 # 设置当切为主状态后多久更新 ARP 缓存garp_master_refresh 5 # 设置主节点发送ARP报文的时间间隔track_interface {eth0 # 使用绑定 VIP 的网卡 例如 eth0}track_script {checkhaproxy}}
:wq!保存并退出。systemctl start keepalived



vim /etc/keepalived/notify_action.sh 命令添加脚本“notify_action.sh”,脚本内容如下:#!/bin/bash#/etc/keepalived/notify_action.shlog_file=/var/log/keepalived.loglog_write(){echo "[`date '+%Y-%m-%d %T'`] $1" >> $log_file}[ ! -d /var/keepalived/ ] && mkdir -p /var/keepalived/case "$1" in"MASTER" )echo -n "$1" > /var/keepalived/statelog_write " notify_master"echo -n "0" /var/keepalived/vip_check_failed_count;;"BACKUP" )echo -n "$1" > /var/keepalived/statelog_write " notify_backup";;"FAULT" )echo -n "$1" > /var/keepalived/statelog_write " notify_fault";;"STOP" )echo -n "$1" > /var/keepalived/statelog_write " notify_stop";;*)log_write "notify_action.sh: STATE ERROR!!!";;esac
chmod a+x /etc/keepalived/notify_action.sh 修改脚本权限。文档反馈