Center os keepalived安装和配置
前期准备工作,主IP:172.28.244.151、备ip:172.28.244.144,虚拟IP(VIP):172.28.244.154
1、部署
通过 yum install keepalived安装即可,主/备机器均需要安装
2、keepalived配置
修改/etc/keepalived/keepalived.conf文件,主和备机配置基本相同:(可以清空安装完之后的keepalived.conf文件,按照如下格式自定义写入)
事先查看本机IP的网卡信息:
指令 ip a,这里是ens160
在主服务器修改配置文件:
参数说明,标红部分为需要修改的内容
global_defs {
router_id lb01 //自定义节点名
}
vrrp_instance osc {
state MASTER //自定义状态
interface ens160 //需改为本机的网卡名称
virtual_router_id 51 //自定义router id ,可以任意修改,但主机和备机要保持一致
priority 150 //权重,VIP根据这个权重进行切换,数值范围是0~255,保持主大于备;
advert_int 1 //VIP相互检测时间,这里是1s
authentication {
auth_type PASS //通信的密码类型
auth_pass 1111 //通信密码,保持主备一致
}
virtual_ipaddress {
172.28.244.154/24 //自定义虚拟IP
}
}
备机配置文件修改:
global_defs {
router_id lb02
}
vrrp_instance osc {
state BACKUP
interface ens160
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.28.244.154/24
}
}
3、启动
直接通过 service keepalived start/stop 启动和停止
通过查看ps -ef|grep keepalived状态,判断服务
如果启动失败,可以通过查看tail -f /var/log/messages 查看启动日志。
4、VIP验证和测试:
ip a 查看一下,发现已经成功了,你可以关掉其中一台的keepalived服务(systemctl stop keepalived.service),这个虚拟ip立马跳到另外一台上面。
配置、启动完成后,可以在权重比较大的主机上,查看当前网卡的信息,(当前备机网卡信息保持原样)如下:
发现虚拟ip,已经绑定到ens160网卡上了,原本的服务页面https://172.28.244.151 现在也可以通过https://172.28.244.154 来访问了。
切换测试:
如果停用掉,主机的keepalived服务,虚拟网卡信息,就会自动切换到备用机器上。通过message 的log信息,也能查看到当前vip的跳动状态。
停止主机keepalived服务
查看log,vip跑到备机上
4、常见问题处理:
a、遇到keepalived无法启动的情况,查看messages日志,
该问题,是权限问题,需要修改 /etc/keepalived/keepalived.conf文件的权限为644
Chmod 644 /etc/keepalived/keepalived.conf
再通过service keepalived start 指令启动即可。
b、遇到虚拟IP未生成的情况,
配置好后启动keepalived,ip addr 发现没有vip增加。
经过检查发现、usr/local/keepalived/etc/sysconfig/keepalived文档没有配置
vim /usr/local/keepalived/etc/sysconfig/keepalived
改KEEPALIVED_OPTIONS="-D"
为
KEEPALIVED_OPTIONS="-D -f /usr/local/keepalived/etc/keepalived/keepalived.conf"
#修改制定keepalived要加载的配置文件,设置正确的服务启动参数
重启后,vip出现了。
c、定义的 vrrp_script 脚本未执行(如果有定义脚本,比如检查VIP健康的脚本)
原因及解决方法:
采用 service 或 systemctl 命令启动任务时,会出现这个问题。只要改为 keepalived -f keepalived.conf 启动服务即可。