Linux 负载均衡
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-10
在调度器的实现技术中,IP负载均衡技术是效率最高的.在已有的IP负载均衡技术中有通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为VS/NAT技术(Virtual Server via Network Address Translation),大多数商品化的IP负载均衡调度器产品都是使用此方法,如Cisco的LocalDirector、F5的Big/IP和Alteon的ACEDirector.在分析VS/NAT的缺点和网络服务的非对称性的基础上,我们提出通过IP隧道实现虚拟服务器的方法VS/TUN(Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性.,IPVS软件实现了这三种IP负载均衡技术,它们的大致原理如下
1) Virtual Server via Network Address Translation(VS/NAT) 通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程. 2)Virtual Server via IP Tunneling(VS/TUN) 采用NAT技术时,请求和响应报文都经过调度器地址重写,当客户请求越来越多时,调度器的处理能力将成为瓶颈.为了解决这个问题,调度器把请求报文通过IP隧道转发至真实服务器,而真实服务器将响应直接返回给客户,调度器只处理请求报文.一般网络服务应答比请求报文大许多,采用VS/TUN技术后,集群系统的最大吞吐量可以提高10倍. 3)Virtual Server via Direct Routing(VS/DR) VS/DR通过改写请求报文的MAC地址,将请求发送到真实服务器,而真实服务器将响应直接返回给客户.同VS/TUN技术一样,VS/DR技术可极大地提高集群系统的伸缩性.这种方法没有IP隧道的开销,对集群中的真实服务器也没有支持IP隧道协议的要求,但是要求调度器与真实服务器都有一块网卡连在同一物理网段上. 针对不同的网络服务需求和服务器配置,IPVS调度器实现了如下八种负载调度算法,这里我只介绍前四种,后面的基本不常用: 1)轮叫(Round Robin) 调度器通过"轮叫"调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载. 2)加权轮叫(Weighted Round Robin) 调度器通过"加权轮叫"调度算法根据真实服务器的不同处理能力来调度访问请求.这样可以保证处理能力强的服务器处理更多的访问流量.调度器可以自动问询真实服务器的负载情况,并动态地调整其权值. 3)最少链接(Least Connections) 调度器通过"最少连接"调度算法动态地将网络请求调度到已建立的链接数最少的服务器上.如果集群系统的真实服务器具有相近的系统性能,采用"最小连接"调度算法可以较好地均衡负载. 4)加权最少链接(Weighted Least Connections) 在集群系统中的服务器性能差异较大的情况下,调度器采用"加权最少链接"调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载.调度器可以自动问询真实服务器的负载情况,并动态地调整其权值. 我在这里做的实验采用的基于VS/NAT,轮叫机制,这样是我的两台服务器是完全一样的性能,采用轮叫的方法.如果在公司里,要根据不同的情况选择不同的部署方案,要看实际的需要和设备的实际情况来考虑. 同样我还是采用三台虚拟机,里面还是Linux AS5的版本,其中作为虚拟主机的机器要做双ip,一个内网,一个外网 我的拓扑图 1) 下载ipvsadm软件包,下载地址:[url]http://www.linuxvirtualserver.org/[/url] 我下载的是ipvsadm-1.24.tar.gz 2)正常的步骤应该是先编译内核,ipvsadm要求内核在2.4.24以后的版本,为了省事,我直接用的是AS5,它的内核是2.6.18(可以使用uname |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 推荐一个学习Linux/Unix的好地方下一篇: Linux网卡配置(一)网卡配置文件
关于Linux 负载均衡的所有评论