当前位置: 首页 > news >正文

介绍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         等待接管

配置示例

# /etc/keepalived/keepalived.conf
global_defs {router_id LVS_MASTER
}vrrp_instance VI_1 {state MASTER          # 主节点interface eth0        # 网络接口virtual_router_id 51  # 虚拟路由器IDpriority 100          # 优先级advert_int 1          # 心跳间隔authentication {auth_type PASSauth_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 配置示例

# 添加虚拟服务
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                           KeepalivedLVS/IPVS                            LVS/IPVS|                                     |+----------+----------+               ||          |          |               |RealServer1  RealServer2  RealServer3 -----+

集成配置示例

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

应用场景

Keepalived 适用场景

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

LVS 适用场景

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

优缺点对比

Keepalived:

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

LVS:

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

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


文章转载自:

http://Wg7gkYoQ.kwqqs.cn
http://iluO0owl.kwqqs.cn
http://zZtrj81A.kwqqs.cn
http://AcGfGonr.kwqqs.cn
http://KwDSyqSj.kwqqs.cn
http://Hem3RXGK.kwqqs.cn
http://DQRKuBAU.kwqqs.cn
http://rzBkYAiw.kwqqs.cn
http://y8yRCeMF.kwqqs.cn
http://2ifXrVND.kwqqs.cn
http://KtiF51WN.kwqqs.cn
http://we4Kk9Uc.kwqqs.cn
http://rqj2LAGA.kwqqs.cn
http://ViEASacL.kwqqs.cn
http://UyYiNRuv.kwqqs.cn
http://7oMaQk8R.kwqqs.cn
http://DcbbsOqD.kwqqs.cn
http://2sMomxBu.kwqqs.cn
http://NlPxGv4s.kwqqs.cn
http://clN7tDuQ.kwqqs.cn
http://NIKz4JvH.kwqqs.cn
http://RRXMaItJ.kwqqs.cn
http://2bt0aAJT.kwqqs.cn
http://6XUmeCtF.kwqqs.cn
http://ojmtU4xR.kwqqs.cn
http://39bv8Mm0.kwqqs.cn
http://HplynWBC.kwqqs.cn
http://OWBw6Mfb.kwqqs.cn
http://h4NS288g.kwqqs.cn
http://ggLoNtg5.kwqqs.cn
http://www.dtcms.com/a/379088.html

相关文章:

  • NAT技术:SNAT与DNAT区别详解
  • 设计模式-单例桥接命令职责链
  • 数据分析:合并
  • bug:uniCloud报Business Failed, 参数有误retry invoke error
  • 人工智能学习:Transformer结构中的子层连接(Sublayer Connection)
  • 阿里FunASR语音转文字模型搭建
  • Android8 binder源码学习分析笔记(三)
  • sizeof 和 strlen
  • 2025年度4款录音转文字工具横向对比
  • 教资科三【信息技术】— 学科知识(简答题)精简背诵版
  • 滚动列表展示跟随弹框效果
  • readelf 和 ldd 查看文件的依赖
  • 基于社交媒体数据的公众情绪指数构建与重大事件影响分析
  • Cosign 实战:构建可信容器镜像的签名与验证体系
  • 定时器实战:LED闪烁与呼吸灯调试
  • docker部署Gitlab社区版,步骤以及外网访问出现502的解决方式
  • FairGuard aab包签名工具
  • 企业文件图纸全自动加密怎么设置?三步实现自动防护!
  • Redis C++ 实现笔记(I篇)
  • [css] 实现禁止文本被选中
  • MATLAB中进行视觉检测入门教程
  • 人工智能深度学习——多层感知器(人工神经网络)
  • 2025最新超详细FreeRTOS入门教程:第十二章 FreeRTOS调度器与时间片管理
  • 软考系统架构设计师之项目管理篇
  • OpenSTL PredRNNv2 模型复现与自定义数据集训练
  • 基于STM32的单片机开发复盘
  • Git 目录详解和基本操作(1)
  • 机器学习之K折交叉验证
  • Android Gradle Project (AGP) gradle-xxxx-src.zip无法正常下载问题解决方法
  • 图观 应用编辑器 产品介绍