介绍keepalived和LVS

Keepalived

什么是 Keepalived

Keepalived 是一个基于 VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)实现的高可用解决方案,主要用于防止单点故障。

主要功能

  1. 高可用性(HA)

    • 通过 VRRP 协议实现主备切换
    • 提供虚拟 IP(VIP)漂移功能
    • 支持健康检查
  2. 负载均衡

    • 可以作为 LVS 的管理工具
    • 自动管理 LVS 规则

工作原理

复制代码
主服务器(MASTER)          备服务器(BACKUP)
    |                           |
    |<------- VRRP 心跳 ------->|
    |                           |
 VIP: 192.168.1.100         等待接管

配置示例

bash 复制代码
# /etc/keepalived/keepalived.conf
global_defs {
    router_id LVS_MASTER
}

vrrp_instance VI_1 {
    state MASTER          # 主节点
    interface eth0        # 网络接口
    virtual_router_id 51  # 虚拟路由器ID
    priority 100          # 优先级
    advert_int 1          # 心跳间隔
    
    authentication {
        auth_type PASS
        auth_pass 1234
    }
    
    virtual_ipaddress {
        192.168.1.100    # 虚拟IP
    }
}

LVS (Linux Virtual Server)

什么是 LVS

LVS 是 Linux 内核中的负载均衡解决方案,通过 IPVS(IP Virtual Server)模块实现四层负载均衡。

工作模式

  1. DR 模式(Direct Routing)

    复制代码
    客户端 --> Director --> Real Server
               |              |
               |<-- 直接响应 --|
    • 性能最好
    • Director 和 Real Server 必须在同一网段
    • 响应数据直接返回给客户端
  2. NAT 模式(Network Address Translation)

    复制代码
    客户端 <--> Director <--> Real Server
    • 所有流量都经过 Director
    • 支持端口映射
    • Director 成为瓶颈
  3. TUN 模式(IP Tunneling)

    复制代码
    客户端 --> Director --隧道--> Real Server
               |                      |
               |<---- 直接响应 ------|
    • 支持跨网段
    • 需要 Real Server 支持隧道

调度算法

  • 轮询(rr):依次分配
  • 加权轮询(wrr):根据权重分配
  • 最少连接(lc):选择连接数最少的服务器
  • 加权最少连接(wlc):默认算法
  • 源地址哈希(sh):相同 IP 分配到同一服务器

LVS 配置示例

bash 复制代码
# 添加虚拟服务
ipvsadm -A -t 192.168.1.100:80 -s wlc

# 添加真实服务器
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.10:80 -g -w 1
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.11:80 -g -w 1

# 查看配置
ipvsadm -Ln

Keepalived + LVS 集成

架构示例

复制代码
                    VIP: 192.168.1.100
                           |
        +------------------+------------------+
        |                                     |
   Director1(主)                         Director2(备)
   Keepalived                           Keepalived
   LVS/IPVS                            LVS/IPVS
        |                                     |
        +----------+----------+               |
        |          |          |               |
   RealServer1  RealServer2  RealServer3 -----+

集成配置示例

bash 复制代码
# Keepalived 配置中包含 LVS 配置
virtual_server 192.168.1.100 80 {
    delay_loop 6
    lb_algo wlc          # 调度算法
    lb_kind DR           # 工作模式
    protocol TCP
    
    real_server 192.168.1.10 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }
    
    real_server 192.168.1.11 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }
}

应用场景

Keepalived 适用场景

  • 数据库主从切换(MySQL、PostgreSQL)
  • Web 服务高可用
  • 任何需要 IP 漂移的场景

LVS 适用场景

  • 大流量网站负载均衡
  • 四层负载均衡需求
  • 对性能要求极高的场景

优缺点对比

Keepalived:

  • 优点:配置简单、支持健康检查、可管理 LVS
  • 缺点:仅提供高可用,负载均衡依赖 LVS

LVS:

  • 优点:性能极高、稳定可靠、内核级别
  • 缺点:仅四层负载、配置相对复杂、功能单一

这两个工具经常配合使用,Keepalived 负责高可用和健康检查,LVS 负责实际的负载均衡,形成一个完整的高可用负载均衡解决方案。

相关推荐
WangJunXiang69 小时前
LVS 负载均衡群集
运维·负载均衡·lvs
百结2149 小时前
LVS 负载均衡群集
运维·负载均衡·lvs
卤炖阑尾炎9 小时前
从原理到实战:LVS 负载均衡集群全解析(OpenEuler 环境)
运维·负载均衡·lvs
H_z_q240110 小时前
HCIP园区网
智能路由器·hcip
CS创新实验室10 小时前
《计算机网络》深入学:比较 RIP 和 OSPF 协议
网络·计算机网络·智能路由器
小红的布丁1 天前
公网 IP、私网 IP、路由表、转发表与 MAC 地址的关系
tcp/ip·macos·智能路由器
闻道且行之1 天前
虚拟机三种网络模式全解析(桥接 / NAT / 仅主机)
网络·智能路由器·vmware·虚拟机
深念Y1 天前
从路由器到SSD:关于自制NAND编程器的幻想与现实
智能路由器·路由器·ssd·主控·nand·闪存·智能机顶盒
以太浮标1 天前
华为eNSP模拟器综合实验之- WLAN瘦AP配置实战案例详解
运维·网络·网络协议·华为·智能路由器·信息与通信
星创易联2 天前
5G车载以太网网关赋能公交智能化升级
5g·车载系统·智能路由器