LVS的DR模式部署

news2025/5/31 21:57:50

目录

一、引言:高并发场景下的流量调度方案

二、LVS-DR 集群核心原理与架构设计

(一)工作原理与数据流向

数据包流向步骤3:

(二)模式特性与53网络要求

三、实战配置:从9环境搭建到参数调整

(一)案例环境规划

(二)负载调度器配置步骤

1. 绑定 VIP 地址(虚接口方式)

2. 关闭内核重定向参数

3. 配置负载均衡策略(轮询算法)

(三)真实服务器配置要点

1. 通过 lo 接口配置 VIP(回环接口)

2. 禁用 ARP 响应更新

3. 部署 Web 服务与 NFS 共享

四、集群验证与状态监控

(一)功能测试

(二)状态查看与11策略验证

五、总结与应用场景建议

六、常见问题排查与解决方案

(一)集群无响应或请求丢失

1. IP 配置冲突

2. ARP 广播冲突

3. iptables 防火墙拦截

(二)负载分配不均

1. 调度算法配置错误

2. Real Server 性能差异

七、性能优化与扩展策略

(一)内核参数调优

1. TCP 连接优化

2. IPVS 连接超时设置

(二)高可用扩展

1. 主备调度器(Keepalived)

2. 横向扩展 Real Server

八、LVS-DR 与其他负载均衡方案对比

九、总结与实践建议

(一)最佳实践清单

(二)学习路径推荐


一、引言:高并发场景下的流量调度方案

在数字化业务爆发式增长的今天,如何应对海量用户访问带来的系统压力成为关键挑战。负载均衡技术通过将流量合理分配至多个服务器,有效避免单点故障并提升系统扩展性。其中,LVS-DR(Direct Routing)模式凭借高性能、低延迟、流量分离处理的特性,成为构建大规模负载均衡集群的核心方案。本文将结合文档《部署 LVS-DR 群集_扫描版.pdf》内容,详细解析其工作原理、配置流程及实战验证方法。

二、LVS-DR 集群核心原理与架构设计

(一)工作原理与数据流向

LVS-DR 模式由Director Server(负载调度器)Real Server(真实服务器)组成,两者需位于同一物理网络并共享VIP(虚拟 IP 地址)。其核心逻辑为:

请求入口:客户端通过 VIP 访问集群,请求由 Director Server 接收。

数据转发:Director Server 通过二层链路(MAC 地址重写)将请求分发至 Real Server,源 IP 与目标 IP 保持不变,仅修改 MAC 地址。

响应直连:12Real Server 直接将响应报文通过 lo 接口返回客户端,无需经过 Director Server,实现流量 “入站分发、出站直连”。

数据包流向步骤3:

客户端发送请求(源 IP=CIP,目标 IP=VIP)至 Director Server。

Director4 Server 通过 IPVS 判断为集群服务,修改 MAC 地址(源 MAC=Director,目标 MAC=Real Server)后转发。

Real Ser2ver 接收报文,封装响应(源 IP=VIP,目标 IP=CIP)并通过物理网卡直接返回客户端。

(二)模式特性与53网络要求

物理网络限制:Director 与 Real Server 必须处于同一局域网,依赖二层通信(如 VLAN 或交换机直连)。

  • *IP 配置规则6*:
    • Real Server 通过 lo 接口配置 VIP(仅作响应源地址,不监听请求)。
    • Real Se7rver 网关不可指向 Director IP,避免响应报文绕行。
  • *流量效率优势8*:响应报文无需经过 Director,大幅降低调度器负载,提升吞吐量。

三、实战配置:从9环境搭建到参数调整

(一)案例环境规划

主机角色操作系统主 IP 地址VIP 地址核心组件
负载调度器(LVS)openEuler 24.03192.168.10.101192.168.10.100ipvsadm
真实服务器 1(Web1)openEuler 24.03192.168.10.102192.168.10.100Apache、NFS
真实服务器 2(Web2)openEuler 24.03192.168.10.103192.168.10.100Apache、NFS
NFS 共享服务器openEuler 24.03192.168.10.104-NFS

(二)负载调度器配置步骤

1. 绑定 VIP 地址(虚接口方式)

通过ens33:0虚接口为调度器配置 VIP,子网掩码设为255.255.255.255(全 1 掩码),确保 VIP 仅本地可见:

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0  # 复制主网卡配置
vim ifcfg-ens33:0  # 修改为VIP地址,NETMASK=255.255.255.255
IPADDR=192.168.10.100
systemctl restart NetworkManager  # 生效配置
2. 关闭内核重定向参数

