(运维服务)高可用keepalived配置实战
Posted 林炜玮_51CTO
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(运维服务)高可用keepalived配置实战相关的知识,希望对你有一定的参考价值。
Keepalived 模拟情景图
- IP地址根据自己的环境设置(本人使用master用172.16.10.22 backup用172.16.10.24)
- 各节点时间必须同步:ntp, chrony
- 关闭防火墙及SELinux
- 各节点之间可通过主机名互相通信:非必须
- 建议使用/etc/hosts文件实现:非必须
- 各节点之间的root用户可以基于密钥认证的ssh服务完成互相通信:非必须
Keepalived 配置
初始化安装
yum info keepalived #查看安装包信息
yum install keepalived -y #yum安装,编译安装,测试环境什么快用什么
#查看安装信息rpm -ql keepalived
systemctl enable --now keepalived.service #启动服务
#查看服务systemctl status keepalived.service,如果状态不对查看日志找原因cat /var/log/message。一般情况有网卡必须是eth0、没有服务启动文件。修改网卡名教程https://blog.51cto.com/linweiwei/4895424
mkdir /etc/keepalived/conf.d/ #创建配置文件子目录,将配置实例的配置信息放到里面,优化keepalived.conf视图
主配置文件参数设置
master服务器配置
vim /etc/keepalived/keepalived.conf #配置信息如下,均附有说明
#进入其他实例配置路径,编辑实例keepalived_1的信息
记得文件名后缀改下mv keepalived_1 keepalived_1.conf
backup服务器配置
#同样安装、启动服务,省略……
#配置主配置文件和实例keepalived_2的信息
cd /etc/keepalived/conf.d
vi keepalived_2 #记得文件名后缀改下mv keepalived_1 keepalived_2.conf
重启master和backup服务器的服务systemctl restart keepalived.service
抓包查看组播信息
图为vrrp信息,组播地址(可协商配置) tcpdump -i eth0 -nn host 224.0.0.18,有组内成员IP和优先级,vrid
网络高可用测试
MASTER的虚拟IP地址已经出现,Ping测试下网络通畅
可以通过arp -n发现服务的MAC地址变更
优化设置
最后我们优化些设置,关闭抢占模式或角色都为BACKUP延迟抢占,组播协商改为单播协商(关闭严格模式)优化网络拥塞,单播意味高优先级向低优先级发送通告,如果下游没有收到,一定时间后启用主备切换。抓包方法为 tcpdump -i eth0 -nn src host 10.0.0.8 and dst host 10.0.0.18
双主配置
同理,由于主备的情况存在,有个服务器的资源浪费,可以使用他们成为不同业务的主备实现负载均衡,步骤等同,文件多点。
172.16.10.22 A业务为主 B业务为备 主虚拟IP为172.16.10.200 备虚拟IP为172.16.10.201
172.16.10.24 A业务为备 B业务为主 备虚拟IP为172.16.10.200 主虚拟IP为172.16.10.201
#label不要设置一样0:1~9
告警配置
编写自动化脚本利用邮箱发送,邮箱说明https://blog.51cto.com/linweiwei/4955644
vim /etc/keepalived/notify.sh #自行编程
chmod +x /etc/keepalived/notify.sh #使文件可以执行
以上是关于(运维服务)高可用keepalived配置实战的主要内容,如果未能解决你的问题,请参考以下文章