阿使得肌肤· 发表于 2019-1-5 10:26:23

LVS的DR模型的配置及扩展应用(一)

一、LVS的DR模型的配置
在上一篇博客中介绍了LVS 的三个模型分别是:NAT、DR、TUN。在这三个模型中DR模型相对于其余的两个有很多的好处。这由DR的模型可以看出来。如图所示DR的模型:

http://blog.运维网.com/zhou123/../attachment/201204/222703161.jpg



用户的请求经过Director服务器而返回时,由RealServer服务器直接返回给用户。这样大减轻了Director的工作压力。
    好了。下面来开始配置一个DR模型的应用。

    首先,要用到三台虚拟机,这三台虚拟机分别做,Director服务器和RealServer1和RealServer2。可以在真实机上作测试。如图所示的规化。

http://blog.运维网.com/zhou123/../attachment/201204/224210772.jpg



RealServer1和RealServer2都是web服务器。


IP的划分:
1、Director服务器上

Dip: 172.16.35.10/16 这个地址是在eth0上
Vip:172.16.35.2/16这个地址是在eth0:1上

2、RealServer1服务器上

Dip: 172.16.35.5/16 这个地址是在eth0上

Vip: 配置在lo上
3、RealServer2服务器上

Dip: 172.16.35.1/16 这个地址是在eth0上

Vip: 配置在lo上


下面来配置。

在Director服务器上
http://blog.运维网.com/zhou123/images/editer/InBlock.gif# ifconfig eth0 172.16.35.10/16
http://blog.运维网.com/zhou123/images/editer/InBlock.gif# ifconfig eth0:1 172.16.35.2 broadcast 172.16.35.2 netmask 255.255.255.255 up
http://blog.运维网.com/zhou123/images/editer/InBlock.gif# route add -host 172.16.35.2 dev eth0:1   
http://blog.运维网.com/zhou123/images/editer/InBlock.gif# sysctl -w net.ipv4.ip_forward=1 (开启路由转发功能)





在RealServer1服务器上配置


# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
http://blog.运维网.com/zhou123/images/editer/InBlock.gif# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
http://blog.运维网.com/zhou123/images/editer/InBlock.gif# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
http://blog.运维网.com/zhou123/images/editer/InBlock.gif# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
http://blog.运维网.com/zhou123/images/editer/InBlock.gif# ifconfig lo:0 172.16.35.2 broadcast 172.16.35.2 netmask 255.255.255.255 up
http://blog.运维网.com/zhou123/images/editer/InBlock.gif# route add -host 172.16.35.2 dev lo:0

说明:arp_ignore和arp_announce是两个内参数。



在RealServer2服务器上的配置



http://blog.运维网.com/zhou123/images/editer/InBlock.gif# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore   
http://blog.运维网.com/zhou123/images/editer/InBlock.gif# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce   
http://blog.运维网.com/zhou123/images/editer/InBlock.gif# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore   
http://blog.运维网.com/zhou123/images/editer/InBlock.gif# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce   
http://blog.运维网.com/zhou123/images/editer/InBlock.gif# ifconfig lo:0 172.16.35.2 broadcast 172.16.35.2 netmask 255.255.255.255 up   
http://blog.运维网.com/zhou123/images/editer/InBlock.gif# route add -host 172.16.35.2 dev lo:0



下面在Director服务器上写ipvsadm规则
# ipvsadm -L -n (查看是否有规则)
# ipvsadm -C(清空规则)
http://blog.运维网.com/zhou123/images/editer/InBlock.gif   
# ipvsadm -A -t 172.16.35.2:80 -s rr
# ipvsadm -a -t 172.16.35.2:80 -r 172.16.35.1 -g   
# ipvsadm -a -t 172.16.35.2:80 -r 172.16.35.2 -g



下面在浏览器中输入:http://172.16.35.2来验证一下。如图所示:

http://blog.运维网.com/zhou123/../attachment/201204/230345250.jpg





这是RealServer1服务器所提供的网页。



经过刷新后就可以在两个服务器之间切换。如下图所示:



http://blog.运维网.com/zhou123/../attachment/201204/230436748.jpg



如果两个服务器所提供的网页相同就可以实现负载平衡了。

下面来用http自带的压力测试来测试一下。

再打开一个虚拟机命令:

# ab -c 10 -n 10000 http://172.16.35.2/index.html

Director服务器上来查看一下。

如图所示:

http://blog.运维网.com/zhou123/../attachment/201204/231044934.jpg



这里使用的高度方法是轮询的方式,所以两个服务器所连接数量大致相同。也可以使用其他的调度方式,用上述的方式来验证。























页: [1]
查看完整版本: LVS的DR模型的配置及扩展应用(一)