第三章:LVS+Keepalivd 群集

2023年 9月 12日 92.4k 0

一 .Keepalived 简介

Keepalived :高可用的工具

1. Keepalived工具介绍

  • 支持故障自动切换 (Failover)
  • 支持节点健康状态检查 (Health Checking)
  • 2. 工作原理:

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

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

    3. 下载keepalived 软件包官网

    官方网站: www.keepalived.org/

    4. 普及

    一个合格的集群应该具备以下几个特性

    1. 负载均衡

  • 提高响应能力,实现高并发,高负载能力,减少延迟

  • 代表 :LVS Nginx

  • 2. 健康检查(探针)能力

  • 检查节点服务器和调度器的健康

  • for 调度器/节点服务器 keepalived Heartbeat

  • *检查方法

    • 1.发送心跳消息 ping / pong

    • 2.TCP端口检查,向一台主机,IP:PORT 发起TCP连接

    • 3.HTTP URL 检查 向一个主机的 http://IP:port/URL路径 发送HTTP GET请求方法,主机响应返回 2xx 3xx 状态码则认为健康检查正常,如响应返回 4xx 5xx 状态码则认为健康检查异常。

    3. 故障转移能力

  • 主备切换
  • 二 . Keepalived实现原理剖析

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

    1. 原理剖析

    VRRP(虚拟路由元余协议)是针对路由器的一种备份解决方案

  • 由多台路由器组成一个热备组,通过共用的虚拟IP地址对外提供服务
  • 每个热备组内同时只有一台主路由器提供服务,其他路由器处于冗余状态
  • 若当前在线的路由器失效,则其他路由器会根据设置的优先级自动接替虚拟IP地址,继续提供服务
  • image.png

    Keepalived案例讲解

    双机热备的故障切换是由虚拟IP地址的漂移来实现,适用于各种应用服务器

    实现基于Web服务的双机热备

    • 漂移地址: 192.168.10.72

    • 主、备服务器:192.168.10.73、192.168.10.74

    • 提供的应用服务:Web

    image.png
    三. 实现主备漂移实验部署

    Keepalived体系主要模块及其作用:

    keepalived体系架构中主要有三个模块,分别是core、check和vrrp。

    • core模块:为keepalived的核心,负责主进程的启动、维护及全局配置文件的加载和解析。

    • vrrp模块:是来实现VRRP协议的。(调度器之间的健康检查和主备切换)

    • check模块:负责健康检查,常见的方式有端口检查及URL检查。(节点服务器的健康检查)

    工作原理

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

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

    1. 实验操作过程

    Keepalived通过什么判断哪台主机为主服务器,通过什么方式配置浮动IP?

    答案: Keepalived首先做初始化先检查state状态,master为主服务器,backup为备服务器然后再对比所有服务器的prioritv,谁的优先级高谁是最终的主服务器。优先级高的服务器会通过ip命令为自己的电脑配置一个提前定义好的浮动IP地址。

    keepalived的抢占与非抢占模式:

    抢占模式即MASTER从故障中恢复后,会将VIP从BACKUP节点中抢占过来。非抢占模式即MASTER恢复后不抢占BACKUP升级为MASTER后的VIP 非抢占式俩节点state必须为bakcup,且必须配置nopreempt 注意:这样配置后,我们要注意启动服务的顺序,优先启动的获取master权限,与优先级没有关系了

    四. LVS+Keepalived实现部署
    image.png
    五.脑裂
    image.png

    1. 脑裂现象:

    主服务器和备服务器同时拥有 VIP

    2. 脑裂原因:

    因为主服务器和备服务器之间的通信链路中断,导致备服务器无法正常收到主服务器发送的VRRP心跳报文

    3. 脑裂的解决:

    关闭主服务器或者备服务器其中一个的keepalived服务

    脑裂的预防:

    1)主服务器与备服务器之间添加双通信链路

    2)在主服务器上定义运行脚本判断与备服务器通信链路是否中断,如果中断则自行关闭keepalived服务

    3)利用第三方监控软件检测是否发生脑裂故障,如果发生则通过监控软件关闭主或者备服务器上的keepalived服务

    六.
    七. 课后练习题

    keepalived

    基于什么协议 ?

    怎么选举master?

    怎么生成VIP?-怎么故障切换?

    抢占模式和非抢占模式是如何工作的?

    如何配置非抢占模式 ?

    脑裂现象如何?

    产生脑裂的原因?
    通信链路中断
    防火墙没关

    脑裂的解决方法?

    脑裂的预防方案?

    通过脚本检测主备链路中断

    第三方监控软件

    如何健康检查调度器和节点服务器?

    如果调度器用的·LVS

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论