最后更新:2022-06-10 09:10:49 手机定位技术交流文章
keepalived是基于VRRP协议的Linux下实现的高可用性LVS程序,该工具旨在监测LVS设计的集群系统中的每个服务器的状态,并从系统中删除故障的服务器。只有修补故障节点需要人工操作,它在企业中广泛应用。
专为LVS和HA设计的健康检查工具
支持失败
支持节点健康检查
为路由器提供备份解决方案
多个路由器组成的热储备组,通过共享虚拟IP地址提供外部服务
每个加热组中只有一个主路由器同时提供服务,而其他路由器则处于冗余状态
如果当前的在线路由器故障,其他路由器将根据优先设置自动替换虚拟IP地址,并继续提供服务

Keepalived允许多服务器备份,每个备份组有多个服务器
采用虚拟P地址漂移实现双机热源故障开关,适用于各种应用服务器
Keepalived配置目录位于/etc/keepalived/
配置 Keepalived主服务器
Global_defs {..}字段指定全球参数
vrrp_instance 实例名 {..} 区域指定 vrrp 热备份参数
注释以“”符号开始
目录样本,提供许多配置实例供参考
router_id HA_TEST_R1:路由器(服务器)名称和主机名称不同
vrrp_instance Vl_1 : vrrp加热实例的定义
主服务器是主服务器的缩写。
接口 ens33:带有VIP地址的物理接口
virtual_router_id 1 : 虚拟路由器的ID数目,为每个加热组保持相同
优先次序100:数目越高,优先次序越高
advert_int 1: 注意间隔秒(心跳频率)
auth_type PASS
auth_pass 123456:密码字串
virtual_ipaddress {VIP}:指定一个漂移地址(VIP),可以是多个
router_id:设置为自己的名称
状态:设置为备份
优先级:主服务器下面的值
其他选项与主选项相同
测试双机热备的效果
router_id:设置为自己的名称
状态:设置为备份
优先级:主服务器下面的值
环境
主RD服务器:
备份DR服务器:
网络服务器1:
网络服务器2:
关闭防火墙
安装服务
修改维护的配置文件

启动服务并查看虚拟网络卡IP
调整进程响应参数以关闭Linux内核的重新分配参数响应
刷新一下
配置负荷分配策略并启动服务
清除ipvsadm并创建策略
保存设置
关闭防火墙
安装服务
修改维护的配置文件
启动服务并查看虚拟网络卡VIP
调整进程响应参数以关闭Linux内核的重新分配参数响应
刷新一下
配置负荷分配策略并启动服务
清除ipvsadm并创建策略
保存设置
关闭防火墙
安装和打开httpd服务
配置站点文件
配置虚拟vip
重新启动网络服务以打开虚拟网络卡
设置路由
调整Proc响应参数
调整Proc响应参数
关闭防火墙
安装和打开httpd服务
创建站点文件
配置虚拟ip
重新启动网络服务以打开虚拟网络卡

设置路由
调整Proc响应参数
刷新proc参数

在客户端测试


在客户端测试

在高可用性系统中,当连接两个节点的心脏跳动线被切断时,最初为一个整体、协调的HA系统,他们分成两个单独的个体。由于失去接触,他们认为这是对方的错。两个节点上的HA软件就像一个破裂的大脑。争取“共享资源”,争取“应用服务”,会发生严重的后果:要么资源共享将被分开,没有两个服务方会聚在一起;要么两个服务方会聚在一起;但同时读写“共享存储”,导致数据损坏(例如数据库查询中常见的连接日志错误)。
一个高可用性服务器无法与互连环正常通信。 如果心脏跳动(包括跳动、衰老)被破坏。
由于网络卡和相关驱动器故障,IP配置和冲突(网络卡直接连接)。
由于心脏跳动,无法连接设备(网络卡和开关)。
由于仲裁机(使用仲裁方案)出现问题。
高可用性服务器上的iptables防火墙阻止了心脏跳动消息传输。
在Keepalived配置中相同的VRRP实例中,如果 virtual_router_id的两个端参数配置不相同,则可能会出现一个破裂的大脑问题。
vrrp实例的名称不一致,优先次序不一致。
增加冗余的心跳线,例如双线线(心跳线也是HA)以减少“脑骨折”的可能性
启用磁盘锁。在服务方面锁定共享磁盘,“裂脑”发生时,让另一方完全共享磁盘资源“不要偷”。但使用锁定的磁盘还有一个小问题,如果占有共享磁盘的党派不主动解锁,另一方永远不会得到共享磁盘。实际上,如果服务节点突然死亡或崩溃,执行解锁命令是不可能的.备份节点也无法处理共享资源和应用程序服务。因此,某人在海事处设计了“智能”锁。也就是说,服务的一方只在发现心跳全断时激活磁盘锁(在相反端没有检测)。平时就不上锁了。
设置仲裁机制。例如,设置一个参考IP(例如网络关口IP),当心跳完全断开时,两个节点互相拨号,以获取参考IP,不一致性表明,断点是最后的。不仅心脏跳动,而且家庭端网络链路的外部“服务”也受到干扰,即使应用程序服务不用于启动(或继续),那就主动放弃竞争,允许 ping 访问服务端的参考 IP 。更保险一些,无法访问IP引用的程序会重新启动。完全释放那些可能仍被占用的共享资源。
使用脚本检测和报警.
本文由 在线网速测试 整理编辑,转载请注明出处。