LVS+Keepalived群集
目录
一、Keepalived及其工作原理
Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。
在一个LVS服务集群中通常有主服务器(MASTER) 和备份服务器(BACKUP) 两种角色的服务器,但是对外表现为一个虚拟IP,主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。
1、Keepalived体系主要模块及其作用
keepalived体系架构中主要有三个模块,分别是core、check和vrrp
- core模块:为keepalived的核心,负责主进程的启动、维护及全局配置文件的加载和解析。
- vrrp模块:是来实现VRRP协议的。
- check模块:负责健康检查,常见的方式有端口检查及URL检查。
2、工作原理
Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能
2.1 VRRP(虚拟路由冗余协议)是针对路由器的一种备份解决方案
可以实现一主多备的功能,从而解决单点故障
VRRP会把多台路由器组成一个虚拟路由器组vrid ,VRRP会生成一个虚拟路由器(包含虚拟IP和虚拟MAC地址)
局域网内的用户不关心哪个是主哪个是备,他们只用虚拟路由器的虚拟IP作为他们的网关
实际上 虚拟IP是承载在 master 路由器上,也就是说实际的数据包是通过master进行转发
master backup 是通过优先级来决定哪个是master ,优先级最大的那台就是master
backup 只是用来监听 master定时发来的vrrp报文 , 如果超时未收到 master 发来的vrrp报文 backup 就会抢占master地位 , 虚拟IP也会一起漂移到 backup 上
在一个LVS服务集群中通常有主服务器(MASTER) 和备份服务器(BACKUP) 两种角色的服务器,但是对外表现为一个虚拟IP,主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。
二、LVS+Keepalived部署
主DR服务器:192.168.200.10
备DR服务器:192.168.200.11
Web服务器1:192.168.200.12
Web服务器2:192.168.200.13
vip:192.168.200.14
客户端:192.168.200.15
三、补充
1、Keepalived通过什么判断哪台主机为主服务器,通过什么方式配置浮动IP?
Keepalived首先做初始化先检查state状态,master为主服务器,backup为备服务器。然后再对比所有服务器的priority,谁的优先级高谁是最终的主服务器。优先级高的服务器会通过ip命令为自己的电脑配置一个提前定义好的浮动ip地址。
2、keepalived 脑裂现象 是如何产生的?那又如何解决?
在某一次故障切换后,原来的 master 并没有真正的挂掉,VIP还在,而backup 则已经抢占 master 地位,并也在本地配置了VIP
网络的层面来解决 再加一条链路,在本机通过脚本的方式来解决,if ping backupip,ping 不通 两种可能性 中间链路断掉了 backup宕机,if ssh 跳到某一台节点服务器 ping backup ,如果也ping 不通则判断 backup 宕机,如果ping通则说明是中间链路问题
或者通过第三方监控软件的方式来解决 zabbix P,监控服务器的状态,也监控网络的流量