ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:249.88KB ,
资源ID:29677052      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29677052.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(负载均衡软件实现与硬件实现方案.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

负载均衡软件实现与硬件实现方案.docx

1、负载均衡软件实现与硬件实现方案该文档是word2003word2007兼容版软件、硬件负载均衡部署方案1、硬件负载均衡之F5部署方案对于所有的对外服务的服务器,均可以在BIG-IP上配置Virtual Server实现负载均衡,同时BIG-IP可持续检查服务器的健康状态,一旦发现故障服务器,则将其从负载均衡组中摘除。BIG-IP利用虚拟IP地址(VIP由IP地址和TCP/UDP应用的端口组成,它是一个地址)来为用户的一个或多个目标服务器(称为节点:目标服务器的IP地址和TCP/UDP应用的端口组成,它可以是internet的私网地址)提供服务。因此,它能够为大量的基于TCP/IP的网络应用提供

2、服务器负载均衡服务。根据服务类型不同分别定义服务器群组,可以根据不同服务端口将流量导向到相应的服务器。BIG-IP连续地对目标服务器进行L4到L7合理性检查,当用户通过VIP请求目标服务器服务时,BIG-IP根椐目标服务器之间性能和网络健康情况,选择性能最佳的服务器响应用户的请求。如果能够充分利用所有的服务器资源,将所有流量均衡的分配到各个服务器,我们就可以有效地避免“不平衡”现象的发生。利用UIE+iRules可以将TCP/UDP数据包打开,并搜索其中的特征数据,之后根据搜索到的特征数据作相应的规则处理。因此可以根据用户访问内容的不同将流量导向到相应的服务器,例如:根据用户访问请求的URL将

3、流量导向到相应的服务器。1.1网络拓扑结构网络拓扑结构如图所示:网络拓扑结构1.2反向代理部署方式下图为集群服务器的硬件负载均衡详细架构图,由一台F5虚拟机分别对多台服务器进行负载分配。如图,假设域名被解析到F5的外网/公网虚拟IP:61.1.1.3(vs_squid),该虚拟IP下有一个服务器池(pool_squid),该服务器池下包含两台真实的Squid服务器(192.168.1.11和192.168.1.12)。、如果Squid缓存未命中,则会请求F5的内网虚拟IP:192.168.1.3(vs_apache),该虚拟IP下有一个默认服务器池(pool_apache_default),该

4、服务器池下包含两台真实的Apache服务器(192.168.1.21和192.168.1.22),当该虚拟IP匹配iRules规则时,则会访问另外一个服务器池(pool_apache_irules),该服务器池下同样包含两台真实的Apache服务器(192.168.1.23和192.168.1.24)。、另外,所有真实服务器的默认网关指向F5的自身内网IP,即192.168.1.2。、所有的真实服务器通过SNAT IP地址61.1.1.4访问互联网。2软件负载均衡方案2.1负载均衡软件实现方式之一 - URL重定向方式有一种用软件实现负载均衡的方式,是基于URL重定向的.先看看什么是URL重定

5、向:简单的说,如果一个网站有正规的URL和别名URL,对别名URL进行重定向到正规URL,访问同一个网址,或者网站改换成了新的域名则把旧的域名重定向到新的域名,都叫URL重定向(很多网络协议都支持“重定向”功能,例如在HTTP协议中支持Location指令,接收到这个指令的浏览器将自动重定向到Location指明的另一个URL上。(http:/sysapp. 这种方式,对于简单的网站,如果网站是自己开发的,也在一定程度上可行.但是它存在着较多的问题:1、“例如一台服务器如何能保证它重定向过的服务器是比较空闲的,并且不会再次发送Location指令,Location指令和浏览器都没有这方面的支持

6、能力,这样很容易在浏览器上形成一种死循环。”2、在哪里放LOCATION,也是一个问题。很有可能用户会访问系统的很多个不同URL,这个时候做起来会非常麻烦。并且,对URL的访问,有的时候是 直接过来的,可以被重定向,有的时候是带着SESSION之类的,重定向就可能会出问题。并且,这种做法,将负载均衡这个系统级的问题放到了应用层,结果 可能是麻烦多多。3、这种方式一般只适用于HTTP方式,但是实际上有太多情况不仅仅是HTTP方式了,特别是用户如果在应用里面插一点流媒体之类的。4、重定向的方式,效率远低于IP隧道。5、这种方式,有的时候会伴以对服务器状态的检测,但往往也是在应用层面实现,从而实时性

7、大打折扣。实际上,这种方式是一种“对付”的解决方法,并不能真正用于企业级的负载均衡应用(这里企业级是指稍微复杂一点的应用系统)可以看一下专业的负载均衡软件是如何来实现的:http:/www. 对比一下可以发现,专业的负载均衡软件要更适用于正规应用,而重定向方式则比较适用于一些简单的网站应用。2.2负载均衡软件实现方式之二 - 基于DNS负载均衡集群网络拓扑图讲到负载均衡,几乎所有地方都必须要讲一下基于DNS的方式,因为这实在是最基本、最简单的方式了。当然,也几乎所有地方都说到这种方式的种种缺点,不过,既然很基本,就还是要说明一下。下面这段讲得很清楚:最早的负载均衡技术是通过DNS来实现的,在D

8、NS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。 DNS负载均衡是一种简单而有效的方法,但是它不能区分服务器的差异,也不能反映服务器的当前运行状态。当使用DNS负载均衡的时候,必须尽量保证不同的 客户计算机能均匀获得不同的地址。由于DNS数据具备刷新时间标志,一旦超过这个时间限制,其他DNS服务器就需要和这个服务器交互,以重新获得地址数 据,就有可能获得不同IP地址。因此为了使地址能随机分配,就应使刷新时间尽量短,不同地方的DNS服务器能更新对应的地址,达到随机获得地址,然而将过 期时间设置得过短,将使DNS流

9、量大增,而造成额外的网络问题。DNS负载均衡的另一个问题是,一旦某个服务器出现故障,即使及时修改了DNS设置,还是 要等待足够的时间(刷新时间)才能发挥作用,在此期间,保存了故障服务器地址的客户计算机将不能正常访问服务器。 尽管存在多种问题,但它还是一种非常有效的做法,包括Yahoo在内的很多大型网站都使用DNS。引自:负载均衡技术研究 原文:http:/www. 比较一下DNS方式与专业的负载均衡软件如PCL负载均衡软件,会发现DNS的问题在于,一是往往不能根据系统与服务的状态来判断负载,二是往往不能建立较复杂的负载均衡算法,而最主要的是DNS往往有缓存,简单分配负载问题不大,如果是应用集群

10、这个就是无法接受的。那么,为什么象Yahoo在内的大型网站都使用DNS方式呢?因为对于门户网站来讲,应用形态单一且简单,重要的是服务器数量与分布,而如果出现短时 间对于少量用户的服务中断问题并不大(比如有100台服务器,有一台不行了,即使DNS有缓存,也关系不大,用户重新刷一下,就很可能又分配到其他机器上 了)。但是,对于应用系统而言,比如两三台服务器,跑着比较复杂的应用,DNS方式就完全不适合了,这个时候,就要用专业的负载均衡软件了。我们可以看一个实例,这样会对专业化负载均衡软件应该支持什么样的应用有更多的理解:36000人同时应用的负载均衡实例2.3负载均衡软件实现方式之三 - LVS L

11、VS是一个开源的软件,可以实现LINUX平台下的简单负载均衡. 后面所附文章,讲述了LVS实现负载均衡的方法.因为文章较长,所以在转载前,先总结一下LVS的优缺点:优点:1、开源,免费2、在网上能找到一些相关技术资源3、具有软件负载均衡的一些优点缺点:1、具有开源产品常有的缺点,最核心的就是没有可靠的支持服务,没有人对其结果负责2、功能比较简单,支持复杂应用的负载均衡能力较差,如算法较少等。3、开启隧道方式需重编译内核4、配置复杂5、只支持LINUX,如果应用还包括WINDOWS、SOLIRIS等就不行了因此,建议在简单的LINUX应用中使用LVS,复杂的应用,或者重要的应用,还是应该使用专业

12、的负载均衡软件,如富士通西门子公司的PCL负载均衡软件。下面转载一下如何使用LVS实现负载均衡:搭建集群负载均衡系统 (原文: . p/20060707/2519.html)负载均衡集群是在应用服务器高负载的情况下,由多台节点提供可伸缩的,高负载的服务器组以保证对外提供良好的服务响应;而LVS就是实现这一功能的技 术.实际上LVS是一种Linux操作系统上基于IP层的负载均衡调度技术,它在操作系统核心层上,将来自IP层的TCP/UDP请求均衡地转移到不同的 服务器,从而将一组服务器构成一个高性能、高可用的虚拟服务器。使用三台机器就可以用LVS实现最简单的集群,如图1所示。图1 LVS实现集群系

13、统结构简图 图1显示一台名为Director的机器是前端负载均衡器,运行LVS,目前只能在Linux下运行.可以针对web、ftp、cache、mms甚至 mysql等服务做load balance;后端两台机器称之为Real Server,是需要负载均衡的服务器,可以为各类系统,Linux、Solaris、Aix、BSD、Windows都可,甚至Director本身也 可以作为Real Server. 本文将通过实际操作,重点介绍如何在Redhat 9上用LVS构建一个负载均衡集群,关于负载均衡集群、LVS的详细内容,可参考如下信息:http:/www.linuxvirtualserver.

14、org/ . r/lvs/part1/index.shtml安装LVS RedHat在 9.0以后,就将ipvsadm这些套件去除,因此如果想使用LVS(Linux Virtual Server),就得自己重新编译核心(kernel)。 下载所需软件 下载ipvs补丁包 从RedHat 9开始ipvs不再被预先编译到了RedHat发行版的内核中,我们需要从http:/www.linuxvirtualserver.org/software/kernel-2.4下载新版的ipvs, 这里我们使用ipvs-1.0.9.tar.gz这个版本. 下载内核linux-2.4.20.tar.gz这里需要强调

15、的是由于所有的ipvs的补丁包都是为标准内核开发的,所以安装ipvs时不能使用RedHat光盘中的Kernel Source,而是需要去下载标准的内核。所以我们从ftp:/ftp.kernel.org/pub/linux/kernel/ 得到standard kernel linux-2.4.20.tar.gz下载ipvs管理工具ipvsadm 从http:/www.linuxvirtualserver.org/ 得到ipvs管理工具ipvsadm-1.21.tar.gz, ipvsadm是设置ipvs转发方式和调度算法的工具. 开始安装 安装内核源码 把linux-2.4.20.tar.gz

16、解压到/usr/src目录,生成了/usr/src/linux目录;如果生成的是/usr/src /linux-2.4.20目录,则要在/usr/src下建立一个连接 ln s linux-2.4.20 linux,因为在ipvs-1.0.9中的makefile文件中默认指定Kernel Source的路径为:KERNELSOURCE = /usr/src/linux把ipvs补丁Patch到内核源码中 把ipvs-1.0.9.tar.gz解压缩到某个目录,如/test,生成了/test/ipvs-1.0.9目录;进入/test/ipvs- 1.0.9,依次执行如下命令:make patchk

17、ernel、make installsource,将ipvs的Patch加载到kernel的source中。 重新编译支持ipvs的内核进入/usr/src/linux目录,分别执行:make mrproper 为创建新的内和配置做好准备make menuconfig 进行配置这里请确保IP:Virtual Server Configuration中的选项设定都用Mmake dep 检测是否有相关的软件包被使用make clean 为新内核结构准备源目录树make bzImage 创建内核引导映像make modules、make modules_install 生成模块 make insta

18、ll安装新的内核到指定位置并重新配置grub.conf 到这里新内核就安装完毕了,请重启并用此内核引导系统 安装ipvs管理工具ipvsadm当使用新内核启动后,就可以安装ipvsadm: tar xzvf ipvsadm-1.21.tar.gzcd ./ipvsadm-1.21makemake install安装完成后,执行ipvsadm命令,如果有如下信息出现则说明安装成功了。rootleon c# ipvsadm IP Virtual Server version 1.0.9 (size=65536) Prot LocalAddress:Port Scheduler Flags -; R

19、emoteAddress:Port Forward Weight ActiveConn InActConn 到现在为止,支持负载均衡功能的director就安装成功了,接下来我们可以通过ipvsadm来配置一个负载均衡集群。 构建负载均衡集群这里我们假设局域网中有两台FTP服务器,IP分别为FTP1:10.83.33.103,FTP2: 10.83.33.2 所提供的资料都是相同的,这可以通过无密码SSH登录+RSYNC来保证数据一致,这非本文中电,故而略过.我们提供给用户的虚拟IP是 10.83.33.100,而在后台为这两台FTP服务器实行LVS负载均衡的服务器的IP是10.83.33.8

20、3.这三台均安装RedHat9系统. 我们最终要实现的目标是当用户输入ftp 10.83.33.100时, LVS负载均衡服务器系统会根据当时的负载情况,依据轮换策略来决定Real Server到底是FTP1还是FTP2,从而使得整个FTP服务器的负载到达均衡. 目前LVS有三种负载平衡方式,NAT(Network Address Translation),DR(Direct Routing),IP Tunneling。其中,最为常用的是DR方式,因此这里只说明DR(Direct Routing)方式的LVS负载平衡。其它两种的详细情况请参考LVS-HOWTO. Director(即10.83

21、.33.83)上执行的设置 为了方便我们将所有步骤写成一个shell script. #!/bin/bash echo 0 ; /proc/sys/net/ipv4/ip_forward (关闭ip_forward) echo 1 ; /proc/sys/net/ipv4/conf/all/send_redirects (开启ICMP Redirects) echo 1 ; /proc/sys/net/ipv4/conf/default/send_redirects (开启ICMP Redirects) echo 1 ; /proc/sys/net/ipv4/conf/eth0/send_re

22、directs (开启ICMP Redirects) ifconfig eth0:100 10.83.33.100 broadcast 10.83.33.100 netmask 255.255.255.255 (设置虚拟IP) route add -host 10.83.33.100 dev eth0:100 (设置达到虚拟Ip的路由) ipvsadm C (清空ipvsadm table) ipvsadm -A -t 10.83.33.100:21 -s wrr (建立service rule, 当前调度算法为加权轮叫调度) ipvsadm -a -t 10.83.33.100:21 -r

23、10.83.33.76 -g -w 3 (建立转发规则) ipvsadm -a -t 10.83.33.100:21 -r 10.83.33.2 -g -w 1 (建立转发规则) ipvsadm (检查当前ipvsadm table) 将此shell script加入到/etc/rc.local中,这样在每次系统启动时都可以自动运行进行设置了。 Realserver(即10.83.33.2和10.83.33.76)上的设置 这里我们必须先修正real server上arp problem .这是因为在使用VS/DR的时候,real server会在一块网卡上绑定两个IP,但linux在kern

24、el 2.2.14以后就将eth0:1的NOARP FLAG关闭,这使得eth0:1仅仅是eth0的别名,任何对eth0:1的操作都对eth0有效,因此如果此时使eth0:1 NOARP,则也使得eth0 NOARP,这样整个网卡都不会收到数据包,具体的说就是因为我所有的机器都放在同一个网段,当该网段的Router接收到用户对虚拟IP的TCP connection要求(即使用FTP登录服务器)时,会先在网段中利用Arp request询问谁有VIP的地址,而包含Director与Real Servers上所有的interface,只要他有那个ip,都会发送arp reply回去,造成网段内所有

25、拥有Virtual IP的interface都会reply给Router,最后结果就是看谁的速度快,Router就将该封包送给谁,如此会造成LVS的Server并无 法发挥其效果,而我们所希望的是只有Director上的Virtual IP发送arp reply回去,因此需要利用hidden这个pattch,将real server上的Virtual IP给隐藏起来,如此他就不会对Arp Request进行Reply,就可以解决ARP的问题.具体步骤是: 下载所需的软件包从http:/www.ssi.bg/ja/ 得到hidden修正包,不同的核心使用相应的版本.请参考下表 Patch Lin

26、ux 2.4 Created hidden-2.4.28-1.diff 2.4.28 - 2.4.30 November 18, 2004hidden-2.4.26-1.diff 2.4.26 - 2.4.27 February 28, 2004hidden-2.4.25-1.diff 2.4.25 February 19, 2004hidden-2.4.20pre10-1.diff 2.4.20pre10 - 2.4.24 October 12, 2002hidden-2.4.19pre5-1.diff 2.4.19pre5 - 2.4.20pre9 April 7, 2002hidden-

27、2.4.5-1.diff 2.4.5 - 2.4.19pre4 June 2, 2001hidden-2.4.4-1.diff 2.4.4 April 29, 2001Patch Linux 2.6 Created hidden-2.6.9-1.diff 2.6.9 - 2.6.11 October 19, 2004hidden-2.6.4-1.diff 2.6.4 - 2.6.8 March 12, 2004hidden-2.6.3-1.diff 2.6.3 February 19, 2004hidden-2.5.67-1.diff 2.5.67 - 2.6.2 April 9, 2003本

28、例使用的内核版本是2.4.20-8,因此下载hidden-2.4.20pre10-1.diff 重新编译内核,修正arp problem把hidden-2.4.20pre10-1.diff放到/usr/src/linux下,用命令 patch -p1 ; /proc/sys/net/ipv4/ip_forward (关闭ip_forward) ifconfig lo:100 10.83.33.100 broadcast 10.83.33.100 netmask 0xffffffff up (设置虚拟IP) route add -host 10.83.33.100 dev lo:100 (设置达

29、到虚拟Ip的路由) echo 1 ; /proc/sys/net/ipv4/conf/all/hidden (开启No-ARP) echo 1 ; /proc/sys/net/ipv4/conf/lo/hidden (开启No-ARP) 将此shell script加入到/etc/rc.local中,这样在每次系统启动时都可以自动运行进行设置了。 测试 为了使得我们清楚地知道访问的是那一台FTP服务器,我们在FTP1上编辑/etc/vsftpd/vsftpd.conf,设置 ftpd_banner=Welcome to FTP1 server,在FTP2设置ftpd_banner=Welcome to FTP2 server,设置完毕后重启服务. 现在在另一台客户机开几个终端,依次输入ftp 10.83.33.100,我们可以从欢迎词上看到,每次登录的FTP服务器都不是固定的,它会在FTP1和FTP2上互相交替,试验成功! 2.4负载均衡软件实现方式之四 - 专业负载均衡软件

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1