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 规则的正确性。实际应用中,还可以根据需求调整调度算法、增加真实服务器数量等,进一步优化集群性能。

相关推荐
dessler2 天前
代理服务器-LVS的3种模式与调度算法
运维·服务器·网络·算法·nginx·tomcat·lvs
zhcong_2 天前
Nginx+Tomcat 负载均衡群集
服务器·负载均衡·lvs
惊起白鸽4503 天前
LVS负载均衡
运维·负载均衡·lvs
�FENG3 天前
LVS、NGINX、HAPROXY的调度算法
nginx·lvs·haproxy·调度算法
2401_836836597 天前
LVS+KeepAlived
网络·智能路由器·lvs
zhcong_8 天前
LVS+Keepalived高可用群集
linux·运维·lvs
别骂我h8 天前
LVS +Keepalived高可用群集
linux·运维·lvs
2401_836836598 天前
LVS-DR群集
服务器·网络·lvs
528308 天前
LVS+Keepalived高可用群集
linux·服务器·lvs
YUNYINGXIA8 天前
部署LVS-DR群集
lvs