实例分析:LVS-NAT模型实现web服务器的负载均衡

1、规划图LVS-NAT模型实现web服务器的负载均衡实例分析

名词解释:

DS:Director Server

RS:Real Server

VS/NAT:Virtual Server via Network AddressTranslation;调度器通过将请求报文的目标地址(VIP)改写成选定的RealServer地址,同时将报文的目标端口也改写成指定的Real Server的相应端口,最终将报文请求发送到选定的Real Server 上。Real Server将报文数据返回给客户端时,需要经过负载均衡器将报文源地址和源端口改写成Director Server上的VIP地址和相应端口,然后通过DirectorServer将报文数据返回给客户端

VIP:外网, 192.168.0.2

DIP:内网,172.16.50.10

RS1:RIP 172.16.50.11

RS2:RIP 172.16.50.12

前端是一个directorserver,有两个网卡,一个是公网(面向互联网);一个是连接各RIP

网卡1是桥接,网卡2是hostonly

后端是realserver,尽可能使用私有地址,网关应指向DIP,将RS做成web服务器

2、设置各自的IP

DS主机上的eth0:192.168.0.10

          eth1:192.168.10.1

RS1:IP 192.168.10.2 网关:192.168.10.1

RS2:IP 192.168.10.3  网关:192.168.10.1

下面在DS主机上配置所要做的工作

3、配置好yum库,安装好开发环境,这些很简单就不详细演示啦,需要注意的是必须要有Cluster集群LVS-NAT模型实现web服务器的负载均衡实例分析

其中ipvs是系统自带的有

LVS-NAT模型实现web服务器的负载均衡实例分析

4、安装命令行工具

# yum install ipvsadm -y

注意:各节点之间的时间偏差不应该超出1秒钟

NTP:Network Time Protocol网络时间协议

LVS-NAT模型实现web服务器的负载均衡实例分析

# service ntpd strat

5、开启数据转发功能

# vim /proc/sys/net/ipv4/ip_forward

ipv4_forward=1

在RS1主机上配置所需要的工作

1、配置好yum库,安装好开发环境

2、安装所需要的包

# yum install httpd telnet-server

3、同步时间

# ntpdate 172.16.0.1

4、提供页面

# echo “RS1.192.168.10.2" >/var/www/html/index.html

5、启动服务

# service httpd start

6、在本主机*问自己的web服务器和RS2的web服务器

LVS-NAT模型实现web服务器的负载均衡实例分析

在RS2:主机上配置所需要的工作

1、配置好yum库,安装好开发环境

2、安装所需要的包

# yum install httpd telnet-server

3、同步时间

# ntpdate 172.16.0.1

4、提供页面

# echo “RS1.192.168.10.2" >/var/www/html/index.html

5、启动服务

# service httpd start

6、在本主机*问自己的web服务器和RS2的web服务器

LVS-NAT模型实现web服务器的负载均衡实例分析

在DS主机上分别访问RS1、RS2服务

LVS-NAT模型实现web服务器的负载均衡实例分析

开始配置规则(在DS上配置的)

# ipvsadm -A -t 192.168.0.10:80 -s rr

# ipvsadm -a -t 172.16.50.2:80 -r192.168.10.2 -m

# ipvsadm -a -t 172.16.50.2:80 -r192.168.10.3 -m

# # ipvsadm -L -n -c

验证:

在物理主机*问VIP,每刷新一次,页面就会换一次,也就是说RS1与RS2的页面是轮流出现的

LVS-NAT模型实现web服务器的负载均衡实例分析

刷新页面

LVS-NAT模型实现web服务器的负载均衡实例分析

在DS主机上查看一下

LVS-NAT模型实现web服务器的负载均衡实例分析还可以将调度算法改为加权的wrr

# ipvsadm -E -t 192.168.0.10:80 -s wrr

# ipvsadm -e -t 192.168.0.10:80 -r192.168.10.2 -m -w 3

# ipvsadm -e -t 192.168.0.10:80 -r192.168.10.3 -m -w 1

# # ipvsadm -L -n -c

验证:

找一个主机测试一下:压力测试

# ab -n 1000 -c 100http://192.168.0.10/index.html

LVS-NAT模型实现web服务器的负载均衡实例分析

这就是LVS-NAT的实现过程,很简单