LVS-DR模型详解及演示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVS-DR模型详解及演示相关的知识,希望对你有一定的参考价值。

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

  


  技术分享


如图所示,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地址:


技术分享 

二 配置RS1和RS2arp_ignore和arp_announce参数

RS1

技术分享

RS2

技术分享

三 配置RS1和RS2 ip地址:

  RS1

技术分享RS2

技术分享

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

技术分享


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

RS1技术分享

RS2

技术分享


六 在director上定义web集群服务

技术分享

技术分享

技术分享

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

技术分享

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

技术分享

八 在windows上面输入VIP地址测试技术分享技术分享

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



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

本文出自 “丁小水” 博客,请务必保留此出处http://11264923.blog.51cto.com/11254923/1749237

以上是关于LVS-DR模型详解及演示的主要内容,如果未能解决你的问题,请参考以下文章

负载均衡之LVS-NAT LVS-DR模型详解

LVS-DR模型安装

lvs-dr模型负载均衡

LVS-DR模型配置

基于lvs-dr模型的discuz负载均衡实现

LVS-DR模型实现调度