LVS(Linux Virtual Server)项目知识点总结
1. 什么是集群集群是一组相互独立的计算机通过高速网络互联对外表现为单一系统协同完成特定任务。集群的核心目标是提升可用性、扩展性、性能并降低单点故障风险。2. 集群分类根据功能目标集群主要分为三类类型英文名核心目的典型场景负载均衡集群Load Balancing Cluster将请求分担到多节点提升系统吞吐量Web服务器群、LVS高可用集群High Availability Cluster通过冗余消除单点故障保证服务连续主备数据库、HAProxy高性能计算集群High Performance Cluster聚合多台计算能力解决复杂计算问题科学计算、渲染农场此外还有分布式存储集群等延伸形态但在LVS语境中以前两类为主3. LVS的作用实现负载均衡将客户端请求按调度算法分发到后端多台真实服务器。提高扩展性透明地增加/删除后端节点业务零中断。增强可用性配合健康检查自动剔除故障节点。节约公网IP在NAT模式下后端服务器可使用私有地址。高性能工作在内核空间转发效率极高支撑海量并发。4. LVS的4种模式及原理4.1 NAT模式网络地址转换原理调度器修改数据包的目标IP和端口发往后端服务器回包经调度器还原源地址后返回客户端。调度器成为网关。特点请求和响应均经过调度器易于实施但调度器易成瓶颈。环境要求调度器需双网卡一外一内后端服务器网关指向调度器。4.2 DR模式直接路由原理调度器改写请求帧的目标MAC地址为后端服务器的MAC服务器直接响应客户端无需回程经过调度器。特点调度器只处理入站请求出站流量不经过调度器性能强。要求服务器与调度器在同一物理网段。关键配置VIP必须绑定在真实服务器的环回接口并抑制ARP响应。4.3 TUN模式IP隧道原理调度器将原始IP包封装在新IP包中通过隧道发给后端服务器服务器解封装后直接响应客户端。特点支持跨地域、跨网段部署节点可分布不同机房。需要服务器支持IP隧道协议有一定封装开销。4.4 FULLNAT模式全地址转换原理同时修改请求包的源IP和目标IP使后端服务器完全感知不到客户端真实IP回包再经调度器还原。解决了跨网段和真实服务器默认网关问题。特点调度器承担所有流量转换性能低于DR但对网络部署要求最低可支持服务器在任意网络。四种模式对比图解5. LVS的13种调度算法LVS内核提供了丰富的调度算法可分为静态、动态两大类配合持久调度策略共可归纳为13种常用算法。静态调度算法仅凭算法规则不参考RS负载序号算法原理说明1RR(Round Robin)轮询依次分发请求不关心服务器性能差异。若服务器配置不均易导致负载失衡。2WRR(Weighted RR)加权轮询。根据权重比例分配请求权重高的服务器轮询次数更多。3SH(Source Hashing)源地址哈希。对客户端IP做哈希同一IP请求固定发往第一次选中的RS实现会话绑定session sticky。4DH(Destination Hashing)目标地址哈希。对目标IP做哈希相同目标的请求始终发往同一RS常用于正向代理缓存集群如运营商缓存。动态调度算法根据RS实时负载计算Overhead选值最小的RS调度5LC(Least Connections)Overhead active×256 inactive适用于长连接服务连接数最少的优先。不考虑权重。6WLC(Weighted LC)Overhead (active×256 inactive) / weight默认算法兼顾连接数与服务器权重最常用。7SED(Shortest Expected Delay)Overhead (active 1) × 256 / weight期望延迟最小初始连接高权重服务器优先。注意缺陷若RS1权重1RS2权重10初期所有请求都会堆积在RS2上直到负载值超过RS1。8NQ(Never Queue)先轮询给空闲服务器无空闲时按SED计算保证每个请求绝不排队对连接建立速度要求极高的场景。9LBLC(Locality-Based LC)动态的DH算法考虑服务器负载在正向代理场景下先根据目标IP分配再结合负载调整提高缓存命中率。10LBLCR(LBLC with Replication)在LBLC基础上增加缓存副本迁移当某服务器负载过高时将其服务的缓存目标IP复制到轻载服务器解决负载不均。.在4.15版本内核以后新增调度算法1.FO(Weighted Fai Over)调度算法常用作灰度发布 在此FO算法中遍历虚拟服务所关联的真实服务器链表找到还未过载(未设置IP_VS_DEST_F OVERLOAD标志)的且权重最高的真实服务器进行调度当服务器承接大量链接我们可以对此服务器进行过载标记IP_VS_DEST_F OVERLOAD那么vs调度 器就不会把链接调度到有过载标记的主机中2.OVF(Overflow-connection)调度算法基于真实服务器的活动连接数量和权重值实现。将新连接调度到权重值最高的真实服务器直到其活动 连接数量超过权重值之后调度到下一个权重值最高的真实服务器,在此OVF算法中遍历虚拟服务相关 联的真实服务器链表找到权重值最高的可用真实服务器。一个可用的真实服务器需要同时满足以下条 件:未过载(未设置IP_VS_DEST_F OVERLOAD标志)真实服务器当前的活动连接数量小于其权重值其权重值不为零环境说明主机网络模式功能是否设定网关lvsnat-172.25.254.100hostonly-192.168.0.100vsrs1hostonly-192.168.0.10rs2192.168.0.100rs2hostonly-192.168.0.20rs2192.168.0.100环境设定操作lvseth0-nat-172.25.254.100 eth1-hostonly-192.168.0.100rs1eth0-hostonly-192.168.0.10 在用脚本设定ip时 不设定网关后续手动设定rs2eth0-hostonly-192.168.0.20 在用脚本设定ip时 不设定网关后续手动设定LVS多端口轮询问题解决方案问题当一个应用需要多个端口如HTTP的80和HTTPS的443共享调度策略时普通方式无法将不同端口绑定为同一服务。解决方案使用防火墙标记Firewall Mark将多个端口的数据包打上同一标记然后LVS基于该标记进行调度。步骤配置iptables标记规则创建基于防火墙标记的虚拟服务添加真实服务器测试会话粘滞问题描述在负载均衡集群中某些应用如购物车、WebSocket、登录状态要求同一个客户端的所有请求必须始终被转发到同一台后端服务器。LVS通过持久性调度和源地址哈希算法来实现会话保持。实验拓扑真实服务器RS配置RS1 (192.168.0.10)RS2 (192.168.0.20)Director调度器配置执行查看命令确认所有规则测试附LVS整体架构示意图