避免调度器向客户端发送错误路由重定向,修改/etc/sysctl.conf并生效:

echo "net.ipv4.conf.all.send_redirects=0" >> /etc/sysctl.conf
echo "net.ipv4.conf.default.send_redirects=0" >> /etc/sysctl.conf
echo "net.ipv4.conf.ens33.send_redirects=0" >> /etc/sysctl.conf
sysctl -p  # 应用配置
3. 配置负载均衡策略(轮询算法)

使用ipvsadm添加集群服务,将请求分发至 Real Server(-g表示 DR 模式):

ipvsadm -C  # 清除原有策略
# 添加集群服务(TCP 80端口,轮询算法rr)
ipvsadm -A -t 192.168.10.100:80 -s rr
# 添加真实服务器(权重均为1)
ipvsadm -a -t 192.168.10.100:80 -r 192.168.10.102 -g -w 1
ipvsadm -a -t 192.168.10.100:80 -r 192.168.10.103 -g -w 1
ipvsadm-save > /etc/sysconfig/ipvsadm  # 保存策略
systemctl enable ipvsadm  # 开机自启

(三)真实服务器配置要点

1. 通过 lo 接口配置 VIP(回环接口)

VIP 仅作为响应报文源地址,通过lo:0接口绑定并限制路由:

vip="192.168.10.100"
# 临时配置(重启失效)
ip addr add ${vip}/32 dev lo label lo:0
ip route add local ${vip}/32 dev lo
# 永久配置(写入rc.local)
echo "ip addr add ${vip}/32 dev lo label lo:0" >> /etc/rc.local
echo "ip route add local ${vip}/32 dev lo" >> /etc/rc.local
chmod +x /etc/rc.local
2. 禁用 ARP 响应更新

防止 Real Server 广播 VIP 的 MAC 地址,避免与 Director 冲突:

vim /etc/sysctl.conf
# 添加以下参数
net.ipv4.conf.all.arp_ignore=1  # 忽略非本地目标IP的ARP请求
net.ipv4.conf.all.arp_announce=2 # 限制ARP公告仅发送主IP
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
sysctl -p  # 生效配置
3. 部署 Web 服务与 NFS 共享

以 Apache 为例,挂载 NFS 共享实现内容一致性(文档建议参考第 1 章配置 NFS):

yum -y install httpd  # 安装Web服务
mount 192.168.10.104:/var/www/html /var/www/html  # 挂载NFS共享
echo "<h1>LVS负载均衡群集--测试网页</h1>" > /var/www/html/index.html  # 创建测试页
systemctl start httpd && systemctl enable httpd  # 启动服务

四、集群验证与状态监控

(一)功能测试

通过浏览器访问http://192.168.10.100,刷新页面观察请求是否轮询分发至 Web1 和 Web2。若 Real Server 配置不同测试内容(如不同 HTML 标题),可直观验证负载均衡效果。

(二)状态查看与11策略验证

使用ipvsadm -ln命令查看当前集群状态,确认调度算法、Real Server 列表及连接统计:

ipvsadm -ln
# 示例输出(轮询算法rr,两台Real Server)
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.10.100:80 rr
  -> 192.168.10.102:80            Route   1      0          3
  -> 192.168.10.103:80            Route   1      0          2

五、总结与应用场景建议

LVS-DR 模式通过二层转发 + 响应直连的设计,显著提升了高并发场景下的流量处理效率,适用于电商平台、视频网站等需要低延迟、高吞吐的业务场景。但需注意:

网络局限性:依赖同一局域网,跨网段部署需结合其他模式(如 LVS-TUN)。

配置关键点:VIP 路由限制、ARP 参数调整是避免集群冲突的核心。

通过本文的原理剖析与710实战操作,可快速掌握 LVS-DR 集群的搭建与调优方法,为构建稳定的分布式系统提供技术支撑。

以下是对 LVS-DR 集群的进一步扩展内容,涵盖常见问题排查、性能优化方向及与其他负载均衡方案的对比,帮助读者更全面掌握该技术:

六、常见问题排查与解决方案

(一)集群无响应或请求丢失

1. IP 配置冲突
  • 现象:客户端无法访问 VIP,或 Real Server 响应报文未走 lo 接口。
  • 排查
    • 检查 Director 与 Real Server 的 VIP 是否均通过正确接口(调度器 ens33:0,Real Server lo:0)配置。
    • 确保 Real Server 的网关未指向 Director IP(执行route -n查看默认网关)。
  • 解决:修正网关配置,确保 Real Server 直接通过本地网关访问外网。
