(运维服务)高可用keepalived配置实战

Posted 林炜玮_51CTO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(运维服务)高可用keepalived配置实战相关的知识,希望对你有一定的参考价值。

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

(运维服务)高可用keepalived配置实战_VRRP_02

systemctl enable --now keepalived.service #启动服务

#查看服务systemctl status keepalived.service,如果状态不对查看日志找原因cat /var/log/message。一般情况有网卡必须是eth0、没有服务启动文件。修改网卡名教程​​https://blog.51cto.com/linweiwei/4895424​

(运维服务)高可用keepalived配置实战_主从服务_03

mkdir /etc/keepalived/conf.d/ #创建配置文件子目录,将配置实例的配置信息放到里面,优化keepalived.conf视图

主配置文件参数设置

master服务器配置

vim /etc/keepalived/keepalived.conf  #配置信息如下,均附有说明

(运维服务)高可用keepalived配置实战_keepalive+lvs+haprox_04

#进入其他实例配置路径,编辑实例keepalived_1的信息


(运维服务)高可用keepalived配置实战_主从服务_05

记得文件名后缀改下mv keepalived_1 keepalived_1.conf

backup服务器配置

#同样安装、启动服务,省略……

#配置主配置文件和实例keepalived_2的信息

(运维服务)高可用keepalived配置实战_高可用_06

cd /etc/keepalived/conf.d

vi keepalived_2 #记得文件名后缀改下mv keepalived_1 keepalived_2.conf

(运维服务)高可用keepalived配置实战_VRRP_07

重启master和backup服务器的服务systemctl restart keepalived.service 

抓包查看组播信息

图为vrrp信息,组播地址(可协商配置) tcpdump -i eth0 -nn host 224.0.0.18,有组内成员IP和优先级,vrid

(运维服务)高可用keepalived配置实战_高可用_08

网络高可用测试

MASTER的虚拟IP地址已经出现,Ping测试下网络通畅

(运维服务)高可用keepalived配置实战_keepalive+lvs+haprox_09

(运维服务)高可用keepalived配置实战_keepalive+lvs+haprox_10

(运维服务)高可用keepalived配置实战_高可用_11

可以通过arp -n发现服务的MAC地址变更

优化设置

最后我们优化些设置,关闭抢占模式或角色都为BACKUP延迟抢占,组播协商改为单播协商(关闭严格模式)优化网络拥塞,单播意味高优先级向低优先级发送通告,如果下游没有收到,一定时间后启用主备切换。抓包方法为 tcpdump -i eth0 -nn src host 10.0.0.8 and dst host 10.0.0.18

(运维服务)高可用keepalived配置实战_主从服务_12


双主配置

同理,由于主备的情况存在,有个服务器的资源浪费,可以使用他们成为不同业务的主备实现负载均衡,步骤等同,文件多点。

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

(运维服务)高可用keepalived配置实战_keepalive+lvs+haprox_13

告警配置

编写自动化脚本利用邮箱发送,邮箱说明​​https://blog.51cto.com/linweiwei/4955644​

(运维服务)高可用keepalived配置实战_keepalived_14

(运维服务)高可用keepalived配置实战_主从服务_15

vim /etc/keepalived/notify.sh #自行编程

chmod +x /etc/keepalived/notify.sh  #使文件可以执行

以上是关于(运维服务)高可用keepalived配置实战的主要内容,如果未能解决你的问题,请参考以下文章

一文学会k8s多master集群+keepalived高可用实战

keepalived高可用集群技术介绍及实战演练

LVS+Keepalived 高可用群集实战部署

LVS+KeepAlived构建高可用集群

LVS+KeepAlived高可用部署实战应用

Nginx+keepalived高可用配置实战(内附彩蛋)