LVS + Keepalived 高可用集群部署

时间:2021-08-23 23:09:07   收藏:0   阅读:138

 

一、Keepalived工具

(1)支持故障自动切换(Failover)

(2)支持节点健康状态检查(Health Checking)

判断LVS负载调度器、节点服务器的可用性,当master主机出现故障即时切换到backup节点保证业务正常,当master故障主机恢复后将其重新加入群集并且业务重新切回master节点

(3)官方网站:http://www.keepalived.org/

 

二、Keepalived 及工作原理

Keepalived是一个基于底层协议是VRRP热备份协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。

1. 工作原理

在一个LVS服务集群中通常有主服务器 (MASTER)和备份服务器(BACKUP) 两种角色的服务器,但是对外表现为一个虚拟IP,主服务器会发送VRRP通告信息给备份服务器, 当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

2. Keepalived体系主要模块及其作用

3. VRRP(虚拟路由冗余协议)

工作原理

4. 故障转移机制

5. Keepalived 脑裂现象的产生,解决方法

1. 问题:

在一次故障切换后,原来的master并没有真正的挂掉 ,VIP还在而backup 则已经抢占master地位,并也在本地配置了VIP,本来为一整体、动作协调的HA系统,就分裂成为2个独立的个体。由于相互失去了联系,都以为是对方出了故障。两个节点上的HA软件像“裂脑人”一样,争抢“共享资源”、争起“应用服务”,就会发生严重后果——或者共享资源被瓜分、2边“服务”都起不来了;或者2边“服务”都起来了,但同时读写“共享存储”,导致数据损坏(常见如数据库轮询着的联机日志出错),这时客户端发送请求都能够做出响应造成资源的争夺

2. 解决方法:

(1)网络的层面来解决 再加一条链路需要一定的成本

(2)通过第三方监控软件的方式来解决 zabbix

监控服务器的状态,也监控网络的流量

(3)在本地通过脚本方式来解决

在master主机通过if判断是否能够ping通backup主机,ping不通2种可能性中间链路断掉了backup宕机再使用if判断使用ssh跳到某一台节点服务器ping backup主机 ,如果也ping 不通则判断backup宕机,如果Ping通则说明是中间链路问题链路问题就手动关闭maseter的keepalived工具,让backup主机顶上

(4)编写监控脑裂脚本

vim check_keepalived.sh

#!/bin/bash

state=$(ip addr show ens33 | grep 192.168.150.200 | wc -l)

while true

do

if [ $state -ne 0 ]

then

echo "建立VIP"

else

echo "未建立VIP"

fi

done

 

 

三、实验:LVS + Keepalived 高可用群集的搭建

原文:https://www.cnblogs.com/darryallen/p/15177736.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!