相关新闻

SEO从业者从“关键词工程师“变成了“意图架构师“——Google不再匹配你的词,在推断你的意图

SEO从业者从“关键词工程师“变成了“意图架构师“——Google不再匹配你的词,在推断你的意图

几个月前帮一个做户外装备的外贸站做关键词审计。我让团队把过去一年所有有排名的查询全部导出来,按搜索量从高到低排序。排在第一页的关键词,大部分是 camping tent、outdoor backpack、sleeping bag 这种。搜索量高、竞争度高、转化率低——很典型的头…

2026/10/3 6:19:50 阅读更多 →
智能论文写作工具:提升学术效率的AI解决方案

智能论文写作工具:提升学术效率的AI解决方案

1. 智能论文写作工具的核心价值解析作为一名在学术写作领域摸爬滚打多年的研究者,我深刻理解论文写作过程中的痛点。从选题确定到最终成稿,往往需要耗费数百小时。最令人头疼的莫过于两个环节:一是搭建清晰合理的论文框架,二是反复…

2026/10/14 10:08:55 阅读更多 →
从玩具到生产力:2026 年 AI Agent 的 6 大流派,你该押注哪一个?

从玩具到生产力:2026 年 AI Agent 的 6 大流派,你该押注哪一个?

上周参加一个线下技术沙龙,有人提了一个问题:“现在人人都在做 Agent,但真正上线跑起来的有几个?” 全场沉默了几秒,然后有人小声说:“我们那个……还在 Demo 阶段。” 说实话,这个场景太真实了…

2026/10/2 1:03:58 阅读更多 →

最新新闻

第一次做 GEO 要几步?从注册到第一篇内容被收录的启动路径

第一次做 GEO 要几步?从注册到第一篇内容被收录的启动路径

结论先放这儿:6 步。注册 → 搭知识库 → 生成用户问题 → 攒标题 → 补正文 → 跑监测。前 4 步搭台子,第 5 步出第一篇成稿,第 6 步验证它有没有被 AI 读到。先说这篇是写给谁的 如果你刚注册完 GEOchat,打开后台看到「知识库、…

2026/10/15 13:45:15 阅读更多 →
SQLite FTS5 实现上下文感知查询:MCP协议与BM25动态加权实战

SQLite FTS5 实现上下文感知查询:MCP协议与BM25动态加权实战

1. 项目概述:什么是 context-mode?它不是个独立工具,而是一套数据驱动的上下文感知工作流设计范式“context-mode”这个词最近在开发者社区里频繁出现,但它本身并不是一个可下载安装的软件、也不是某个开源项目的官方名称&#xf…

2026/10/15 13:45:15 阅读更多 →
SQLite上下文感知搜索:基于MCP与FTS5的本地语义检索实践

SQLite上下文感知搜索:基于MCP与FTS5的本地语义检索实践

1. 项目概述:从“context-mode”这个词开始,我们到底在聊什么?“context-mode”这个词乍一看像某个IDE的隐藏开关,或是某款新出编辑器的实验性功能,但结合它旁边高频出现的关键词——MCP、SQLite、FTS5、BM25——你就该…

2026/10/15 13:45:15 阅读更多 →
SpringBoot+Vue构建城市垃圾分类管理系统实践

SpringBoot+Vue构建城市垃圾分类管理系统实践

1. 项目概述:城市垃圾分类管理系统的现实意义与技术选型 垃圾分类作为现代城市治理的重要环节,其信息化管理需求日益凸显。这套基于SpringBootVue的技术方案,正是针对社区、物业等场景设计的轻量级管理平台。我在实际参与某新一线城市智慧社区…

2026/10/15 13:45:15 阅读更多 →
第三范式:从数据库理论到信息治理的操作系统

第三范式:从数据库理论到信息治理的操作系统

1. 项目概述:什么是“第三范式”?它真不是数据库课上的老古董“第三范式”这个词最近在社交平台和职场交流中高频出现,但绝大多数人听到的第一反应是——“啊?数据库设计里的3NF?那个我大二挂过科的概念?”…

2026/10/15 13:45:15 阅读更多 →
sklearn决策树可视化:零依赖SVG生成方案

sklearn决策树可视化:零依赖SVG生成方案

1. 这个标题背后的真实困境:为什么有人想“绕过”graph.render?在用scikit-learn做机器学习项目时,绝大多数人根本不会接触到graph.render这个调用——因为它压根就不属于 sklearn 的 API。这是个典型的“跨库误用”现象,也是标题…

2026/10/15 13:44:14 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →