NAT负载均衡的原理

客户端访问LVS时,LVS首先重写请求报文的目标地址,然后根据预设的调度算法,将请求分派给后端真实服务器,真实服务器接收到请求处理后,发出的响应报文也需要通过LVS返回,所以返回时同样需要修改报文的源地址,然后返回给客户,完成整个负载调度过程。
NAT模式使用SNAT(目标地址转换)和DNAT(源地址转换)技术完成报文的转发。每次执行NAT都需要重写数据包,所以每次数据收发都会有一定时间的延迟;另外大部分应用80%的数据是从服务器流向客户端,所以响应报文也通过LVS返回,会对LVS会形成很大压力,使LVS成为系统的性能瓶颈。
NAT负载均衡集群的搭建
测试环境准备
1、两台Nginx后端服务器,一台LVS负载均衡服务器。配置如下:
- LVS:LVS服务器,DIP为192.168.238.51,VIP为192.168.1.10。
- Nginx1:Nginx服务器,RIP为192.168.238.101。
- Nginx2:Nginx服务器,RIP为192.168.238.102。
2、查看LVS的IP地址。
2.1、查看LVS的DIP(内部通信IP)。

2.1、查看LVS的VIP(外部通信IP)。

3、修改两台Nginx服务器上的首页。
3.1、修改Nginx1首页并启动Nginx。

3.2、修改Nginx2首页并启动Nginx。

负载均衡配置
1、所有服务器关闭并禁用SELINUX模块。

2、所有服务器关闭并禁用防火墙。

3、配置LVS负载均衡服务器。
3.1、修改内核参数,启用IP转发功能。

3.2、执行sysctl命令,使IP转发功能立即生效。

3.3、添加一个虚拟服务器并指定调度算法为轮询。

3.4、向虚拟服务器中添加两个真实的服务器。

3.5、查看已有规则。

3.6、保存已有规则,保存的规则可通过启动ipvsadm服务加载。

3.7、将LVS管理服务设置为开机启动,开机自动加载保存的规则。

4、配置后端Nginx服务器。
4.1、查看两台Nginx服务器的默认网关。

4.2、删除Nginx服务器的默认网关。

4.3、设置Nginx的默认网关为LVS的DIP。

4.4、若想永久修改服务器网关,可直接修改网卡配置文件。

负载均衡集群的测试
1、通过客户端访问LVS服务器的VIP,可见请求已被依次转发至后端两台Nginx服务器。
