当前位置: 首页 > article >正文

LVS 部署 NAT 模式集群实现nginx负载均衡实验

一、实验目的

掌握使用 LVS(Linux Virtual Server)部署 NAT(Network Address Translation)模式集群的方法,实现将前端负载均衡器接收到的请求分发到后端真实服务器,提高系统的可用性和负载处理能力。

二、实验环境

  1. 服务器:3 台虚拟机,操作系统为 CentOS 7。
    • 负载均衡器(LVS):内网网卡IP地址为 10.0.0.11 ,外网网卡IP(vip)为192.168.65.131
    • 真实服务器 1(RS1):IP 地址为 10.0.0.12 。
    • 真实服务器 2(RS2):IP 地址为 10.0.0.13 。
  2. 网络配置:所有服务器和lvs处于同一局域网,且具备网络连接以便相互通信。

三、实验步骤

(一)负载均衡器(LVS)配置

  1. 安装必要软件:在负载均衡器上安装 ipvsadm 工具,用于管理 LVS 规则。
sudo yum install ipvsadm -y
  1. 配置 IP 地址确保 10.0.0.11 地址已正确配置在负载均衡器的网络接口上
  2. 开启 IP 转发:编辑 sysctl 配置文件,开启内核的 IP 转发功能。
sudo vi /etc/sysctl.conf

添加或修改以下行:

net.ipv4.ip_forward = 1

使配置生效:

sudo sysctl -p
  1. 配置 LVS 规则:添加 NAT 模式的虚拟服务器规则,将请求转发到后端真实服务器
ipvsadm -A -t 192.168.65.131:80 -s rr 
ipvsadm -a -t 192.168.65.131:80 -r 10.0.0.12 -m
ipvsadm -a -t 192.168.65.131:80 -r 10.0.0.13 -m

参数解释:

  • -A:添加虚拟服务器。
  • -t:指定虚拟服务器的 IP 地址和端口,这里是 192.168.65.131:80 。
  • -s rr:使用轮询(Round Robin)调度算法。
  • -p 60:设置会话保持时间为 60 秒。
  • -a:添加真实服务器。
  • -r:指定真实服务器的 IP 地址和端口。
  • -m:使用 NAT 模式。

2.查看lvs规则

ipvsadm -Ln

3.保存规则:规则是保存在内核中的,而不是直接保存到某个文件中。这意味着配置是动态的,并且只要系统保持运行状态,这些规则就会一直有效。 

ipvsadm -S > /etc/sysconfig/ipvsadm

(二)真实服务器(RS1 和 RS2)配置

  1. 安装 Web 服务:在两台真实服务器上安装 Nginx 作为 Web 服务示例。
sudo yum install nginx -y
  1. 启动 Web 服务:启动 Nginx 并设置开机自启。
sudo systemctl start nginx
sudo systemctl enable nginx
  1. 修改 Web 页面内容:为区分两台真实服务器的响应,分别修改 Nginx 的默认页面内容。
    在 RS1 上:
sudo vi /usr/share/nginx/html/index.html

添加内容:

<h1>This is RS1</h1>

在 RS2 上:

sudo vi /usr/share/nginx/html/index.html

添加内容:

<h1>This is RS2</h1>
  1. 配置默认网关:将真实服务器的默认网关设置为负载均衡器的 IP 地址 10.0.0.11 。
    编辑网络配置文件,例如:
sudo vi /etc/sysconfig/network - scripts/ifcfg - ens160

添加或修改以下行:

GATEWAY=10.0.0.11

重启网络服务使配置生效:

sudo systemctl restart network

(三)测试集群

  1. 关闭防火墙和 SELinux:在负载均衡器和真实服务器上暂时关闭防火墙和 SELinux,方便测试。
    在负载均衡器上:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

在真实服务器上执行相同操作。
2. 测试访问:在浏览器中输入负载均衡器的 IP 地址 192.168.65.131 ,多次刷新页面,观察是否交替显示 “This is RS1” 和 “This is RS2”,以此验证 LVS NAT 模式集群是否正常工作。

四、实验总结

通过本次实验,成功搭建了 LVS NAT 模式集群,实现了负载均衡器将前端请求分发到后端真实服务器的功能。在实验过程中,需要注意网络配置、服务启动以及 LVS 规则的正确性。实际应用中,还可以根据需求调整调度算法、增加真实服务器数量等,进一步优化集群性能。


http://www.kler.cn/a/544330.html

相关文章:

  • .NET 9.0 的 Blazor Web App 项目,进度条 <progress> 组件使用注意事项
  • 【STM32】通过L496的HAL库Flash建立FatFS文件系统(CubeMX自动配置R0.12C版本)
  • GUI智能体是什么
  • Spring 核心技术解析【纯干货版】- XII:Spring 数据访问模块 Spring-R2dbc 模块精讲
  • redis 缓存击穿问题与解决方案
  • LVS作业
  • 高级java每日一道面试题-2025年02月04日-服务器篇[Nginx篇]-简述一下什么是Nginx,它有什么优势和功能?
  • 【安全靶场】信息收集靶场
  • 仿 RabbitMQ 消息队列5(实战项目)
  • 2025年SEO工具有哪些?老品牌SEO工具有哪些
  • UR3 机械臂动作的record和replay
  • Unity崩溃后信息结合符号表来查看问题
  • 18vue3实战-----封装hooks
  • 论文概览 |《Cities》2024.12 Vol.155(上)
  • 2100年芜湖人的一天:张明的生活剪影
  • Day94:Re模块
  • 计算机网络,大白话
  • vue项目网页图标修改
  • GAEA的技术架构与系统集成 撸空投
  • 爬虫获取数据后,如何处理数据以提高分析效率?
  • 旅游行业内容管理系统CMS提升网站建设效率与体验
  • pytorch引用halcon写数据集
  • LARA:多语言多轮对话意图分类的新突破
  • [MySQL]1-MySQL结构与运行原理
  • 使用EVE-NG-锐捷实现DHCP
  • A001基于SpringBoot实现的小区物业管理系统