2. ARP 广播冲突
  • 现象:客户端 ping VIP 返回 Real Server 的 MAC 地址,导致请求未到达 Director。
  • 排查:在 Real Server 执行arp -a,查看是否错误广播 VIP 的 MAC 地址。
  • 解决
    • 确认arp_ignore=1arp_announce=2已生效(sysctl net.ipv4.conf.all.arp_ignore查看值是否为 1)。
    • 重启网络服务或服务器使配置生效。
3. iptables 防火墙拦截
  • 现象:请求到达 Director 后未被转发,ipvsadm日志无记录。
  • 排查:检查调度器的 iptables 规则是否拦截了 VIP 流量。
  • 解决
    • 开放 VIP 的 HTTP/HTTPS 端口:
      iptables -A INPUT -d 192.168.10.100 -p tcp --dport 80 -j ACCEPT
      
    • 关闭 iptables(测试环境适用):
      systemctl stop firewalld && systemctl disable firewalld
      

(二)负载分配不均

1. 调度算法配置错误
  • 现象ipvsadm -ln显示某台 Real Server 连接数远高于另一台。
  • 排查:确认调度算法是否正确(如轮询rr、加权轮询wrr),权重配置是否一致。
  • 解决
    • 重置策略并重新添加 Real Server:
      ipvsadm -C
      ipvsadm -A -t VIP:80 -s wrr  # 使用加权轮询
      ipvsadm -a -r RealServer1 -g -w 2  # 权重设为2
      ipvsadm -a -r RealServer2 -g -w 1  # 权重设为1
      
2. Real Server 性能差异
  • 现象:高性能节点负载低,低性能节点负载高。
  • 解决:根据服务器配置调整权重(-w参数),性能强的节点分配更高权重。

七、性能优化与扩展策略

(一)内核参数调优

1. TCP 连接优化

在 Director Server 和 Real Server 中调整以下参数,提升 TCP 处理效率:

vim /etc/sysctl.conf
# 快速回收TIME_WAIT连接
net.ipv4.tcp_fin_timeout=30
# 允许重用TIME_WAIT连接的端口
net.ipv4.tcp_tw_reuse=1
# 增加TCP半连接队列长度
net.ipv4.tcp_max_syn_backlog=8192
sysctl -p
2. IPVS 连接超时设置

缩短空闲连接超时时间,释放资源:

ipvsadm -E -t VIP:80 -s rr -p 60  # 设置连接保持时间为60秒

(二)高可用扩展

1. 主备调度器(Keepalived)

为避免 Director 单点故障,引入 Keepalived 实现双机热备:

  • 配置要点
    • 主备调度器共享虚拟 IP(VIP)。
    • 通过 VRRP 协议监控主节点状态,故障时自动切换。
  • 参考命令
    yum install keepalived  # 安装Keepalived
    # 主节点配置(/etc/keepalived/keepalived.conf)
    vrrp_instance VI_1 {
        state MASTER
        interface ens33
        virtual_router_id 51
        priority 100
        virtual_ipaddress {
            192.168.10.100
        }
    }
    
2. 横向扩展 Real Server

当集群负载超过现有节点处理能力时,可直接添加新的 Real Server 至ipvsadm策略,无需停机:

ipvsadm -a -t VIP:80 -r 192.168.10.105 -g -w 1  # 添加新节点

八、LVS-DR 与其他负载均衡方案对比

方案核心原理优势局限性适用场景
LVS-DR二层转发 + MAC 重写高性能、低延迟、流量分离依赖同一局域网大规模高并发集群
Nginx七层代理(HTTP/HTTPS)支持 URL 路由、缓存、动态负载均衡单机性能有限(万级连接)应用层负载均衡(如 Web)
HAProxy四层 / 七层代理支持 TCP/UDP、健康检查、会话保持配置复杂度较高混合协议场景
云厂商 SLB托管式负载均衡自动扩展、高可用依赖云平台、成本较高云原生架构

九、总结与实践建议

(一)最佳实践清单

  1. 网络规划:确保 Director 与 Real Server 在同一 VLAN,使用交换机而非路由器连接(避免三层转发)。
  2. 配置验证
    • 部署后通过arp -n检查客户端是否获取 Director 的 MAC 地址(正常应为调度器 MAC)。
    • 使用tcpdump抓包分析请求 / 响应路径,确认响应报文直接由 Real Server 发出。
  3. 监控体系
    • 监控 Director 的 CPU / 内存使用率(避免成为瓶颈)。
    • 监控 Real Server 的负载、连接数及健康状态(可结合 Nagios 或 Prometheus)。

(二)学习路径推荐

  1. 基础巩固:深入理解 IPVS 内核模块原理(参考《Linux 内核源代码情景分析》)。
  2. 实战进阶:在测试环境中尝试混合使用 LVS-DR 与 Nginx(LVS 负责四层分发,Nginx 处理七层逻辑)。
  3. 前沿探索:研究 Kubernetes 中 LVS 的应用(如 kube-proxy 的 IPVS 模式)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2391919.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TRS收益互换平台开发实践:从需求分析到系统实现

一、TRS业务概述 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;允许投资者通过支付固定或浮动利息&#xff0c;换取标的资产&#xff08;如股票、指数&#xff09;的收益权。典型应用场景包括&#xff1a; ​​跨境投资​​&#xff…

测试Bug篇

本节概要&#xff1a; 软件测试的生命周期 bug的概念 buh要素 bug等级 bug生命周期 对于bug的定级与开发发生冲突如何解决 一、 软件测试的⽣命周期 软件测试贯穿于软件的整个生命周期&#xff0c;针对这句话我们⼀起来看⼀下软件测试是如何贯穿软件的整个生命周期。 软…

【Linux系统移植】Cortex-A8 Linux系统移植(超详细)

目录 前言 一、ARM开发板ARM简介RISC和CISCARM产品分布核心板S5pv210 SOC嵌入式系统开发方式 二、嵌入式系统组成为什么要系统移植内核移植框图 三、嵌入式开发环境搭建搭建开发环境总流程设置ubuntu与windows共享目录修改用户为root用户安装NFS服务器安装tftp服务器安装交叉编…

第十五届蓝桥杯大赛软件赛国赛Python 大学 C 组试做【本期题单: 设置密码、栈】

早上好啊大伙&#xff0c;这一期依旧是蓝桥杯备赛刷题的记录。 本期题单&#xff1a;设置密码、栈 前言 前段时间准备省赛&#xff0c;运气好进国赛了。所以就开始准备6月份的国赛。但是近期还有别的比赛要准备&#xff0c;所以刷题的速度比较慢&#xff0c;可能每一期就会有一…

报错SvelteKitError: Not found: /.well-known/appspecific/com.chrome.devtools.json

报错信息 SvelteKitError: Not found: /.well-known/appspecific/com.chrome.devtools.json 解决方案一 更新所有依赖 npm update解决方案二&#xff08;不一定成功&#xff09; src\lib\hooks.server.ts&#xff0c;每次请求服务器时执行 import type { Handle } from &…

word添加页眉

问题一&#xff1a; 为word文档添加页眉。 方法&#xff1a; 1、在要添加页眉的第一页页面顶端双击页眉区域&#xff0c;如果添加页眉页上面还有其他页或者与上一页添加页眉内容不同&#xff0c;记得取消“链接到前一节”&#xff08;点击使其上面没有灰色即可&#xff09;&…

2025推客系统小程序开发:独立部署源码交付,高性价比裂变增长引擎

在私域流量争夺白热化的今天&#xff0c;源码独立部署的推客系统小程序已成为企业构建自主分销体系、降低获客成本的核心利器。基于成熟案例与技术沉淀&#xff0c;我们提供安全可控、高性价比的一站式解决方案&#xff0c;助力企业快速搭建专属推客生态&#xff0c;实现长效增…

CentOS 7.0重置root密码

文章目录 版本&#xff1a;CentOS 7.0内核版本&#xff1a;CentOS Linux, with Linux 3.10.0-123.el7.x86_64 服务器重启后&#xff0c;等待进入上述页面&#xff0c;按⬆⬇键&#xff0c;中断正常启动。在此页面按E&#xff0c;进入编辑模式 继续按⬇&#xff0c;找到linux16…

YOLOV11改进策略【最新注意力机制】CVPR2025局部区域注意力机制LRSA-增强局部区域特征之间的交互

