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/8/6 14:47:10 阅读更多 →
智能论文写作工具:提升学术效率的AI解决方案

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

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

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

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

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

2026/8/2 21:54:52 阅读更多 →

最新新闻

SpringBoot+Vue高校学生辅助系统开发实践

SpringBoot+Vue高校学生辅助系统开发实践

1. 项目概述:高校学生辅助系统的核心价值高校学生辅助系统是数字化校园建设中的重要一环,它直接服务于教学管理和学生日常事务。传统的学生管理工作往往面临信息孤岛、流程繁琐、响应滞后等问题。比如选课冲突需要人工核对、请假审批要跑多个办公室、成绩…

2026/8/7 5:42:19 阅读更多 →
Java CompletableFuture 异步编程实战:从基础原理到高并发应用

Java CompletableFuture 异步编程实战:从基础原理到高并发应用

1. 项目概述:为什么我们需要CompletableFuture?如果你写过Java并发代码,大概率被Future接口“折磨”过。想象一个场景:你需要调用三个独立的远程服务来组装一个页面数据,用传统的Future,你得一个个get()&am…

2026/8/7 5:42:19 阅读更多 →
C语言static关键字详解:从内存模型到模块化设计

C语言static关键字详解:从内存模型到模块化设计

1. 项目概述:为什么static是C语言里绕不开的“钉子户”?如果你写过C语言,哪怕只是写过“Hello, World”,大概率也见过static这个关键字。它就像代码世界里的一个“钉子户”,看着不起眼,但一旦你开始构建稍微…

2026/8/7 5:42:19 阅读更多 →
BMC SNMP配置与监控集成实战:从协议安全到Zabbix/Prometheus对接

BMC SNMP配置与监控集成实战:从协议安全到Zabbix/Prometheus对接

1. 项目概述:为什么BMC的SNMP功能值得深挖?在数据中心和服务器运维的日常里,我们打交道最多的往往是操作系统和应用层。但真正决定一台服务器“健康”与“可控”状态的,其实是水面之下的基板管理控制器,也就是BMC。最近…

2026/8/7 5:42:19 阅读更多 →
Vibe-Trading深度体验:AI如何用自然语言一键生成量化交易策略

Vibe-Trading深度体验:AI如何用自然语言一键生成量化交易策略

1. 项目概述:当AI遇见量化,一场投资策略的“平民化”革命 最近在GitHub上冲浪,发现一个项目热度飙升得有点离谱,叫Vibe-Trading。点进去一看,好家伙,3.8K的Star数,而且还在持续增长。这个由港大…

2026/8/7 5:42:19 阅读更多 →
4.1 联网搜索

4.1 联网搜索

千问的联网搜索功能是其作为智能助手的核心能力之一,旨在突破大模型训练数据的“知识截止日”限制,实时获取互联网上的最新信息,从而提供准确、权威、有时效性的回答。大语言模型(如Qwen系列)的知识来源于训练时的数据…

2026/8/7 5:41:19 阅读更多 →

日新闻

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 想要将Android手机屏幕完美投射到电脑上,享受大屏操作的自…

2026/8/7 0:00:19 阅读更多 →
如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南 【免费下载链接】tom-select Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget wi…

2026/8/7 0:00:19 阅读更多 →
5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件 【免费下载链接】nsz NSZ - Homebrew compatible NSP/XCI compressor/decompressor 项目地址: https://gitcode.com/gh_mirrors/ns/nsz 你是否在为Nintendo Switch游戏文件占用大量存储…

2026/8/7 0:00:19 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →