LinuxLVS集群服务器实施详解.doc

上传人:自*** 文档编号:126265126 上传时间:2020-03-23 格式:DOC 页数:11 大小:50KB
返回 下载 相关 举报
LinuxLVS集群服务器实施详解.doc_第1页
第1页 / 共11页
LinuxLVS集群服务器实施详解.doc_第2页
第2页 / 共11页
LinuxLVS集群服务器实施详解.doc_第3页
第3页 / 共11页
LinuxLVS集群服务器实施详解.doc_第4页
第4页 / 共11页
LinuxLVS集群服务器实施详解.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《LinuxLVS集群服务器实施详解.doc》由会员分享,可在线阅读,更多相关《LinuxLVS集群服务器实施详解.doc(11页珍藏版)》请在金锄头文库上搜索。

1、Linux Virtual Server矛简称LVS。是由中国一个Linux程序员发起的开发项目计划,其实现目标是创建一个具有良好的扩展性、高可靠性、高性能和高可用性的,基于Linux系统的服务器集群。1.LVS系统结构与特点使用LVS架设的服务器集群系统从体系结构上看是透明的,最终用户只感觉到一个虚拟服务器.物理服务器之间可以通过高速的LAN或分布在各地的WAN相连。最前端是负载均衡器,它负责将各种服务请求分发给后面的物理服务器,让整个集群表现得象一个服务于同一IP地址的虚拟服务器。LVS集群系统具有良好的可扩展性和高可用性。可扩展性是指,LVS集群建立后,可以很容易地根据实际的需要增加或减

2、少物理服务器。而高可用性是指当检测到服务器节点或服务进程出错、失效时,集群系统能够自动进行适当的重新调整系统。cente2.LVS是如何工作的Linux Virtual Server的主要是在负载均衡器上实现的,负载均衡器是一台加了LVS Patch的2.2.x版内核的Linux系统。LVS Patch可以通过重新编译内核的方法加入内核,也可以当作一个动态的模块插入现在的内核中。负载均衡器可以运行在以下三种模式下中的一种或几种:1)Virtual Server via NAT(VS-NAT):用地址翻译实现虚拟服务器;2)Virtual Server via IP Tunneling (VS-

3、TUN):用IP隧道技术实现虚拟服务器;3)Virtual Server via Direct Routing(VS-DR):用直接路由技术实现虚拟服务器。另外,还需要根据LVS应用对物理服务器进行恰当的配置。以下将分别讲述一下三种模式的工作原理和优缺点。2.1.Virtual server via NAT(VS-NAT)Virtual Server via NAT方法的最大优点是集群中的物理服务器可以使用任何支持TCP/IP操作系统,物理服务器可以分配Internet的保留私有地址,只有负载均衡器需要一个合法的IP地址。这种实现方法的最大的缺点是扩展性有限。当服务器节点(普通PC服务器)数据

4、增长到20个或更多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包都需要经过负载均衡器再生。假使TCP包的平均长度是536字节的话,平均包再生延迟时间大约为60us(在Pentium处理器上计算的,采用更快的处理器将使得这个延迟时间变短),负载均衡器的最大容许能力为8.93M/s,假定每台物理服务器的平台容许能力为400K/s来计算,负责均衡器能为22台物理服务器计算。Virtual Server via NAT能够满足许多服务器的服务性能需求。即使是是负载均衡器成为整个系统的瓶颈,如果是这样也有两种方法来解决它。一种是混合处理,另一种是采用 Virtual Server via

5、IP tunneling或Virtual Server via direct routing。如果采用混合处理的方法,将需要许多同属单一的RR DNS域。你采用Virtual Server via IP tunneling或Virtual Server via direct routing以获得更好的可扩展性。也可以嵌套使用负载均衡器,在最前端的是VS-Tunneling或VS-Drouting的负载均衡器,然后后面采用VS-NAT的负载均衡器。2.2.Virtual server via IP tunneling(VS-TUN)采用VS-NAT方式,请求与应答包都需要经过负载均衡器,那么当服

6、务器节点增长到20个或更多时,这个负载均衡器就可能成为新的瓶颈。我们发现,许多Internet服务(例如WEB服务器)的请求包很短小,而应答包通常很大。而使用VS-TUN方式的话,负载均衡器只负责将请求包分发给物理服务器,而物理服务器将应答包直接发给用户。所以,负载均衡器能处理很巨大的请求量,这种方式,一台负载均衡能为超过100台的物理服务器服务,负载均衡器不再是系统的瓶颈。使用VS-TUN方式,如果你的负载均衡器拥有100M的全双工网卡的话,就能使得整个Virtual Server能达到1G的吞吐量。IP tunneling(IP隧道)能够用于架构一个高性能的virtual server,非

7、常适合构建virtual proxy server,因为当代理服务器收到了请求,能够让最终用户直接与服务器联系。但是,这种方式需要所有的服务器支持IP Tunneling(IP Encapsulation)协议,我仅在Linux系统上实现了这个,如果你能让其它操作系统支持,还在探索之中。2.3.Virtual Server via Direct Routing(VS-DR)就象VS-TUN一下,在VS-DR方式下,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。这种方式能够大大提高 Virtual Server的可扩展性。与VS-TUN相比,VS-DR这种实现方式不需要隧道结构

