负载均衡方案-LVS模块配置过程和测试的注意事项

上一篇 / 下一篇  2011-12-15 13:45:29 / 个人分类:其他

各个发行版本的负载均衡方案都是基于linuxvirtualserver.org开发的LVS,这部分代码分成两部分,kernel中叫做ip_vs,客户端程序是ipvsadm。
!h.^C+^ cH~I n a(~051Testing软件测试网 ?#q4ets
从方案角度看这是不够的,至少我们要忽悠客户上LVS双机热备。51Testing软件测试网 R/x5N^.SW5X.p#j_
51Testing软件测试网8K}0^m$R1@!~G6BU6I-{
所以问题就来了,各个发行版作LVS双机的方法也不一样。红旗是采用heartbeat的方法来作LVS热备的;红帽采用pulse作为热备的方法。目前国内的
文档对这两种方法都是有介绍,但是他们之间不能相互借鉴,这点在看文档的时候一定要注意。
jvnT)IZ0
DI![-BR1g*l3}3R@N0以红帽为例,先介绍各个模块的功能。
TB*U cR1`051Testing软件测试网v` i e0ulw
1, piranha ,这实际上是一个web界面,他的主要作用是生成lvs.cf文件。如果你有lvs.cf,那么是不需要这个服务的。
4b0zA|GhN051Testing软件测试网/oS[&t!|\
2, lvs.cf 文件实际上是pulse的配置文件,而不是ipvsadm的配置。
5[9X-bo9G6\&M6O GQ T051Testing软件测试网x`6f MS-y Ku/@%CJ
3,如果想使用lvs,必须要启动pulse服务。他会读取lvs.cf文件,然后根据LVS两个节点的信息确认是否要启动本地的lvs,启动过程中会根据lvs.cf的规格调用ipvsadm。生成ip_vs的规则。51Testing软件测试网sT$];N:Iv Y
51Testing软件测试网O:R lPw
4,通常pulse还会启动一个叫做nanny的一个服务,这个东东的作用是根据监控脚本来判断realserver的状态。比如检查realserver的服务是否生效,如果检查失败就会把realserver从队列中删除。51Testing软件测试网UTj^#C'@+{#y r }
51Testing软件测试网N$FW,b p)\-o
5,实际上工作的模块是ip_vs,这是一个kernel 模块,他会在/proc/net/产生一个叫做ip_vs的目录,里面有各种信息,有兴趣可以看看。LVS压力非常大的时候需要对ip_vs进行优化。就是选择新的参数重新编译。51Testing软件测试网Q-r/W"x%f]TrZ5o$J
51Testing软件测试网9u4S(sB _ H?L hw
realserver要注意的地方:
-Ot.Uc#cscz*mDA0
NuCT Z_01,通常NAT是比较好做的,文档也比较多。51Testing软件测试网O*rn r*p

9v1n:j"az(b)K[02,DR模式,DR是一种创造性的方法,她通过伪造包的目标MAC的方法,把包转发给带有VIP的一个realserver,这种方法带来的问题是LVS和所有的RS都配置有VIP。这在正常的网络中是不可思议的。所以要通过控制ARP来确保网络正常。这也是问题最多的地方。
7\2S6|]jI0不知道在ipv6的时代这种方法是否还可行。51Testing软件测试网F,[0O Ia
51Testing软件测试网5Br%l4ZL'k
3, Tunnel的方式,这种方式用的不多。但是在个别情况下还是很有用处,和DR有一点类似,需要对tunnel有一定的理解,否则配置很头疼。一句话来讲,就是通过ip隧道把请求发送到realserver上。你要作的是配置ip隧道。51Testing软件测试网-Kf!W!w/Btb

3Y XOv+YM{I*|0测试的注意事项:
%{N.v~i(Dw0
b;r;t)wD`A1c0LVS的功能实现很容易,但是要把它在实际环境中跑起来,还是有点困难,因为涉及的知识面比较多。51Testing软件测试网+NX%JvjqI
1,建议有条件的哥们一定要模拟真实条件进行测试,因为你看到的测试结果未必是真的。
Um] h0X h?Sboa02,交换机/路由器也会是导致LVS不能工作。51Testing软件测试网p0x!P*f+m!{J/P

TAG:

 

评分:0

我来说两句

Open Toolbar