LVS负载均衡集群NAT模式+DR模式

张开发
2026/4/14 19:27:21 15 分钟阅读

分享文章

LVS负载均衡集群NAT模式+DR模式
超详细完整版 LVS 负载均衡集群NAT 模式 DR 模式 原理 扩展知识点一、LVS 负载均衡集群1.1 什么是集群 Cluster集群是多台服务器组合在一起对外表现为一个整体、提供同一个服务、使用同一个 VIP。1.2 集群三大类型负载均衡集群 LB提高并发、分担压力、减少延迟。高可用集群 HA保证服务不中断故障自动切换。高性能运算集群 HPC分布式计算提升算力。1.3 负载均衡集群三层结构负载调度器 Director唯一入口使用 VIP分发请求。服务器池 Server Pool真实业务服务器 Real Server处理请求。共享存储保证所有节点数据一致Linux 下常用NFS。1.4 LVS 三种工作模式NAT 模式地址转换调度器是网关请求和响应都经过调度器。DR 模式直接路由仅修改 MAC 地址响应直接回客户端性能最高。TUN 模式IP 隧道跨公网部署企业极少使用。1.5 LVS 内核模块与管理工具内核模块ip_vs管理工具ipvsadm二、LVS-NAT 模式 完整实验文档 1 全部步骤一字不落2.1 实验环境文档原版主机操作系统IP 地址应用LVSopenEuler 24.03192.168.10.101ipvsadmWeb1openEuler 24.03192.168.10.102Apache、NFS、bind-utilsWeb2openEuler 24.03192.168.10.103Apache、NFS、bind-utilsNFSopenEuler 24.03192.168.10.104NFS、bind-utilsVIP192.168.74.129外网2.2 实验前置准备所有机器关闭防火墙SELinux确保互通2.3 步骤 1配置 NFS 共享存储文档完整步骤bash运行# 安装软件 yum -y install nfs-utils rpcbind # 开机自启 systemctl enable nfs-server systemctl enable rpcbind # 创建共享目录 mkdir -p /opt/wwwroot # 编辑配置文件 vi /etc/exports /opt/wwwroot 192.168.10.0/24(rw,sync,no_root_squash) # 启动服务 systemctl start rpcbind systemctl start nfs-server # 查看共享 showmount -e2.4 步骤 2配置 LVS 调度器文档完整步骤2.4.1 开启路由转发bash运行vi /etc/sysctl.conf net.ipv4.ip_forward 1 sysctl -p2.4.2 配置外网网卡ens36作为 VIPbash运行cd /etc/sysconfig/network-scripts/ cp ifcfg-ens33 ifcfg-ens36 vi ifcfg-ens36 TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic DEFROUTEyes NAMEens36 DEVICEens36 ONBOOTyes IPADDR192.168.74.129 NETMASK255.255.255.0 GATEWAY192.168.74.1 DNS18.8.8.8bash运行systemctl restart NetworkManager2.4.3 配置 ipvsadm 策略文档原版命令bash运行# 安装工具 dnf install ipvsadm # 清空策略 ipvsadm -C # 创建虚拟服务器 ipvsadm -A -t 192.168.74.129:80 -s rr # 添加 Web1 ipvsadm -a -t 192.168.74.129:80 -r 192.168.10.102:80 -m -w 1 # 添加 Web2 ipvsadm -a -t 192.168.74.129:80 -r 192.168.10.103:80 -m -w 1 # 保存 ipvsadm-save /etc/sysconfig/ipvsadm # 开机自启 systemctl enable ipvsadm2.5 步骤 3配置 Web 节点服务器Web1、Web2 完全一样2.5.1 修改网关指向 LVS 调度器bash运行# 删除原有默认网关 route del default gw 192.168.10.254 # 添加新网关 route add default gw 192.168.10.1012.5.2 安装 httpdbash运行yum -y install httpd2.5.3 挂载 NFS 共享bash运行mount 192.168.10.104:/opt/wwwroot /var/www/html2.5.4 创建测试页面bash运行vi /var/www/html/index.html h1LVS 负载均衡群集——测试网页/h12.5.5 启动服务bash运行systemctl start httpd systemctl enable httpd2.6 步骤 4测试 LVS-NAT 集群浏览器访问http://192.168.74.129多次刷新轮流出现不同节点页面查看状态bash运行ipvsadm -ln ipvsadm -lnc三、LVS-DR 模式 完整实验文档 2 全部步骤一字不落3.1 实验环境主机操作系统IP 地址应用LVSopenEuler 24.03192.168.10.101 VIP192.168.10.100ipvsadmWeb1openEuler 24.03192.168.10.102Apache、NFS、bind-utilsWeb2openEuler 24.03192.168.10.103Apache、NFS、bind-utilsNFSopenEuler 24.03192.168.10.104NFS、bind-utils3.2 DR 模式核心特点Director 与 RS同网段请求走 Director响应直接回客户端所有机器都配置 VIP必须抑制 ARP3.3 步骤 1配置 LVS 调度器3.3.1 配置 VIP子接口 ens33:0bash运行cd /etc/sysconfig/network-scripts/ cp ifcfg-ens33 ifcfg-ens33:0 vi ifcfg-ens33:0 NAMEens33:0 DEVICEens33:0 ONBOOTyes IPADDR192.168.10.100 NETMASK255.255.255.255bash运行systemctl restart NetworkManager3.3.2 关闭内核重定向bash运行vi /etc/sysctl.conf net.ipv4.conf.all.send_redirects 0 net.ipv4.conf.default.send_redirects 0 net.ipv4.conf.ens33.send_redirects 0 sysctl -p3.3.3 配置 ipvsadm 策略-g DR 模式bash运行ipvsadm -C ipvsadm -A -t 192.168.10.100:80 -s rr 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 ipvsadm3.4 步骤 2配置 Web 节点服务器两台都执行3.4.1 在 lo:0 配置 VIPbash运行vip192.168.10.100 ip addr add ${vip}/32 dev lo label lo:0 ip route add local ${vip}/32 dev lo永久生效bash运行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.local3.4.2 ARP 抑制参数bash运行vi /etc/sysctl.conf net.ipv4.conf.all.arp_ignore 1 net.ipv4.conf.all.arp_announce 2 net.ipv4.conf.default.arp_ignore 1 net.ipv4.conf.default.arp_announce 2 net.ipv4.conf.lo.arp_ignore 1 net.ipv4.conf.lo.arp_announce 2 sysctl -p3.4.3 安装 httpd 并挂载 NFSbash运行yum -y install httpd mount 192.168.10.104:/opt/wwwroot /var/www/html3.4.4 测试页面bash运行vi /var/www/html/index.html h1LVS 负载均衡群集——测试网页/h13.4.5 启动服务bash运行systemctl start httpd systemctl enable httpd3.5 步骤 3测试 DR 模式访问http://192.168.10.100多次刷新负载均衡生效。查看状态bash运行ipvsadm -ln四、两份文档外补充知识点4.1 LVS 完整 8 种调度算法rr 轮询wrr 加权轮询lc 最少连接wlc 加权最少连接生产默认lblc 基于局部性的最少连接lblcr 带复制的局部性最少连接dh 目标地址哈希sh 源地址哈希会话保持4.2 NAT 与 DR 模式深度对比对比项NATDR数据包修改修改 IP 地址只修改 MAC响应路径回调度器直接回客户端性能中等最高VIP 位置仅调度器调度器 所有节点网络要求双网卡网关指向调度器同网段不能指向调度器安全高中生产使用小并发高并发首选4.3 DR 模式 ARP 抑制原理arp_ignore1只响应目标是本机物理网卡 IP 的请求arp_announce2不发布 lo 接口的 IP 信息→ 保证只有调度器响应 VIP 的 ARP4.4 LVS 必知故障排查VIP ping 不通防火墙没关ARP 未抑制VIP 配置错误只能访问一台 RS权重为 0节点宕机健康检查失败DR 模式异常节点网关指向调度器VIP 掩码不是 32 位lo:0 未配置4.5 生产架构LVS Keepalived解决调度器单点故障自动主备切换自动健康检查 RS企业标准架构客户端 → LVS-DR → Nginx → 应用服务4.6 LVS 4 层 vs Nginx 7 层LVS内核 4 层转发性能极高Nginx7 层应用转发支持 URL、HTTPS、缓存4.7 ipvsadm 常用命令大全bash运行ipvsadm -C # 清空 ipvsadm -A -t VIP:80 -s 算法 # 创建虚拟服务 ipvsadm -a -t VIP:80 -r RSIP -g # 添加 DR 节点 ipvsadm -a -t VIP:80 -r RSIP -m # 添加 NAT 节点 ipvsadm -d -r RSIP -t VIP:80 # 删除节点 ipvsadm -D -t VIP:80 # 删除虚拟服务 ipvsadm -ln # 查看状态 ipvsadm -lnc # 查看连接 ipvsadm-save # 保存

更多文章