LVS-DR模型详解及演示

    上次我们演示的是LVS-NAT模型,说到在LVS-NAT中的director在里面充当着连接客户端与realserver的作用,所有的请求报文和回复报文都将通过director,所以当后端realserver逐渐增多时候,LVS-NAT的性能将不甚理想,而LVS-DR模型却解决了这个问题。

  


  LVS-DR模型详解及演示_第1张图片


如图所示,director,realserver1和realserver2一同连接在一个交换机上面,当用户请求报文进来时,交换机送往director,然后director通过调度算法转发至其中一台realserver,最后realserver直接送往外界,由上图可以看出,director只转发用户的请求,回复报文不在经过director,所以director的工作压力就减少很多。



操作环境 :  windows 7  

             VMware Workstation 9  redhat6.2 




具体IP分配:


director  


eth0: DIP  169.254.179.1

eth0:0 VIP  169.254.179.5


realserver1


eth0: RIP1  169.254.179.3

lo:0  VIP   169.254.179.5


realserver2 

eth0   RIP2  169.254.179.2

lo:0  VIP   169.254.179.5


通过上面的ip分配可能有人发现了,不管是director还是realserver都配置了VIP地址,这是为什么呢,好,下面让我们来分析分析。


当用户报文传达到交换机上时候,此时的报文首部原地址是CIP,目标地址是VIP,那么问题来了,director和realserver都有VIP,这样一来报文送给谁呢?


    linux有这么一组内核参数,arp_ignore和arp_announce,arp_ingore表示定义接受arp请求时候的响应级别,arp_announce表示定义将自己的地址向外通告时候的通告级别的,

arp_ingore

  0:只要本地配置有相应地址,就给予响应。

  1:仅在请求的目标地址配置请求到达的接口上的时候,才给予响应;

arp_announce

  0:将本地任何接口上的任何地址向外通告;

  1:试图仅向目标网络通告与其网络匹配的地址;

  2:仅向与本地接口上地址匹配的网络进行通告;


   所以我需要在RS1和RS2上配置好这两个参数,这样来自交换机的报文就会送往director了,当报文到达director上后,director发现到达的这个请求是定义好的集群服务,将会选择一个realserver,然后报文首部信息不变,原地址依然是CIP,目标地址依然是VIP,然后再封装一个mac首部,原mac是director,目标mac是realserver,将信息送达realserver。

   

   当此报文到达realserver上后,realserver发现一切都没问题,然后回复。那么问题又来了,从上面我们发现配置在realserver上的VIP在lo接口上,然是报文的进来和出去都是通过eth0这个接口的,在linux上默认数据报文从那个接口出去,原IP地址尽可能使用那个接口的地址,但是realserver的eth0的IP为RIP,但是客户端可没有请求RIP!所以,我们还得添加一条独特的路由条目:route add -host VIP

 dev lo:0  这条信息表示到达某个主机的路由,地址如果是VIP的话,要通过lo:0进来和出去,并且将lo:0上的地址作为原地址。所以realserver的回复报文,目标ip为CIP,原IP为VIP,没有问题。


好的,下面让我来配置一下吧:

  


  注意:为避免其他因素干扰,请关闭每台机器上的iptables并将SElinux设置为0.



一 配置directorIP地址:


LVS-DR模型详解及演示_第2张图片 

二 配置RS1和RS2arp_ignore和arp_announce参数

RS1

LVS-DR模型详解及演示_第3张图片

RS2

LVS-DR模型详解及演示_第4张图片

三 配置RS1和RS2 ip地址:

  RS1

RS2

LVS-DR模型详解及演示_第5张图片

四 在RS1和RS2都添加如下路由条目信息


五 启动RS1和RS2的httpd服务,并且区别网站首页信息

RS1LVS-DR模型详解及演示_第6张图片

RS2


六 在director上定义web集群服务

wKiom1bf8GqjTc98AAANN1WRFj8205.png

wKioL1bf8O7zLF0UAAAKM_bPU6M735.png

-g 参数表示使用LVS的DR模型

LVS-DR模型详解及演示_第7张图片

七 在director上先测试访问RS1和RS2

LVS-DR模型详解及演示_第8张图片

八 在windows上面输入VIP地址测试

通过刷新网页可以看到RS1和RS2主页轮回出现,LVS-DR模型实现的负载均衡简单实现。



总结: LVS-DR模型是现实中应用的较多的模型,成功释放了director的压力,但这次做的只是个简单LVS-DR模型,VIP,DIP,RIP地址都在同一网段,先掌握了再去解决复杂的。

你可能感兴趣的:(LVS,DR)