1.1网络结构 1.2 添加过程 1.2.1 核心代码 import torch import torch.nn as nn import torch.nn.functional as F from einops import rearrangedef patch_divide(x, step, ps):"""Crop image into patches.Args:x (Tensor): Input feature map of shape(b, …

DAY33 简单神经网络

你需要自行了解下MLP的概念。 你需要知道 梯度下降的思想激活函数的作用损失函数的作用优化器神经网络的概念 神经网络由于内部比较灵活&#xff0c;所以封装的比较浅&#xff0c;可以对模型做非常多的改进&#xff0c;而不像机器学习三行代码固定。 1. 神经网络的概念 (Th…

OBOO鸥柏丨2025年鸿蒙生态+国产操作系统触摸屏查询一体机核心股

在信创产业蓬勃发展的当下&#xff0c;OBOO鸥柏积极响应纯国产化号召&#xff0c;推出基于华为鸿蒙HarmonyOS操作系统的触摸屏查询一体机及室内外场景广告液晶显示屏一体机上市&#xff0c;OBOO鸥柏品牌旗下显示产品均采用国产芯片&#xff0c;接入终端控制端需支持安卓Windows…

【观成科技】Ymir勒索软件组织窃密木马RustyStealer加密通信分析

1.概述 Ymir勒索软件首次发现于2024年7月&#xff0c;采用ChaCha20加密算法对受害者文件进行加密&#xff0c;加密文件后缀为.6C5oy2dVr6。在攻击过程中&#xff0c;Ymir勒索组织利用名为RustyStealer的窃密木马获取受害企业的账号凭证&#xff0c;为后续横向移动和权限提升奠…

Vuer开源程序 是一个轻量级的可视化工具包,用于与动态 3D 和机器人数据进行交互。它支持 VR 和 AR,可以在移动设备上运行。

​一、软件介绍 文末提供程序和源码下载 Vuer开源程序 是一个轻量级的可视化工具包&#xff0c;用于与动态 3D 和机器人数据进行交互。它支持 VR 和 AR&#xff0c;可以在移动设备上运行。 二、Our features include: 我们的功能包括&#xff1a; light-weight and performa…

短视频一键搬运 v1.7.1|短视频无水印下载 一键去重

短视频一键搬运是一款全自动智能处理软件&#xff0c;专为短视频创作者设计。它自带去水印、改MD5码、视频去重、视频编辑等功能&#xff0c;能够高效处理大量视频&#xff0c;解放双手并降低成本。该软件支持从多个短视频平台无缝提取视频并去除水印&#xff0c;同时检测敏感词…

海上石油钻井平台人员安全管控解决方案

一、行业挑战与需求分析 海上钻井平台面临复杂环境风险&#xff08;如易燃易爆、金属干扰、极端气象&#xff09;和人员管理难题&#xff08;如定位模糊、应急响应延迟&#xff09;。传统RFID或蓝牙定位技术存在精度不足&#xff08;1-5米&#xff09;、抗干扰能力差等问题&am…

TEASER-plusplu Windows Mingw编译

编译记录&#xff1a; 1.下载该库 v2.0 链接1&#xff1a;https://github.com/MIT-SPARK/TEASER-plusplus 连接2&#xff1a;https://github.com/MIT-SPARK/TEASER-plusplus/releases 2.下载 googletest 链接&#xff1a;https://github.com/google/googletest/releases?page2…

tryhackme——Data Exfiltration

文章目录 一、网络拓扑二、数据泄露分类2.1 传统数据泄露2.2 C2通信2.3 隧道 三、隧道3.1 Exfiltration using TCP socket3.2 Exfiltration using SSH3.3 Exfiltrate using HTTP(S)HTTP隧道 3.4 Exfiltration using ICMP3.4.1 ICMP数据包结构3.4.2 MSF实现ICMP数据泄露3.4.3 IC…

阿里云服务器采用crontab定时任务使acme.sh全自动化申请续签免费SSL证书,并部署在Linux宝塔网站和雷池WAF

阿里云服务器安装Linux宝塔面板用于部署网站&#xff0c;又安装了雷池WAF用于防护网站&#xff0c;网站访问正常。可以参考文章&#xff1a;Linux服务器安装Linux宝塔面板并部署wordpress网站以及雷池WAF 本文介绍使用 acme.sh 通过 DNS API 全自动申请和续签免费Let’s Encry…

【华为鸿蒙电脑】首款鸿蒙电脑发布:MateBook Fold 非凡大师 MateBook Pro,擎云星河计划启动

文章目录 前言一、HUAWEI MateBook Fold 非凡大师&#xff08;一&#xff09;非凡设计&#xff08;二&#xff09;非凡显示&#xff08;三&#xff09;非凡科技&#xff08;四&#xff09;非凡系统&#xff08;五&#xff09;非凡体验 二、HUAWEI MateBook Pro三、预热&#xf…

SpringBoot Controller接收参数方式, @RequestMapping

一. 通过原始的HttpServletRequest对象获取请求参数 二. 通过Spring提供的RequestParam注解&#xff0c;将请求参数绑定给方法参数 三. 如果请求参数名与形参变量名相同&#xff0c;直接定义方法形参即可接收。(省略RequestParam) 四. JSON格式的请求参数(POST、PUT) 主要在PO…