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

相关推荐
大橘8 天前
centos8上实现lvs集群负载均衡dr模式
服务器·负载均衡·lvs
Z字小熊饼干爱吃保安9 天前
LVS-----DR模式
linux·运维·服务器·网络·nginx·lvs
Z字小熊饼干爱吃保安9 天前
Keepalive+LVS+Nginx+NFS高可用项目
运维·服务器·nginx·自动化·lvs·高可用
xxc_my9 天前
LVS高可用负载均衡
服务器·负载均衡·lvs·高可用
再学一丢丢13 天前
Keepalived+LVS+nginx高可用架构
nginx·架构·lvs
xxc_my14 天前
LVS的三种工作模式简述
服务器·网络·lvs
Kendra91915 天前
Keepalive+LVS+Nginx+NFS高可用架构
nginx·架构·lvs
棕生15 天前
架构师面试(二十三):负载均衡
nginx·负载均衡·lvs·架构师面试·rpc连接池·vip+keepalive
RememberLey16 天前
lvs-net+nfs的配置
开发语言·php·lvs
重启就好17 天前
【LVS】负载均衡群集部署(DR模式)
服务器·负载均衡·lvs