云原生高级-lvs

发布时间:2026/8/2 8:29:00
云原生高级-lvs 一、集群集群是将多台独立物理服务器通过网络整合为一个逻辑整体对外统一提供服务外部客户端仅感知到一个访问入口。集群分为两大角色调度器 Director流量分发入口LVS 服务器真实服务器 RS后端执行业务、处理请求的服务器集群。 核心价值解决单机性能瓶颈、单点故障、高并发承载问题。搭建简易集群思路步骤准备多台服务器划分调度器、RS 节点配置网络互通规划 VIP、内网 IP部署负载均衡调度规则完成集群搭建。二、集群分类按 OSI 层级分类四层负载均衡LVS基于 IP 端口内核转发性能极高七层负载均衡Nginx、Apache基于 HTTP 等应用协议功能丰富。按部署地域分类本地局域网集群、异地跨机房集群。选型步骤业务并发高优先选 LB业务不能中断搭配 HA海量计算场景选用 HPC。三、lvs的作用LVS 全称 Linux Virtual Server是 Linux 内核原生四层负载均衡模块工作在内核态转发损耗极低。核心作用流量分发将海量请求均衡分发至多台 RS横向扩容突破单机带宽、CPU、连接数上限故障屏蔽自动下线故障 RS保证服务稳定统一入口VIP 统一对外简化运维高并发支撑可承载百万级并发连接。VIP虚拟IP CIP 客户端IP DIP 调度器本身真实的内网IP RIP:后端服务器真实的IP部署落地步骤确认 Linux 内核自带 ipvs 模块安装管理工具 ipvsadm定义 VIP、添加 RS、配置调度算法完成负载均衡。四、lvs的四种模式及其原理1.NAT模式原理客户端请求到达调度器调度器修改数据包目标 IP 端口为后端 RS 内网 IP转发给 RSRS 回包时必须以调度器为网关数据包经过调度器修改源 IP 为 VIP 后再返回客户端。特点入站、出站流量全部经过调度器调度器易成为带宽瓶颈支持端口映射配置最简单后端 RS 使用私有 IP安全性高。适用场景小规模集群、需要端口映射的业务。客户端→IP 目标 VIP→LVS 改目标 IP 为 RSIP→RS 处理→回包改源 IP 为 VIP→客户端2.DR直接路由原理仅修改二层数据帧目标 MAC 地址IP 全程不变调度器将请求 MAC 改为选中 RS 的 MAC局域网转发RS 收到数据包直接处理响应数据包不经过调度器直接发回客户端。关键配置所有 RS 在 lo 回环网卡绑定 VIP32 位掩码抑制 ARP 广播防止 RS 抢占 VIP。特点出站流量脱离调度器性能最优集群节点数量上限高不支持端口映射所有节点必须在同一局域网。适用场景大规模 Web 业务、高并发互联网业务。客户端→数据包 MAC 指向 LVS→LVS 修改 MAC 为 RSMAC→RS 处理→直连回包客户端3.TUN隧道模式原理不修改原数据包在原 IP 报文外层封装一层新 IP 首部通过 IP 隧道跨网段转发给异地 RSRS 拆封外层 IP读取原始请求处理响应包直接回客户端。特点支持跨公网、异地机房部署内核需要开启 IP 隧道模块封装存在少量性能损耗。适用场景异地多机房容灾、跨地域集群。客户端→原始数据包→外层封装 IP→跨网转发 RS→拆封原始包→RS 直连回包4.FULLNAT全地址转换原理同时修改数据包源 IP 目标 IP请求时目标 IP 改为 RSIP、源 IP 改为调度器内网 IP回包时还原 IP 地址。特点无需同网段、无需隧道组网灵活流量依旧全经过调度器性能弱于 DR原生内核不支持多为厂商补丁版本。适用场景复杂内网隔离架构。五、lvs的13种算法分为静态算法无状态、不参考负载、动态算法参考实时连接负载两大类一静态调度算法5 种RR 轮询请求依次轮流分配给每台 RS所有服务器权重均等。WRR 加权轮询根据服务器硬件性能配置权重权重越高分到的请求越多。DH 目标地址哈希根据客户端访问的目标 IP 哈希固定分配 RS多用于缓存集群。SH 源地址哈希根据客户端源 IP 哈希绑定 RS简易实现会话粘连。SCH 最短期望延迟综合权重与连接数分配优先分配给 “连接数 / 权重” 比值最小的 RS。二动态调度算法8 种LC 最小连接实时统计 RS 活跃连接数新请求分给连接最少的服务器。WLC 加权最小连接默认算法在 LC 基础上加入权重计算公式活跃连接数/权重比值最小优先分配。LBLC 基于本地的最小连接目标 IP 绑定固定 RS仅当 RS 超载时重新调度用于缓存业务。LBLCR 带复制的 LBLC缓存集群优化算法限制单台 RS 绑定的目标 IP 数量。SED 最短预期延迟公式(连接数1)/权重解决 WLC 对低权重节点分配不公平问题。DH、SH哈希类动态优化版本。FO、OVF流量带宽优先调度多用于带宽敏感业务。六、lvs的多端口轮询问题解决方案1. 问题描述同一 VIP 下 80、443 等多端口独立调度同一客户端不同端口被分发至不同 RS会话错乱。2. 主流方案防火墙标记 FWMARK推荐原理给多个业务端口打上统一数字标记LVS 基于标记统一调度多端口共用一套 RS 集群。图解客户端 → VIP:80 / VIP:443 → iptables 打标记如 6666 → LVS 按标记分发 → RS1/RS2/RS3环境预设VIP10.0.0.100RS110.0.0.101RS210.0.0.102工作模式 DR调度算法 WLC1.调度器配置防火墙标记2.配置 LVS 标记调度规则3.RS 基础 DR 前置配置lo 绑定 VIPARP 抑制所有 RS 执行4.RS 搭建简易测试页面rs1rs2测试七、lvs的会话粘滞解决方案问题用户登录、购物车、Session 存在某台 RS 上。如果下次被调度到别的 RS就会掉线、重新登录。四类解决方案方案一LVS 持久连接 Persistence生产中小型集群首选四层原生原理调度器维护会话持久表指定超时时间内同一客户端源 IP 固定调度至同一 RS。测试客户端访问方案二源地址哈希 SH 调度原理基于客户端 IP 哈希计算永久绑定固定 RS无超时限制。方案三Redis 集中会话共享大型集群根治方案原理所有后端 RS 不再本地存储 Session统一将会话存入公共 Redis无论调度至哪台 RS 均可读取会话彻底摆脱 LVS 会话粘连依赖。方案四Cookie 定向绑定七层 Nginx 方案原理Nginx 在 Cookie 中写入后端服务器标识下次请求根据 Cookie 定向转发多用于七层负载均衡场景。