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

  2. 配置 IP 地址 :确保 10.0.0.11 地址已正确配置在负载均衡器的网络接口上。

  3. 开启 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

  2. 启动 Web 服务:启动 Nginx 并设置开机自启。

    sudo systemctl start nginx
    sudo systemctl enable nginx

  3. 修改 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

在真实服务器上执行相同操作。

  1. 测试访问:在浏览器中输入负载均衡器的 IP 地址 192.168.65.131 ,多次刷新页面,观察是否交替显示 "This is RS1" 和 "This is RS2",以此验证 LVS NAT 模式集群是否正常工作。

四、实验总结

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

相关推荐
obboda3 天前
LVS相关原理
linux·服务器·lvs
小马爱打代码3 天前
负载均衡 LVS vs Nginx 对比
nginx·负载均衡·lvs
竹竿袅袅4 天前
LVS 负载均衡集群(DR 模式)
linux·运维·网络·负载均衡·lvs
2301_旺仔6 天前
负载均衡集群——LVS-DR配置
负载均衡·lvs·linux集群
不会敲代码的XW6 天前
基于 openEuler 构建 LVS-DR 群集
运维·负载均衡·lvs
sour moon6 天前
基于openEuler构建LVS-DR群集
lvs
only_Klein6 天前
LVS-DR集群构建
linux·服务器·lvs
Spike()6 天前
web集群(LVS-DR)
服务器·网络·lvs
小吃饱了6 天前
基于 openEuler 构建 LVS-DR 群集
开发语言·php·lvs