初识LVS(三)——DR工作模式实际环境中的应用

  • 时间:
  • 浏览:1
  • 来源:大发彩神8下载最新版—大发快三官网大发彩神

LVS的NAT模型所有的请求和响应报文会经过director,此时director就成为了性能瓶颈,而为了处理或多或少什么的什么的问题LVS也默认采用的是DR模型(下图),请求报文(深紫色 )向director发出请求,响应报文(红色)由RS服务器直接返还给用户不经由director,通常RS的网关都不 指向IDC机房的出口路由,原本性能比通过director要好统统。VIP为公网IP地址,RIP和DIP都要连接在同一物理交换设备上,而且我中间没法 隔路由器,即使都不 同一网段也不会 ,大多数情况汇报RIP和DIP都处在内网统统习惯上将它们放进去同一网段。

]# ip addr add 172.16.10.80/32 dev lo

4.适用客户端访问172.16.10.80测试效果,至此操作完正完成

为便于实验,将上图冗杂下面的底部形态,目的是演示VIP和DIP在不同的网段。本实验在workstation上进行模拟,所有设备连载VMnet1虚拟交换机上,创建5台虚拟机,操作系统版本为CentOS6.5

注:经测试VIP地址也可绑定到lo接口,都要是32位掩码

1.在路由器上添加20网段地址,并开启核心转发功能,或多或少设备的网关都指向路由器

在绑定VIP地址时注意,在使用ip或ifconfig绑定地址时一定要将地址设置为32位掩码,即172.16.10.80/32,而且网站无法正常访问。以realserver为例,在本地接口绑定32位掩码的VIP地址,或在lo接口绑定任意掩码长度的VIP地址,路由条目保持不变

将director上本地接口VIP地址掩码长度设置为32位,即172.16.10.80/32,客户端172.16.10.10/24使用ping命令ping该地址,发送总要将目标地址(172.16.10.80)与当时人的掩码(255.255.255.0)做与运算,得出目标地址与当时人(172.16.10.10)在同一网段,而返回时realserver同样会使用目标地址(172.16.10.10)与当时人的掩码(255.255.255.255)做与运算,得出目标地址与当时人(172.16.10.80)都没法同一网段从而走默认路由。下图时路由器上的抓包截图

从红框3、4都看数据流向在进入路由器后由172.16.10.40>172.16.10.80,对照路由器的arp地址表知道172.16.10.80与172.16.20.80认为是同有有俩个多多mac地址,这也印证了DR模式在工作时director会将mac地址改为选用出来realserver的mac地址再返回给路由器的机制,此处选用出来的realserver是172.16.20.80,统统172.16.10.80与172.16.20.80是同有有俩个多多mac地址,至于在ping操作时为何会有或多或少步意味着尚不清楚

]# yum install ipvsadm.i686 -y

2.给director的本地接口绑定VIP地址,安装ipvsadm包并设置规则

]# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore

操作步骤

第一次测试时将director和realserver上VIP地址掩码写成24位,即172.16.10.80/24,发现realserver的web页面无法正常打开,在realserver上抓包发现,mac地址在传输过程中处在了改变

]# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce

]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

实验介绍

对照mac表印证了DR模式下director时通过修改mac地址完成请求的调度,说明请求已送到realserver,但此时realserver未做出响应

]# ipvsadm -a -t 172.16.10.80:80 -r 172.16.20.80 -g

最后通过路由器将结果返回给客户端(红框5),至此开始。

对照下图客户端的arp地址表得知:客户端发起ping命令后,很久判断目标地址与当时人在同一网段,统统直接会找到目标地址(红框1);目标地址再返回时判断目标地址于当时人都没法同一网段统统走默认路由(红框2)

很久本地接口绑定非32位掩码的VIP地址,以24位掩码为例,会增加第一条路由条目

]# ip addr add 172.16.20.40/24 dev eth0

注:经测试VIP地址也可绑定到本地接口,都要是32位掩码

产生的疑惑

将realserver上的VIP地址掩码改为32位恢复正常,都要注意的是:经测试realserver上VIP地址掩码无论在哪种接口都要为32位,director上本地接口VIP地址掩码是24位还是32位无所谓,lo接口VIP地址掩码都要为32位

]# ipvsadm -A -t 172.16.10.80:80 -s rr

]# ip addr add 172.16.10.80/32 dev eth0

本文转自 qiao645 51CTO博客,原文链接:http://blog.51cto.com/arkling/1961544

]# sysctl -w net.ipv4.ip_forward=1

]# ipvsadm -a -t 172.16.10.80:80 -r 172.16.20.80 -g

补充说明

]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

背景介绍

3.修改realserver内核参数,开启arp抑制,并在lo接口绑定VIP地址。为演示效果给realserver安装httpd服务,设置不同的主页(步骤略)