集群及lvs基础知识

1.什么是集群:

2.集群分类

3.Ivs的作用

4.Ivs的4种模式及原理

5.Ivs的13种算法方案 2:sh 源地址哈希调度

使用静态 sh 算法,基于客户端源 IP 哈希永久绑定 RS,适合固定公网 IP 用户。

6.Ivs的多端口轮询问题解决方案

7.Ivs的会话粘滞解决方案

1.集群是将多台独立服务器通过网络组合成一个整体对外提供服务,对外表现为单一虚拟节点,分担流量、提升并发、实现故障容错,单台机器宕机不影响整体业务。

2.集群分为LB 负载均衡集群、HA 高可用集群、HP 高性能集群四层转发。工作在 TCP/IP 四层,仅处理 IP + 端口,不解析 HTTP 应用层,转发速度极快,百万级并发无压力

流量调度:接收用户请求,根据调度算法转发给后端真实服务器 RS

虚拟 IP 对外:统一 VIP 对外提供服务,用户只访问虚拟 IP,无感知后端多台机器

健康检测:配合 Keepalived 自动下线故障后端节点

高吞吐低消耗:内核转发不占用用户进程 CPU,性能远超七层 Nginx

3。LVS是内核级四层负载均衡,由章文嵩博士开发,集成在 Linux 内核 ipvs 模块。

4.模式 1:NAT 网络地址转换

原理

用户请求:客户端 IP → LVS-VIP

调度器修改数据包目标 IP为后端 RS 内网 IP,转发给真实服务器

RS 回包:源 IP 是内网 RSIP,数据包必须经过 LVS 调度器

调度器修改回包源 IP为 VIP,返回客户端

模式 2:DR 直接路由

原理

请求报文:客户端→LVS-VIP,调度器仅修改二层 MAC 地址,转发给 RS

RS 本地配置 VIP 环回网卡,接收目标为 VIP 的数据包处理

响应报文不经过 LVS:RS 直接把数据包回复给客户端,流量分离

模式3:TUN IP 隧道

原理

LVS 将用户原始 IP 数据包封装一层新 IP 隧道头,转发给跨网段 RS

RS 解封装隧道,识别内部 VIP 数据包处理

RS 直接回包客户端,不经过 LVS

模式 4:FULLNAT 全网络地址转换

原理(内核 3.2 + 新增)

请求:LVS 同时修改源 IP + 目标 IP,客户端 IP 转为调度器内网 IP,目标 VIP 改为 RSIP

回包:RS 回复调度器内网 IP,调度器再转换源 VIP、目标客户端 IP 返回

5.分为静态算法和动态算法

一、静态调度(4 种)

rr 轮询:请求依次平均分给每台 RS,不考虑服务器性能差异

wrr 加权轮询:给 RS 配置权重,权重越高分到请求越多

dh 目标地址哈希:根据客户端目标 IP 哈希,同一 IP 固定分配同一 RS

sh 源地址哈希:根据客户端源 IP 哈希,同一个用户 IP 永远访问同一 RS

二、动态调度(9 种,自动感知负载)

lc 最小连接:优先分配给当前活跃连接数最少的 RS

wlc 加权最小连接:活跃连接 / 权重比值最小的 RS 优先分配,生产最常用

lblc 基于本地最小连接:目标 IP 哈希 + 最小连接,缓存业务专用

lblcr 带复制本地最小连接:lblc 升级,支持缓存复制

sed 最短预期延迟:(连接数 + 1)*1000 / 权重,数值越小优先分配

nq 永不排队:空闲 RS 直接分配,无空闲再走 sed 算法

fo 加权故障:检测 RS 故障次数,故障多的降低分配优先级

ovf 溢出调度

pe 持久化均衡:会话持久专用调度

6.方案 1:fwmark 防火墙标记

iptables 给所有业务端口统一打上相同标记

复制代码
iptables -t mangle -A PREROUTING -d 192.168.1.10 -p tcp --dport 80 -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -d 192.168.1.10 -p tcp --dport 443 -j MARK --set-mark 10

ipvs 基于标记创建一条虚拟服务,不再区分端口

复制代码
ipvsadm -A -f 10 -s wlc
ipvsadm -a -f 10 -r 192.168.1.2:80 -g
ipvsadm -a -f 10 -r 192.168.1.3:80 -g

方案 2:统一源哈希 sh 调度

每条端口规则配置 sh 源哈希,同一客户端 IP 固定分配同一 RS,缺点:哈希倾斜,流量不均。

7.方案 1:ipvs 持久化连接

创建虚拟服务时添加 -p

复制代码
ipvsadm -A -t 192.168.1.10:80 -s wlc -p 300

方案 2:sh 源地址哈希调度

使用静态 sh 算法,基于客户端源 IP 哈希永久绑定 RS,适合固定公网 IP 用户。

方案 3:fwmark 多端口 + 持久化

多端口业务结合防火墙标记 + 持久化,80/443 共用会话绑定。

方案 4:应用层统一会话存储

不依赖 LVS 会话保持,后端所有 RS 共享 session 存储:Redis/Memcached 统一存放登录会话,所有机器读取同一会话数据,完美规避四层粘滞缺陷,分布式系统标准方案。

相关推荐
吴声子夜歌6 分钟前
Nginx应用与运维——Nginx日志管理
java·运维·nginx
打工仔折腾 AI17 分钟前
用UU远程把家里电脑变成AI Agent常驻服务器:CLI、端口映射与代理实测
运维·服务器·人工智能·后端·python·电脑·ai agent 实战
guo_wen_qiang24 分钟前
云服务器nacos搭建-集群&持久化
java·运维·服务器
牢姐与蒯1 小时前
一点小碎片——每个线程独有的东西——上下文+栈
linux·运维·服务器
Elastic 中国社区官方博客1 小时前
错误最多的服务运行正常:使用 ES|QL 从日志进行根因分析
大数据·运维·数据库·sql·elasticsearch·搜索引擎·全文检索
迪康coolmu1 小时前
屏幕水印与防拍照落地:从水印类型到泄密溯源的完整配置
运维·网络·安全·网络安全·数据安全
0+1111 小时前
Linux --进程间关系和守护进程
linux·运维·服务器
weixin_403810132 小时前
EasyClick iOS 免越狱自动化脚本怎么写:从环境判断到跑通第一个脚本
运维·ios·自动化
程序猿老A2 小时前
GPU云服务器怎么安装AI
运维·服务器·人工智能
小白的码BUG之路2 小时前
Docker -- No space left on device
运维·docker·容器