LVS项目全套知识点总结 一、集群基础概念1. 什么是集群集群Cluster是指将多台独立的服务器主机通过网络互联组合成一个统一的、高性能的计算机服务群组。对外整体呈现为一个单一服务节点对内多台服务器协同工作共同承担业务请求、处理数据、提供服务。集群核心目的解决单台服务器的性能瓶颈、单点故障、并发压力问题实现服务的高可用、高并发、高负载、可扩容。通俗理解单台服务器干活能力有限、容易宕机集群就是多台服务器组队干活分担压力、互相兜底保证服务稳定不中断。2. 集群分类根据集群核心功能与应用场景行业内将集群分为三大类也是LVS学习的基础分类1负载均衡集群LBLoad Balance核心作用分发流量、分担压力。将用户的海量请求按照指定算法均匀分发到后端多台真实服务器处理避免单服务器过载。特点提升并发处理能力、提升业务响应速度、横向扩容简单。典型工具LVS、Nginx、HAProxy2高可用集群HAHigh Availability核心作用防止单点故障、保证服务不中断。通过主备切换机制当主服务器宕机后备用服务器立刻接管业务实现服务秒级恢复。特点解决服务宕机问题不提升并发能力只保障可用性。典型工具Keepalived、Heartbeat3高性能计算集群HPC核心作用聚合算力、处理超大型计算任务。将多台服务器的CPU、内存算力合并共同完成大数据运算、科学计算、仿真建模等重型任务。应用场景气象预测、云计算算力调度、科研仿真核心总结LVS属于负载均衡集群LB常搭配Keepalived高可用集群实现「负载均衡故障自愈」的企业生产架构。二、LVS核心作用LVSLinux Virtual ServerLinux虚拟服务器是Linux内核级的四层负载均衡软件由章文嵩博士开发是目前企业后端服务器集群的核心负载均衡组件。LVS核心功能与作用流量分发基于IP端口对用户请求进行智能分发将海量并发请求均匀分配给后端真实服务器RS。压力分担彻底解决单台服务器并发上限问题支持十万、百万级高并发请求处理。屏蔽后端节点对外仅暴露一个虚拟IPVIP隐藏后端真实服务器IP提升服务安全性。健康检查自动检测后端服务器状态剔除故障节点不再向故障机器分发流量。高可用适配可结合Keepalived实现LVS自身的主备切换消除负载均衡器单点故障。内核级高性能工作在内核态无需进程调度转发效率远超Nginx应用层无并发瓶颈。三、LVS的4种工作模式及原理含图解逻辑工作步骤LVS共有四种主流工作模式优先级和使用场景不同分别是DR模式、NAT模式、TUN隧道模式、FULLNAT模式。以下为各模式原理详解、流量图解逻辑、工作步骤、优缺点。1. LVS NAT模式网络地址转换模式1核心原理通过修改数据包的IP地址实现流量转发。用户请求到达LVS调度器后LVS将数据包的目标IPVIP修改为后端真实服务器IPRIP后端服务器响应数据返回时再次经过LVS将源IP修改为VIP最终返回用户。2流量图解逻辑用户客户端 → 公网IP → LVS(VIP) → 改写目标IP → 后端RS服务器 → 响应返回LVS → 改写源IP → 返回客户端3详细工作步骤客户端发起请求目标地址为LVS虚拟IPVIP数据包到达LVS调度器。LVS根据调度算法选中一台后端真实服务器RS。LVS修改数据包目标IP为RS的真实IP保留客户端源IP转发给RS。RS接收请求并处理业务生成响应数据包源IP为自身RIP目标IP为客户端IP。响应数据包传回LVS调度器LVS修改数据包源IP为VIP。LVS将修改后的数据包转发给客户端请求闭环完成。4优缺点优点配置简单、支持端口映射、后端RS可以是任意系统、无需配置VIP缺点所有请求和响应流量均经过LVSLVS易成为性能瓶颈并发能力有限。2. LVS DR模式直接路由模式企业最常用1核心原理基于MAC地址转发不修改IP地址仅修改数据帧的MAC地址。请求流量经过LVS调度转发响应流量直接由后端RS返回客户端不经过LVS是性能最高的模式。2流量图解逻辑客户端 → LVS修改MAC→ 后端RS → 直接返回客户端跳过LVS3详细工作步骤客户端发送请求到VIP数据帧目标MAC为LVS网卡MAC。LVS接收数据帧根据算法选中后端RS。LVS仅修改数据帧的目标MAC地址为RS网卡MACIP地址全程不变转发请求。后端RS接收数据包识别自身绑定的VIP处理业务请求。RS直接封装响应数据包以VIP为源IP直接发送给客户端不经过LVS。4优缺点优点响应流量不经过LVS无性能瓶颈、并发极高、稳定性强缺点所有服务器必须在同一局域网、需要抑制RS的ARP响应、不支持端口映射。3. LVS TUN隧道模式IP隧道模式1核心原理通过IP隧道封装技术转发请求。LVS将客户端原始数据包重新封装一层IP隧道协议转发给跨网段的后端RSRS解封装处理请求响应直接回包给客户端。2流量图解逻辑客户端 → LVSIP隧道封装→ 跨网段RS解封装处理→ 直接返回客户端3详细工作步骤客户端请求到达LVS VIP。LVS通过IP隧道协议对原始数据包进行二次封装新IP头目标地址为远端RS的RIP。LVS将封装后的数据包转发给跨网段的后端RS。RS接收数据包解封装获取原始请求数据处理业务。RS直接以VIP为源IP将响应数据返回客户端不经过LVS。4优缺点优点支持跨机房、跨网段部署后端服务器突破局域网限制高性能缺点服务器需要开启IP隧道功能配置复杂部分系统不支持。4. LVS FULLNAT模式双向全地址转换1核心原理对数据包源IP和目标IP同时修改。请求时客户端IP→LVS本地IPVIP→RSIP响应时RSIP→LVS本地IPLVS本地IP→客户端IP彻底隔离前后端网络。2流量图解逻辑客户端IP → LVS改源目标IP→ RS → LVS反向改IP→ 客户端3详细工作步骤客户端请求到达LVS VIP。LVS将数据包源IP改为LVS本地内网IP目标IP改为RS的RIP转发请求。RS处理请求响应数据包源IP为RIP目标IP为LVS内网IP。响应回到LVSLVS将源IP改为VIP目标IP改为客户端IP转发给用户。4优缺点优点前后端网络完全隔离、无需同网段、支持跨网段部署、配置简单缺点所有流量经过LVS性能略低于DR模式内核版本要求较高。四、LVS的13种调度算法完整版分类详解LVS官方共计13种调度算法分为静态算法4种和动态算法9种两大类。静态算法不感知后端服务器状态动态算法会根据服务器负载、连接数动态调整分发权重。1. 静态调度算法固定规则不自适应负载1RR 轮询算法默认基础算法将用户请求依次轮流分发到每一台后端服务器所有服务器分配请求数量完全均等。适用于后端服务器配置、性能完全一致的场景。2WRR 加权轮询算法在轮询基础上增加权重权重越高的服务器分配的请求越多。根据服务器硬件配置差异分配权重高配机器承担更多流量低配机器承担少量流量适配异构服务器集群。3DH 目标地址哈希算法根据用户请求的目标IP地址进行哈希计算固定分发到某一台后端服务器。保证同一目标IP的请求始终访问同一RS适合固定业务节点调度场景。4SH 源地址哈希算法根据用户客户端源IP哈希计算同一客户端IP的请求始终分发到同一台后端服务器简易实现会话保持效果。2. 动态调度算法感知负载智能自适应1LC 最少连接算法动态统计后端服务器当前活跃连接数优先将请求分发到连接数最少的服务器自动规避高负载节点适配请求处理时长不一致的业务。2WLC 加权最少连接算法企业默认常用结合权重最少连接综合计算服务器负载值权重高、连接数少的服务器优先分配请求。是生产环境最稳定、最常用的动态算法。3SED 最短期望延迟算法优化版WLC算法优先分发请求到「处理延迟最短」的服务器兼顾连接数和处理效率提升整体响应速度。4NQ 无队列算法空闲服务器优先只要有服务器无活跃连接直接分发请求不进入队列所有服务器繁忙时再按照SED算法调度减少请求排队延迟。5LBLC 基于本地的最少连接算法适用于缓存集群根据目标IP哈希绑定节点节点空闲则优先分发节点繁忙则动态调整兼顾会话固定和负载均衡。6LBLCR 带复制的本地最少连接算法LBLC优化版支持缓存数据复制解决单点缓存失效问题主要用于大型缓存集群负载调度。7DRR 目标轮询算法基于目标IP轮询分发保证同一业务目标地址均匀分配流量适合多业务节点均分场景。8SRR 源轮询算法基于客户端源IP轮询分发兼顾流量均匀性和访问稳定性。9FO 快速覆盖算法极致性能算法优先选择负载最低、响应最快的节点适合高并发、低延迟核心业务。五、LVS多端口轮询问题及完整解决方案1. 多端口轮询问题现象当LVS一台虚拟服务器同一个VIP需要监听多个端口如80、443、8080时默认轮询算法会出现端口调度混乱、端口绑定错乱、流量分配不均问题。核心问题根源LVS默认是基于服务维度调度单VIP多端口时不同端口的请求会共享调度队列导致同一后端服务器被分配多个端口流量出现业务冲突、负载失衡。2. 官方完整解决方案实操步骤方案核心多端口独立服务调度每个端口单独配置VS规则为VIP下的每一个业务端口单独创建独立的虚拟服务VS每个端口拥有独立的调度队列、独立算法、独立权重实现端口隔离轮询。实操配置步骤清空原有单端口全局调度规则避免冲突执行ipvsadm -C清空所有规则。为80端口单独创建虚拟服务配置独立轮询策略ipvsadm -A -t 192.168.1.100:80 -s wrr为443端口单独创建虚拟服务ipvsadm -A -t 192.168.1.100:443 -s wrr为8080端口单独创建虚拟服务ipvsadm -A -t 192.168.1.100:8080 -s wrr分别为每个端口添加后端真实服务器独立配置权重ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.10:80 -g -w 100ipvsadm -a -t 192.168.1.100:443 -r 192.168.1.10:443 -g -w 100保存ipvsadm规则开机自启完成多端口独立轮询配置。方案优势各端口流量完全隔离、互不干扰轮询均匀彻底解决多端口调度错乱问题支持不同端口配置不同算法、不同权重。六、LVS会话粘滞会话保持问题及解决方案1. 会话粘滞问题现象LVS默认轮询调度中用户的多次请求会被分发到不同的后端服务器。若业务需要同一用户全程访问同一台RS如登录会话、购物车、表单提交会出现会话丢失、登录失效、业务报错这就是会话不粘滞问题。2. 四种主流解决方案由简到繁含实操方案一LVS SH源地址哈希算法简易会话保持原理基于客户端IP哈希同一IP始终调度到同一台RS实现基础会话保持。配置命令ipvsadm -A -t VIP:端口 -s sh优缺点配置简单无需额外组件缺点是多用户同IP局域网会被调度到同一节点负载不均。方案二LVS持久化连接Persistence企业常用原理开启LVS会话持久化指定超时时间同一客户端在时效内的所有请求固定分发到同一RS完美实现会话粘滞。实操步骤创建负载均衡规则开启持久化会话超时时间300秒ipvsadm -A -t 192.168.1.100:80 -s wrr -p 300添加后端RS节点正常配置权重生效后同一客户端5分钟内请求固定访问同一服务器。优势不改变原有调度算法兼顾负载均衡会话保持稳定性极高。方案三后端统一会话共享终极解决方案原理彻底摆脱LVS会话绑定所有后端服务器统一连接Redis/Memcached将用户会话数据存入公共缓存所有RS共享会话。无论用户访问哪台服务器都能读取到会话信息。适用场景大型集群、分布式业务、需要无状态扩容的生产环境。方案四Cookie会话绑定七层精准保持搭配Nginx七层负载通过Cookie标记用户节点精准实现会话保持解决IP哈希的局限性适合精细化业务调度。七、知识点总结复盘1. 集群分为LB负载均衡、HA高可用、HPC高性能计算LVS为四层LB负载均衡器2. LVS四大模式DR最高性能、NAT配置简单、TUN跨网段、FULLNAT网络隔离3. 13种算法分为静态4种、动态9种WLC为生产默认最优算法4. 多端口问题核心解决思路单端口独立VS规则隔离调度5. 会话粘滞最优生产方案LVS持久化连接-p参数大型业务搭配Redis会话共享。

本月热点