介绍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 负责实际的负载均衡,形成一个完整的高可用负载均衡解决方案。

相关推荐
sc.溯琛10 小时前
数据链路层复习总结
网络·网络协议·智能路由器
梦里不知身是客1110 小时前
FIFO调度器在工作实例中的应用
运维·网络·智能路由器
邵小的运维之路12 小时前
静态路由与 BFD 联动
运维·网络·智能路由器
爱宇阳1 天前
Linux 安全加固:禁用 IPv6 ICMP 重定向
linux·安全·智能路由器
ICT技术最前线1 天前
怎样配置路由器网络,让办公效率翻倍?
网络·智能路由器
Ha_To1 天前
25.12.11 动态路由协议 rip、三层交换机
智能路由器
超级码力6661 天前
【项目总结】【组网原理】备修信息化及宏观实现
网络·智能路由器
电脑小管家1 天前
路由器怎么重新设置wifi密码
网络·windows·计算机外设·智能路由器·电脑
虎皮辣椒小怪兽2 天前
IP路由基础
网络协议·tcp/ip·智能路由器
张太行_3 天前
TCP连接长时间未进行数据交互是否会断开?如何维持?
网络·tcp/ip·智能路由器