- yum直接安装
yum -y install keepalived
- 或者RPM包安装
rpm -ivh psmisc-22.20-17.el7.x86_64.rpm --force --nodeps --replacepkgs
rpm -ivh libnl3-3.2.28-4.el7.x86_64.rpm --force --nodeps --replacepkgs
rpm -ivh net-snmp-libs-5.7.2-49.el7_9.4.x86_64.rpm --force --nodeps --replacepkgs
rpm -ivh net-snmp-agent-libs-5.7.2-49.el7_9.4.x86_64.rpm --force --nodeps --replacepkgs
rpm -ivh lm_sensors-libs-3.4.0-8.20160601gitf9185e5.el7_9.1.x86_64.rpm --force --nodeps --replacepkgs
rpm -ivh perl-libs-5.16.3-299.el7_9.x86_64.rpm --force --nodeps --replacepkgs
rpm -ivh keepalived-1.3.5-19.el7.x86_64.rpm --force --nodeps --replacepkgs
- /etc/keepalived/keepalived.conf配置文件内容:
! Configuration File for keepalived
global_defs {
vrrp_skip_check_adv_addr
}
vrrp_script check_Mysqld {
script "killall -0 mysqld"
interval 2
fall 2
weight -20
}
vrrp_instance VI_1 {
state BACKUP
interface ens192
virtual_router_id 66
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass Aa123456
}
virtual_ipaddress {
192.168.7.58
}
#当实例变为主服务器时,会执行指定的脚本 /etc/keepalived/notify_action.sh,并将参数 MASTER 传递给该脚本
#notify_master "/etc/keepalived/notify_action.sh MASTER"
#当实例从主服务器状态切换到备用服务器状态时,会执行同样的脚本,但这次传递的参数是 BACKUP
#notify_backup "/etc/keepalived/notify_action.sh BACKUP"
#当检测到故障(例如,主服务器无法访问),它会执行该脚本,并将参数 FAULT 传递给脚本
#notify_fault "/etc/keepalived/notify_action.sh FAULT"
#当服务停止时,会执行该脚本,并将参数 STOP 传递给脚本
#notify_stop "/etc/keepalived/notify_action.sh STOP"
track_script {
check_Mysqld
}
}
两个节点都是BACKUP,配置的priority权重一样,让他们通过脚本控制权重来竞争VIP。如果有多个节点且有相同的优先级,Keepalived会选择IP地址更高的那个节点作为主节点。 interface为网卡名称,不一样的话注意修改; 同一环境内,virtual_router_id 唯一且两个节点一致; interval 2 表示每2秒执行一次脚本; fall 2 表示连续两次执行脚本都异常才认定为异常,判断的依据是脚本返回的状态码:0为正常,非0异常; 如果script脚本执行结果非0(即执行结果异常),则优先级相应的减少20; 如果script脚本执行结果为0(即执行结果正常),则优先级相应的会还原;
