Keepalived LVS群集

什么是Keepalived?

Keepalived是一个开源的网络高可用性解决方案,它主要用于在负载均衡和故障转移的环境中确保服务的持续可用性。

Keepalived是基于VRRP协议来实现高可用的方案

Keepalived是如何工作的?

在一个LVS集群中有主服务器和备服务器之分。

在默认的情况下,通过优先级来决定谁主谁备(主服务器master 和 备服务器backup),master会通过IP命令在本地生成VIP,接收到来自客户端的请求消息并处理,同时也会定时的给backup发送VRRP消息来告知自身的存活状态,当master发生故障,backup会接替VIP来继续提供服务,保证服务的高可用。

Keepalived工作模式

Keepalived有两种工作模式,分别是 抢占模式 和 非抢占模式。

  • 抢占模式:当主服务器master发生故障恢复后,会抢占备服务器backup的VIP
  • 非抢占模式:当主服务器master发生故障恢复后,不会抢占备服务器backup的VIP

非抢占模式如何设置: 主备节点的state都配置为BAKCUP,并且都添加配置nopreempt

Keepalived 脑裂故障

当Keepalived发生脑裂故障,会发现主服务器和备服务器都拥有着相同的VIP

这种现象发生的原因是因为主服务器和备服务器直接的通信断开,导致了备服务器无法收到主服务器发送的VRRP报文,此时备服务器认为主服务器发生了故障,因此通过IP命令生成了VIP

解决脑裂故障的方法:将主服务器或者备服务器其中一个的Keepalived服务关闭

如何预防脑裂故障?

(1)关闭防火墙或者修改防火墙规则放通VRRP组播地址(224.0.0.18)

(2)主备服务器通信中断,就添加双链路通信

(3)使用脚本在主服务器判断与备服务器的通信是否中断,判断通信确实中断,就关闭自身keepalived服务

(4)使用第三方应用或监控系统检测有无发生了脑裂故障,如果确认发生脑裂故障则通过第三方应用或监控系统来关闭主服务器或备服务器其中一个的keepalived服务

相关推荐
努力学习的小廉20 分钟前
深入了解linux网络—— 自定义协议(上)
linux·服务器·网络
野犬寒鸦1 小时前
从零起步学习Redis || 第十一章:主从切换时的哨兵机制如何实现及项目实战
java·服务器·数据库·redis·后端·缓存
要做朋鱼燕2 小时前
【AES加密专题】1.AES的原理详解和加密过程
运维·网络·密码学·c·加密·aes·嵌入式工具
yunson_Liu2 小时前
jenkins更新了gitlab后出现报错
运维·gitlab·jenkins
iconball2 小时前
个人用云计算学习笔记 --19 (MariaDB服务器)
linux·运维·笔记·学习·云计算
Lynnxiaowen2 小时前
今天我们开始学习python3编程之python基础
linux·运维·python·学习
skywalk81632 小时前
term.everything‌ 通过终端运行任意GUI应用程序
运维
dragoooon343 小时前
[Linux系统编程——Lesson6.进程切换与调度]
linux·运维·服务器
waves浪游3 小时前
Linux基本指令(下)
linux·运维·服务器
2401_831501734 小时前
Linux之lvm存储卷管理篇
运维