keepalived简介:
keepalived主要应用于服务高可用架构中,工作原理是通过vrrp协议实现。主要实现方式为:当keepalived服务检测到主服务器出现故障时,实现VIP的飘移,让备用服务器顶替主服务器工作,从而实现服务的高可用
实验环境
系统:centos7.5
安装配置
yum安装keepalived:
yum install keepalived -y
备份配置文件:
cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
编辑配置文件:
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs { #全局配置标识,表明这个区域{}是全局配置
router_id LVS_DEVEL #路由id,每组的路由id是唯一的
}
vrrp_instance VI_1 {
state BACKUP #主服务器MASTER,备服务器BACKUP
interface eth0 #服务器网卡名称,需要和绑定VIP的网卡名称一致
virtual_router_id 51 #主备VRID号必须一致
priority 100 #服务器优先级,当同为BACKUP时,越高越优先
advert_int 1 #主备服务器每隔1秒互相对比priority值
# nopreempt #非抢占。通常如果master服务死掉后backup会变成master,但是当master服务又好了的时候master此>
时会抢占VIP,这样就会发生两次切换对业务繁忙的网站来说是不好的。所以我们要在配置文件加入nopreempt非抢占,但是这个参数只能用
于state为backup,故我们在用HA的时候最好master和backup的state都设置成backup让其通过priority来竞争
authentication {
auth_type PASS #keepalived只支持两种认证,这里使用第二种简单密码认证,也就是预认证
auth_pass 1111 #主备认证密码(生产环境介意修改),最长支持八位
}
virtual_ipaddress { #vip虚拟ip地址,可以配置多个
192.168.12.100
}
}
重启服务:systemctl restart keepalived.service
开机自启:systemctl enable keepalived.service
安装后检测
ip查看:发现出现脑裂
检查防火墙:发现是防火墙未关闭
解决办法:
1.关闭防火墙:systemctl stop firewalld (生产环境不推荐)
2.防火墙允许vrrp:
firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface ens33 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
重启配置:firewall-cmd --reload
-----------日常记录---------------