Linux LVS 集群 中的 IP负载均衡技术(2)
6.三种方法的优缺点比较
三种IP负载均衡技术的优缺点归纳在下表中:
注: 以上三种方法所能支持最大服务器数目的估计是假设调度器使用100M网卡,调度器的硬件配置与后端服务器的硬件配置相同,而且是对一般Web服务。使用更 高的硬件配置(如千兆网卡和更快的处理器)作为调度器,调度器所能调度的服务器数量会相应增加。当应用不同时,服务器的数目也会相应地改变。所以,以上数 据估计主要是为三种方法的伸缩性进行量化比较。
6.1. Virtual Server via NAT
VS/NAT的优点是服务器可以运行任何支持TCP/IP的操作系统,它只需要一个IP地址配置在调度器上,服务器组可以用私有的IP地址。缺点是它的伸 缩能力有限,当服务器结点数目升到20时,调度器本身有可能成为系统的新瓶颈,因为在VS/NAT中请求和响应报文都需要通过负载调度器。 我们在Pentium166 处理器的主机上测得重写报文的平均延时为60us,性能更高的处理器上延时会短一些。假设TCP报文的平均长度为536Bytes,则调度器的最大吞吐量 为8.93 MBytes/s.我们再假设每台服务器的吞吐量为800KBytes/s,这样一个调度器可以带动10台服务器。(注:这是很早以前测得的数据)
基于VS/NAT的的集群系统可以适合许多服务器的性能要求。如果负载调度器成为系统新的瓶颈,可以有三种方法解决这个问题:混合方法、VS/TUN和 VS/DR。在DNS混合集群系统中,有若干个VS/NAT负载调度器,每个负载调度器带自己的服务器集群,同时这些负载调度器又通过RR-DNS组成简 单的域名。但VS/TUN和VS/DR是提高系统吞吐量的更好方法。
对于那些将IP地址或者端口号在报文数据中传送的网络服务,需要编写相应的应用模块来转换报文数据中的IP地址或者端口号。这会带来实现的工作量,同时应 用模块检查报文的开销会降低系统的吞吐率。
6.2. Virtual Server via IP Tunneling
在VS/TUN的集群系统中,负载调度器只将请求调度到不同的后端服务器,后端服务器将应答的数据直接返回给用户。这样,负载调度器就可以处理大量的请 求,它甚至可以调度百台以上的服务器(同等规模的服务器),而它不会成为系统的瓶颈。即使负载调度器只有100Mbps的全双工网卡,整个系统的最大吞吐 量可超过1Gbps。所以,VS/TUN可以极大地增加负载调度器调度的服务器数量。VS/TUN调度器可以调度上百台服务器,而它本身不会成为系统的瓶 颈,可以用来构建高性能的超级服务器。
VS/TUN技术对服务器有要求,即所有的服务器必须支持“IP Tunneling”或者“IPEncapsulation”协议。目前,VS/TUN的后端服务器主要运行Linux操作系统,我们没对其他操作系统进 行测试。因为“IPTunneling”正成为各个操作系统的标准协议,所以VS/TUN应该会适用运行其他操作系统的后端服务器。
6.3. Virtual Server via Direct Routing
跟VS/TUN方法一样,VS/DR调度器只处理客户到服务器端的连接,响应数据可以直接从独立的网络路由返回给客户。这可以极大地提高LVS集群系统的 伸缩性。
跟VS/TUN相比,这种方法没有IP隧道的开销,但是要求负载调度器与实际服务器都有一块网卡连在同一物理网段上,服务器网络设备(或者设备别名)不作 ARP响应,或者能将报文重定向(Redirect)到本地的Socket端口上。
7.小结
本文主要讲述了LVS集群中的三种IP负载均衡技术。在分析网络地址转换方法(VS/NAT)的缺点和网络服务的非对称性的基础上,我们给出了通过IP隧 道实现虚拟服务器的方法VS/TUN,和通过直接路由实现虚拟服务器的方法VS/DR,极大地提高了系统的伸缩性。
参考文献
Eric Dean Katz, Michelle Butler, and Robert McGrath, "AScalable HTTP Server: The NCSA Prototype", Computer Networks and ISDNSystems, pp155-163, 1994. Thomas T. Kwan, Robert E.McGrath, and Daniel A. Reed, "NCSA's World Wide Web Server: Design andPerformance", IEEE Computer, pp68-74, November 1995. C.Yoshikawa, B. Chun, P. Eastham, A. Vahdat, T. Anderson, and D. Culler.Using Smart Clients to Build Scalable Services. In Proceedings of the1997 USENIX Technical Conference, January 1997. Zeus Technology, Inc. Zeus Load Balancer v1.1 User Guide. Edward Walker, "pWEB - A Parallel Web Server Harness", , April, 1997. RalfS.Engelschall. Load Balancing Your Web Site: Practical Approaches forDistributing HTTP Traffic. Web Techniques Magazine, Volume 3, Issue 5,, May 1998. Daniel Andresen,Tao Yang, Oscar H. Ibarra. Towards a Scalable Distributed WWW Server onWorkstation Clusters. In Proceedings of 10th IEEE InternationalSymposium Of Parallel Processing (IPPS'96), pp.850-856, , April 1996. Eric Anderson, Dave Patterson, and Eric Brewer, "The Magicrouter: an Application of Fast Packet Interposing", , May, 1996. D.Dias, W. Kish, R. Mukherjee, and R. Tewari. A Scalable and HighlyAvailable Server. In Proceeding of COMPCON 1996, IEEE-CS Press, SantaClara, CA, USA, Febuary 1996, pp. 85-92. Guerney D.H.Hunt, German S. Goldszmidt, Richard P. King, and Rajat Mukherjee.Network Dispatcher: a connection router for scalable Internet services.In Proceedings of the 7th International WWW Conference, Brisbane,Australia, April 1998. Om P. Damani, P. Emerald Chung, Yennun Huang, "ONE-IP: Techniques for Hosting a Service on a Cluster of Machines", , August 1997. Microsoft Corporation. Microsoft Windows NT Load Balancing Service. .关 于作者章文嵩博士,开放源码及Linux内核的开发者,著名的Linux集群项目--LVS(Linux VirtualServer)的创始人和主要开发人员。他目前工作于国家并行与分布式处理重点实验室,主要从事集群技术、操作系统、对象存储与数据库的研 究。他一直在自由软件的开发上花费大量时间,并以此为乐。
顶(0)
踩(0)
下一篇:vim 编辑器 教程
- 最新评论