返回

靠 谱 高 可 用 集 群——LVS +Keepalived高可用集群

后端

LVS+Keepalived 高可用集群概述

LVS(Linux Virtual Server)是一款开源的负载均衡软件,它可以将来自客户端的请求均匀地分配到集群中的多台服务器上,从而提高系统的性能和可靠性。但是,传统的 LVS-DR 模型采用单调度器,如果调度器出现故障,就会导致整个集群不可用,存在单点故障问题。

为了解决这个问题,可以引入 Keepalived 软件。Keepalived 是一个高可用集群管理软件,它可以实现双机热备(主从模式),当主节点出现故障时,从节点可以自动接管主节点的工作,从而保证集群的连续性。

LVS+Keepalived 高可用集群原理

LVS+Keepalived 高可用集群的原理如下:

  1. 集群中至少有两台服务器,其中一台为主节点,一台或多台为从节点。
  2. 主节点和从节点都安装 LVS 和 Keepalived 软件。
  3. 主节点负责接收来自客户端的请求并将其分配到集群中的服务器上。
  4. 从节点负责监控主节点的状态,如果主节点出现故障,从节点将自动接管主节点的工作,继续为客户端提供服务。

LVS+Keepalived 高可用集群配置

LVS+Keepalived 高可用集群的配置过程如下:

  1. 安装 LVS 和 Keepalived 软件。
  2. 配置 LVS,包括虚拟服务、真实服务器和调度算法等。
  3. 配置 Keepalived,包括虚拟 IP 地址、主从节点配置、故障检测机制等。
  4. 启动 LVS 和 Keepalived 服务。

LVS+Keepalived 高可用集群实战案例

以下是一个 LVS+Keepalived 高可用集群的实战案例:

  1. 环境:两台服务器,一台为主节点,一台为从节点。
  2. 操作系统:CentOS 7.6。
  3. 软件:LVS-DR 1.7.2,Keepalived 1.3.5。

步骤一:安装 LVS 和 Keepalived 软件

# yum install ldirectord keepalived -y

步骤二:配置 LVS

# vi /etc/ldirectord/ldirectord.conf
global_defs {
    # 虚拟服务 IP 地址
    virtual_server_group_name default {
        virtual_server_group_member 192.168.1.101 80 REAL {
            protocol tcp
            # 真实服务器 IP 地址
            real_server 192.168.1.201 80 weight 1
            real_server 192.168.1.202 80 weight 1
        }
    }
}

步骤三:配置 Keepalived

# vi /etc/keepalived/keepalived.conf
global_defs {
    router_id LVS_1
}

vrrp_script chk_ldirectord {
    script "if /usr/sbin/ldirectord -c /etc/ldirectord/ldirectord.conf -t; then exit 0; else exit 1; fi"
}

vrrp_instance VI_1 {
    # 虚拟 IP 地址
    virtual_router_id 1
    state MASTER
    interface ens33
    priority 100
    advert_int 1
    virtual_ipaddress {
        192.168.1.100
    }
    track_script {
        chk_ldirectord
    }
}

步骤四:启动 LVS 和 Keepalived 服务

# systemctl start ldirectord
# systemctl start keepalived

LVS+Keepalived 高可用集群效果验证

  1. 使用浏览器访问虚拟 IP 地址,验证是否可以正常访问集群中的服务器。
  2. 停止主节点上的 LVS 服务,验证是否可以自动切换到从节点。
  3. 恢复主节点上的 LVS 服务,验证是否可以自动切换回主节点。

总结

LVS+Keepalived 高可用集群是一种有效的解决方案,可以解决 LVS 集群单点故障问题,提高系统的可靠性和可用性。通过将 LVS 与 Keepalived 软件相结合,可以构建一个稳定可靠的高可用集群,为企业提供高性能、高可靠的网络服务。