1.总结 LVS的NAT和DR模型工作原理,并完成DR模型实战。
LVS的NAT与DR模型核心原理
一、NAT模型
1、核心机制:
客户端请求到达调度器(Director),目标IP(VIP)被修改为后端RealServer的IP(RIP),转发至RealServer。
RealServer的响应需返回调度器,由调度器将源IP(RIP)还原为VIP后返回客户端。
2、关键特性:
所有流量(请求+响应)均经过调度器,性能受限。
RealServer必须与调度器同子网,且网关指向调度器。
二、DR模型
1、核心机制:
调度器仅修改请求报文的目标MAC地址(不修改IP),直接转发至RealServer。
RealServer处理请求后,直接通过自身网卡将响应返回客户端,绕过调度器。
2、关键特性:
仅请求经过调度器,性能更高。
RealServer需配置VIP(绑定至lo接口)并禁用ARP响应,防止IP冲突。
2.总结LVS的调度算法
一、静态调度算法
仅根据预设规则分配请求,不实时感知服务器负载:
RR(轮询)
请求按顺序依次分配给所有Real Server。
特点:简单无状态,但忽略服务器性能差异。
WRR(加权轮询)
根据服务器权值分配请求,权值高的服务器处理更多请求。
适用场景:服务器性能差异明显的环境(如高配/低配服务器混合部署)。
SH(源地址哈希)
对客户端源IP进行哈希计算,同一IP的请求始终分配给同一Real Server。
适用场景:需会话保持(Session Affinity)的服务(如登录态业务)。
DH(目标地址哈希)
对请求目标IP进行哈希计算,相同目标IP的请求固定分配给同一Real Server。
适用场景:缓存服务器负载均衡(如CDN节点调度)。
二、动态调度算法
基于实时负载状态(如连接数、响应延迟)分配请求:
LC(最少连接)
优先将请求分配给当前连接数最少的Real Server。
缺点:忽略服务器权值,可能导致负载不均。
WLC(加权最少连接)
结合服务器权值和当前连接数,优先选择(连接数/权值)最小的服务器。
默认算法:LVS默认调度策略,适用于通用高并发场景。
SED(最短期望延迟)
改进版WLC,计算公式为(连接数+1)/权值,优先选择值最小的服务器。
特点:减少新请求分配到高负载服务器的概率。
NQ(永不排队)
在SED基础上,强制新请求优先分配给空闲服务器(连接数为0的节点)。
适用场景:突发流量场景,避免新请求排队等待。
LBLC(基于局部性的最少连接)
动态版DH算法,结合目标地址哈希和最少连接策略,优化缓存命中率。
LBLCR(带复制的LBLC)
在LBLC基础上,允许缓存内容在多个Real Server间复制,提升冗余性和容灾能力。
3.使用keepalived实现lvs高可用,总结过程和配置文件