8、,但它要求负载均衡器的网卡必须与物理网卡在一个物理段上。而且VS-DR模式,可以使用大多数操作系统做为物理服务器,其中包括:Linux 2.0.36、2.2.9、2.2.10、2.2.12;Solaris 2.5.1、2.6、2.7;FreeBSD 3.1、3.2、3.3;NT4.0无需打补丁;IRIX 6.5;HPUX11等3.安装配置LVSLVS的安装配置主要可以分成以下三个步骤:1) 下载LVS软件;2) 安装、配置负载均衡器;3) 安装、配置物理服务器;3.1. 安装前的准备1).下载LVS软件:大家可以到LVS的主页(linuxvirtualserver.orghttp:/www.l

9、inuxvirtualserver.org ),选择“Software”链接,选取最新版的补丁包(tar包)下载。这个包里包含了内核补丁和源程序。2).安装的指导思想如果你选用了VS-NAT模式的话,则可以使用所有支持TCP/IP协议的操作系统构建的机器作物理服务器,并且无须做任何修改。如果你选用了VS-TUN模式的话,则选择Linux作物理服务器的操作系统,并根据后面的介绍做相应的设置。如果你选用了VS-DR模式的话,则可以选择大多数操作系统(如上节所述)作物理服务器,并根据后面的介绍做相应的设置。3).各种操作系统作物理服务器的要点详解a)Linux 2.0.36这种操作系统无需做任何修改

10、,就可以运行在VS-NAT、VS-Tun、VS-DR三种模式下。b)Linux 2.2.x无需任何修改就可运行VS-NAT模式。而使用VS-DR和VS-Tun两种模式可能会引起ARP问题。这种情况就必须: 为2.2.x内核打补丁 Stephen WillIams的补丁包:你可以在http:/www.linuxvirtualserver.org/sdw_fullarpfix.patch 获取,它的原理十分简单:让物理服务器不响应对虚拟IP的ARP请求。 Julian Anastasov的补丁包:你可以在http:/www.linuxvirtualserver.org/arp_invisible-

11、2213-2.diff 处获取,然后用以下方法使其生效:echo 1 /proc/sys/net/ipv4/conf/interface_name/arp_invisible 新添一块网卡承载虚拟IP地址:你可以选择一块ISA网卡或廉价的PCI网卡来用于这个功能。你可以将这个接口的ARP功能关闭。 将物理服务器放置于与虚拟IP地址不同的网络上,并且确认客户端无法直接路由到物理服务器所在网段。这种方法需要在负载均衡器上有两块网卡象防火墙一样工作。 在客户端或路由器将虚拟IP地址与负载均衡器的物理MAC地址绑定。 使用IPCHINA重写每一个进入的包,将其从lo接口送入。c)其它操作系统如果是VS

12、-NAT的话,无需修改。如果是VS-DR的话,需要采取一些相应的配置方法设置物理服务器的IP地址,使其拥有LVS的虚拟IP地址。用其它操作系统的话不能使用VS-Tun方法。4).准备硬件环境构建服务器集群系统,至少需要3台机器,1台用于负载均衡器,2台用于物理服务器。少于这个数字的话就没有意义了。负载均衡器:运行在打了补丁的2.2.x核心Linux系统。物理服务器:VS-NAT:任何机器、任何操作系统,运行Internet网络服务,如 HTTP、FTP、Telnet、SMTP、NNTP、DNS等。VS-TUN:任何机器、支持IP隧道的操作系统(迄今为止仅有Linux)VS-DR:任何机器、大多

13、操作系统。3.2. 理解LVS的相关术语1).ipvsadmipvsadm是LVS的一个用户界面。在负载均衡器上编译、安装ipvsadm:ipvsadm sets2).调度算法LVS的负载均衡器有以下几种调度规则:Round-robin,简称rr,weighted Round-robin,简称wrr,每个新的连接轮流指派到每个物理服务器。Least-connected,简称lc,weighted Least-connected,简称wlc,每个新的连接被分配到负担最小的服务器。Persistent client connection,简称pcc,(持续的客户端连接,内核2.2.10版以后才支持

14、)。所有来自同一个IP的客户端将一直连接到同一个物理服务器。超时时间被设置为360秒。Pcc是为https和cookie服务设置的。在这处调度规则下,第一次连接后,所有以后来自相同客户端的连接(包括来自其它端口)将会发送到相同的物理服务器。但这也会带来一个问题,大约有25的Internet可能具有相同的IP地址(AOL的客户是通过位于美国弗吉尼亚洲的一台服务器连入Internet的),这种情况下只要有一个AOL的客户连接到一个物理服务器上,那么所有来自AOL的客户连接将都被连到这一台物理服务器上。这将多么可怕呀!3).Persistent port connection调度算法在内核2.2.12版以后,pcc功能已从一个调度算法(你可以选择不同的调度算法:rr、wrr、lc、wlc、pcc)演变成为了一个开关选项(你可以让rr、 wrr、lc、wlc具备pcc的属性)。在设置时,如果你没有选择调度算法时,ipvsadm将默认为wlc算法。在Persistent port connection(ppc)算法下,连接的指派是基于端口的,例如,来自相同终端的80端口与443端口的请求,将被分配到不同的物理服务器上。不幸的是,如果你

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号