1:安装keepalived
apt install keepalived
2:配置Keepalived
/etc/keepalived/keepalived.conf
Master配置
! Configuration File for keepalived
global_defs {
router_id MASTER
}
vrrp_script chk_mysql_port { #检测mysql服务是否在运行。有很多方式,比如进程,用脚本检测等等
script "/mysql/chk_mysql.sh" #这里通过脚本监测
interval 2 #脚本执行间隔,每2s检测一次
weight –5 #脚本结果导致的优先级变更,检测失败(脚本返回非0)则优先级 -5
fall 2 #检测连续2次失败才算确定是真失败。会用weight减少优先级(1-255之间)
rise 1 #检测1次成功就算成功。但不修改优先级
}
vrrp_instance VI_1 {
state MASTER #表示状态
interface wlp3s0 #指定虚拟ip的网卡接口
mcast_src_ip 192.168.0.104 #本地IP
virtual_router_id 51 #路由器标识,MASTER和BACKUP必须是一致的
priority 101 #定义优先级,数字越大,优先级越高,在同一个vrrp_instance下,MASTER的优先级必须大于BACKUP的优先级。
advert_int 1
nopreempt #不抢占模式,在优先级高的机器上设置即可,优先级低的机器可不设置
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.0.180 #虚拟IP
}
track_script {
chk_mysql_port
}
}
Back配置
! Configuration File for keepalived
global_defs {
router_id BACK #路由ID,当前安装keepalived节点主机的标识符,全局唯一
}
vrrp_script chk_mysql_port { #检测mysql服务是否在运行。有很多方式,比如进程,用脚本检测等等
script "/mysql/chk_mysql.sh" #这里通过脚本监测
interval 2 #脚本执行间隔,每2s检测一次
weight –5 #脚本结果导致的优先级变更,检测失败(脚本返回非0)则优先级 -5
fall 2 #检测连续2次失败才算确定是真失败。会用weight减少优先级(1-255之间)
rise 1 #检测1次成功就算成功。但不修改优先级
}
vrrp_instance VI_1 {
state BACKUP #表示状态,MASTER/BACKUP
interface eth0 #指定虚拟ip的网卡接口
mcast_src_ip 192.168.0.82 #本地IP
virtual_router_id 51 #路由器标识,MASTER和BACKUP必须是一致的
priority 100 #定义优先级,数字越大,优先级越高,在同一个vrrp_instance下,MASTER的优先级必须大于BACKUP的优先级。
advert_int 1 #心跳间隔
nopreempt #不抢占模式,在优先级高的机器上设置即可,优先级低的机器可不设置
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.0.180 #虚拟IP
}
track_script {
chk_mysql_port
}
}