LVS+Keepalived 高可用群集

      最后更新:2022-06-10 09:10:49 手机定位技术交流文章

      LVS+Keepalived高可用性群

      • 前言
      • 维持生命工具的介绍
      • 维持执行原则的分析
        • (1)VRRP(虚拟)路由冗余协议
      • 永生之案
      • LVS+支持高可用性集群建设
        • (一)配置主负荷计
        • (二)配置二次负荷计
        • (三)配置节点服务器web1
        • (4)配置节点服务器web2
        • (5)测试结果
          • ①主调度器存活时
          • 2关掉主调制器测试结果
      • 5.保持大脑的裂缝和解
        • 什么导致脑骨折?
        • (2)脑裂的原因
        • (3)应对策略
      • 总结

      前言

      keepalived是基于VRRP协议的Linux下实现的高可用性LVS程序,该工具旨在监测LVS设计的集群系统中的每个服务器的状态,并从系统中删除故障的服务器。只有修补故障节点需要人工操作,它在企业中广泛应用。

      维持生命工具的介绍

      专为LVS和HA设计的健康检查工具

      • 支持失败

      • 支持节点健康检查

      维持执行原则的分析

      • Keepalived使用VRRP热备份协议实现Linux服务器的多计算机热备份功能

      (1)VRRP(虚拟)路由冗余协议

      • 为路由器提供备份解决方案

      • 多个路由器组成的热储备组,通过共享虚拟IP地址提供外部服务

      • 每个加热组中只有一个主路由器同时提供服务,而其他路由器则处于冗余状态

      • 如果当前的在线路由器故障,其他路由器将根据优先设置自动替换虚拟IP地址,并继续提供服务

      永生之案

      在这里插入图片描述

      • Keepalived允许多服务器备份,每个备份组有多个服务器

      • 采用虚拟P地址漂移实现双机热源故障开关,适用于各种应用服务器

      • Keepalived配置目录位于/etc/keepalived/

      • 配置 Keepalived主服务器

        • Keep alived.conf是主配置文件

      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),可以是多个

      • 配置 Keepalived奴隶服务
        • Keepalived备份服务器和主机配置有三个选项

      router_id:设置为自己的名称
      状态:设置为备份
      优先级:主服务器下面的值

      • 其他选项与主选项相同

      • 测试双机热备的效果

      router_id:设置为自己的名称
      状态:设置为备份
      优先级:主服务器下面的值

      LVS+支持高可用性集群建设

      环境
      主RD服务器:
      备份DR服务器:
      网络服务器1:
      网络服务器2:

      (一)配置主负荷计

      关闭防火墙
      在这里插入图片描述
      安装服务

      修改维护的配置文件

      在这里插入图片描述

      在这里插入图片描述
      启动服务并查看虚拟网络卡IP
      在这里插入图片描述
      调整进程响应参数以关闭Linux内核的重新分配参数响应
      在这里插入图片描述
      刷新一下
      在这里插入图片描述
      配置负荷分配策略并启动服务
      在这里插入图片描述
      清除ipvsadm并创建策略
      在这里插入图片描述
      保存设置
      在这里插入图片描述

      (二)配置二次负荷计

      关闭防火墙
      在这里插入图片描述
      安装服务
      在这里插入图片描述
      修改维护的配置文件
      在这里插入图片描述

      在这里插入图片描述
      启动服务并查看虚拟网络卡VIP
      在这里插入图片描述
      调整进程响应参数以关闭Linux内核的重新分配参数响应
      在这里插入图片描述
      刷新一下
      在这里插入图片描述
      配置负荷分配策略并启动服务

      在这里插入图片描述
      清除ipvsadm并创建策略
      在这里插入图片描述
      保存设置
      在这里插入图片描述

      (三)配置节点服务器web1

      关闭防火墙
      在这里插入图片描述
      安装和打开httpd服务
      在这里插入图片描述
      配置站点文件
      在这里插入图片描述
      配置虚拟vip
      在这里插入图片描述
      重新启动网络服务以打开虚拟网络卡
      在这里插入图片描述
      设置路由
      在这里插入图片描述
      调整Proc响应参数
      在这里插入图片描述
      调整Proc响应参数
      在这里插入图片描述

      (4)配置节点服务器web2

      关闭防火墙
      在这里插入图片描述
      安装和打开httpd服务
      在这里插入图片描述
      创建站点文件
      在这里插入图片描述
      配置虚拟ip
      在这里插入图片描述
      重新启动网络服务以打开虚拟网络卡
      在这里插入图片描述
      在这里插入图片描述
      设置路由
      在这里插入图片描述
      调整Proc响应参数
      在这里插入图片描述
      刷新proc参数
      在这里插入图片描述

      (5)测试结果

      ①主调度器存活时

      在这里插入图片描述
      在这里插入图片描述
      在客户端测试
      在这里插入图片描述
      在这里插入图片描述

      2关掉主调制器测试结果

      在这里插入图片描述

      在这里插入图片描述
      在客户端测试
      在这里插入图片描述
      在这里插入图片描述

      5.保持大脑的裂缝和解

      什么导致脑骨折?

      在高可用性系统中,当连接两个节点的心脏跳动线被切断时,最初为一个整体、协调的HA系统,他们分成两个单独的个体。由于失去接触,他们认为这是对方的错。两个节点上的HA软件就像一个破裂的大脑。争取“共享资源”,争取“应用服务”,会发生严重的后果:要么资源共享将被分开,没有两个服务方会聚在一起;要么两个服务方会聚在一起;但同时读写“共享存储”,导致数据损坏(例如数据库查询中常见的连接日志错误)。

      (2)脑裂的原因

      • 一个高可用性服务器无法与互连环正常通信。 如果心脏跳动(包括跳动、衰老)被破坏。

      • 由于网络卡和相关驱动器故障,IP配置和冲突(网络卡直接连接)。

      • 由于心脏跳动,无法连接设备(网络卡和开关)。

      • 由于仲裁机(使用仲裁方案)出现问题。

      • 高可用性服务器上的iptables防火墙阻止了心脏跳动消息传输。

      • 在Keepalived配置中相同的VRRP实例中,如果 virtual_router_id的两个端参数配置不相同,则可能会出现一个破裂的大脑问题。

      • vrrp实例的名称不一致,优先次序不一致。

      (3)应对策略

      • 增加冗余的心跳线,例如双线线(心跳线也是HA)以减少“脑骨折”的可能性

      • 启用磁盘锁。在服务方面锁定共享磁盘,“裂脑”发生时,让另一方完全共享磁盘资源“不要偷”。但使用锁定的磁盘还有一个小问题,如果占有共享磁盘的党派不主动解锁,另一方永远不会得到共享磁盘。实际上,如果服务节点突然死亡或崩溃,执行解锁命令是不可能的.备份节点也无法处理共享资源和应用程序服务。因此,某人在海事处设计了“智能”锁。也就是说,服务的一方只在发现心跳全断时激活磁盘锁(在相反端没有检测)。平时就不上锁了。

      • 设置仲裁机制。例如,设置一个参考IP(例如网络关口IP),当心跳完全断开时,两个节点互相拨号,以获取参考IP,不一致性表明,断点是最后的。不仅心脏跳动,而且家庭端网络链路的外部“服务”也受到干扰,即使应用程序服务不用于启动(或继续),那就主动放弃竞争,允许 ping 访问服务端的参考 IP 。更保险一些,无法访问IP引用的程序会重新启动。完全释放那些可能仍被占用的共享资源。

      • 使用脚本检测和报警.

      总结

      • 养活动物的主要功能和工作原理分析
      • 构建负荷平衡、高可用性集群
      • 脑骨折的原因和解决方法

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/26970.html

          热门文章

          文章分类