快速业务通道

LVS-NAT和LVS-DR模式的实现详解

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-27

linux下LVS的实现

在2.4.23之前的linux内核想要使用LVS需要重新编译内核打补丁,之后的LVS直接做进了内核 使用grep -i -C 5 ipvs /boot/config-`uname -r`可以查看 ipvsadm工作在用户空间/ipvs工作在内核空间,用户使用ipvsadm进行设置并且传递到内核空间中的ipvs (ipvsadm工具在光盘中的cluster中) ipvsadm功能 定义一个集群服务,定义REALSERVER,集群服务的查看 -t 基于tcp的集群服务 -u 基于udp的集群服务 -f 基于防火墙标记的集群服务 -A 添加一个服务 -E 修改一个服务 -s 调度算法 默认WLC -g LVS-DR直接路由模型 -i LVS-TUN隧道模型 -m LVS-NAT模型 -C 清空规则 -R 从一个文件中恢复规则 -S 保存对着到文件中 -L/l -n 查看 定义集群服务 添加或修改集群服务:ipvsadm -A|E -t|u|f VIP:port -s 调度算法 删除一个集群服务: ipvsadm -D -t|u|f VIP:port realserver 添加或者修改REALSERVER:ipvsadm -a|e -t|u|f VIP:port -r REALSERVER[:port] -g|-i|-m [-w 权重] 删除一个REALSERVER: ipvsadm -d -t|u|f VIP:port -r REALSERVER[:port] ##########################################################################
配置LVS-NAT


这里以HTTP服务为例,前端服务器配置VIP向外响应来自客户的请求,后端两台REALSERVER运行WEB服务,在后端的两台web上面配置相同的网页,设置网关都指向前端服务器的DIP
在director上面的配置
echo 1 >proc/sys/net/ipv4/ip_forward 打开路由转发
ipvsadm -A -t 192.168.0.1:80 -s rr 定义一个集群服务,这个VIP在实际应用中应该是外网地址
ipvsadm -a -t 192.168.0.1:80 -r 192.168.1.2 -m
ipvsadm -a -t 192.168.0.1:80 -r 192.168.1.3 -m 添加两台REALSERVER
查看ipvsadm -L -n
ipvsadm -E -t 192.168.0.1:80 -s wlc 设置算法为wlc 拥有帝国一切,皆有可能。欢迎访问phome.net
ipvsadm -e -t 192.168.0.1:80 -r 192.168.1.2 -m -w 4 设置权重为4,即1.2服务器的性能是1.3服务器的4倍
ab -c -n 10000 http://192.168.0.1/index.html 用ab命令做测试
watch -n 1 ''ipvsadm -L -n'' 每秒刷新一次来查看状态变化,可以看到1.2服务器的响应数基本上为1.3服务器的4倍

##########################################################################
配置LVS-DR


在如上图的VS/DR或VS/TUN应用的一种模型中(所有机器都在同一个物理网络),所有机器(包括Director和RealServer)都使用了一个额外的IP地址,即VIP.

当一个客户端向VIP发出一个连接请求时,此请求要连接至Director的VIP,而不能是RealServer的.,LVS的主要目标就是要Director负责调度这些连接请求至RealServer的.因此,在Client发出至VIP的连接请求后,只能由Director将其MAC地址响应给客户端(也可能是直接与Director连接的路由设备),而Director则会相应的更新其ipvsadm table以追踪此连接,而后将其转发至后端的RealServer之一.

如果Client在请求建立至VIP的连接时由某RealServer响应了其请求,则Client会在其MAC table中建立起一个VIP至RealServer的对就关系,并以至进行后面的通信.此时,在Client看来只有一个RealServer而无法意识到其它服务器的存在.

为了解决此问题,可以通过在路由器上设置其转发规则来实现(静态的MAC-IP绑定).当然,如果没有权限访问路由器并做出相应的设置,则只能通过传统的本地方式来解决此问题了.
这些方法包括:
1、禁止RealServer响应对VIP的ARP请求;
2、在RealServer上隐藏VIP,以它们无法获知网络上的ARP请求;
3、基于“透明代理(Transparent Proxy)”或者“fwmark (firewall mark)”; 拥有帝国一切,皆有可能。欢迎访问phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号