服务器集群负载均衡(F5,LVS,DNS,CDN)
F5全称:F5-BIG-IP-GTM全球流量管理器.
是一家叫F5Networks的公司开发的四~七层交换机,软硬件捆绑.
据说最初用BSD系统,现在是LINUX;硬件是Intel的PC架构,再加周边的网络和专用加速设备.
当然要提提售价,都是几十万RMB的身价.
这宝贝是用于对流量和内容进行管理分配的设备,也就是负载均衡.
从名字就能看出来:BIG-IP.
外部看来是一个IP,内部可却是几十台应用服务器.表现为一个虚拟的大服务器.
所以我才说:好大一个IP.
LVS=LinuxVirtualServer
是俺们中国人,一个叫章文嵩的博士推创开发出来的,
他的web:http://zh.linuxvirtualserver.org/
IBM网站的资料:集群的可扩展性及其分布式体系结构(4)
博士关于LVS和F5的对比:
关于和F5的差别,很难一句话说明白,都是做负载均衡的设备。
F5虽然也是基于BSD系统修改的(据说最新的基于Linux了),但重要的交换部分,则是通过专门的交换芯片实现的(类似有了专门的图像处理芯片,就可以省去大量的CPU对图像处理的运算),这样他的性能就不会很依赖于主机的操作系统的处理能力。
F5上负载均衡大多是基于NAT/SNAT,也可以实现Proxy,但用的较少,做为一个上市公司,F5自然在产品化程度上做的很好,无论配置管理方便性、灵活性,性能和稳定性上都比较好。
LVS在NAT模式下,和F5的功能基本上是一样的,但毕竟LVS是纯粹的软件,性能是依赖于主机的运算能力的。
而且,LVS是开源的项目,不应该和一个商业产品来比较,人家那是卖钱的,有很多人来维护和开发,而LVS一直是章博士义务来维护开发的,想要更好的功能,就需要有更多的人参与进来才行。
说的相当透彻了.
DNS轮询是做负载均衡最简单有效的实现方法,各方面代价都极低.货好便宜量又足.
缺点就是由于没有检测机制,不够均衡,容错反应时间长.
国内门户用这个技术的很多,配合squid有很好的效果.
当然,不做负载均衡,直接从多个ISP拉几根线,分别提供服务是最原始的方法.
CDN=ContentDeliveryNetwork,内容分发网络。
细究起来上面的都是cdn的实现方式.
国内开放的服务很少(chinacache),国外却非常流行.
就是提供缓存节点,把目标网络内容的访问转化为临近节点的访问.
响应速度/安全/透明/扩展,特别是中国这种还没解放台湾就南北分裂的网络格局下,更为伟大.
不过也是贵族的服务,建设成本很高.
ADSL+DDNS+CDN也算是另一个建小站的途径了.
把空间的租用费用投资在流量上,直接有效.不过电费和稳定性上不容乐观.
其实CDN不只是做网站服务的,比如在韩国,多数的CND流量都是被网络游戏占用了.
试想,如果能大范围铺开CDN节点,那还有必要一个游戏分那么多区,占用那么多服务器么?
结论是还有必要虽然确实访问连接和响应速度对现在的网络游戏有很大影响,但开发瓶颈更在于计算能力和数据存储访问.
又一个试想,把CDN和P2P结合,上网的个人PC只要提供CDN服务,就可以每月获的xx美金的佣金.由资讯和应用提供商买单.
怎么看这都是个良性发展的产业链,就像google明年要推出免费手机,让广告商买单一样.
不过唯一不高兴的就应该是ISP们了,现在bt这样的共享都被封杀.
除非这个业务被他们自己垄断,不然也是僵尸的下场.
用户也不是百利无害的,数据安全和资讯及时有挑战.
GV们也不是看戏的,现在还有网站可以封,写个blog都要100万注册资金;
如果一堆SSL加密的数据四处流窜,神龙无首无尾,怎么屏蔽过滤,怎么防川啊~
回望眼,越看越像网摘,索性就再摘段完整的
F5功能介绍:
1.多链路的负载均衡和冗余
与互联网络相关的关键业务都需要安排和配置多条ISP接入链路以保证网络服务的质量,消除单点故障,减少停机时间。多条ISP接入的方案并不是简单的多条不同的广域网络的路由问题,因为不同的ISP有不同自治域,所以必须考虑到两种情况下如何实现多条链路的负载均衡:
more..
less..
内部的应用系统和网络工作站在访问互联网络的服务和网站时如何能够在多条不同的链路中动态分配和负载均衡,这也被称为OUTBOUND流量的负载均衡。
互联网络的外部用户如何在外部访问内部的网站和应用系统时也能够动态的在多条链路上平衡分配,并在一条链路中断的时候能够智能地自动切换到另外一条链路到达服务器和应用系统,这也被称作为INBOUND流量的负载均衡。
F5的BIG-IPLC可以智能的解决以上两个问题:
对于OUTBOUND流量,BIG-IPLC接收到流量以后,可以智能的将OUTBOUND流量分配到不同的INTERNET接口,并做源地址的NAT,可以指定某一合法IP地址进行源地址的NAT,也可以用BIG-IPLC的接口地址自动映射,保证数据包返回时能够正确接收。
对于INBOUND流量,BIG-IPLC分别绑定两个ISP服务商的公网地址,解析来自两个ISP服务商的DNS解析请求。BIG-IPLC不仅可以根据服务器的健康状况和响应速度回应LDNS相应的IP地址,还可以通过两条链路分别与LDNS建立连接,根据RTT时间判断链路的好坏,并且综合以上两个参数回应LDNS相应的IP地址。
2.防火墙负载均衡
考虑到绝大多数的防火墙只能达到线速的30%吞吐能力,故要使系统达到设计要求的线速处理能力,必须添加多台防火墙,以满足系统要求。然而,防火墙必须要求数据同进同出,否则连接将被拒绝。如何解决防火墙的负载均衡问题,是关系到整个系统的稳定性的关键问题。
F5的防火墙负载均衡方案,能够为用户提供异构防火墙的负载均衡与故障自动排除能力。典型的提高防火墙处理能力的方法是采用“防火墙三明治”的方法,以实现透明设备的持续性。这可满足某些要求客户为成功安全完成交易必须通过同一防火墙的应用程序的要求,也能够维护原来的网络安全隔离的要求。F5标准防火墙解决方案如图所示:
防火墙负载均衡连接示意图
3.服务器负载均衡
对于所有的对外提供服务的服务器,均可以在BIG-IP上配置VirtualServer实现负载均衡,同时BIG-IP可持续检查服务器的健康状态,一旦发现故障服务器,则将其从负载均衡组中摘除。
BIG-IP利用虚拟IP地址(VIP由IP地址和TCP/UDP应用的端口组成,它是一个地址)来为用户的一个或多个目标服务器(称为节点:目标服务器的IP地址和TCP/UDP应用的端口组成,它可以是internet的私网地址)提供服务。因此,它能够为大量的基于TCP/IP的网络应用提供服务器负载均衡服务。根据服务类型不同分别定义服务器群组,可以根据不同服务端口将流量导向到相应的服务器。BIG-IP连续地对目标服务器进行L4到L7合理性检查,当用户通过VIP请求目标服务器服务时,BIG-IP根椐目标服务器之间性能和网络健康情况,选择性能最佳的服务器响应用户的请求。如果能够充分利用所有的服务器资源,将所有流量均衡的分配到各个服务器,我们就可以有效地避免“不平衡”现象的发生。
利用UIE+iRules可以将TCP/UDP数据包打开,并搜索其中的特征数据,之后根据搜索到的特征数据作相应的规则处理。因此可以根据用户访问内容的不同将流量导向到相应的服务器,例如:根据用户访问请求的URL将流量导向到相应的服务器。
4.系统高可用性
系统高可用性主要可以从以下几个方面考虑:
4.1.设备自身的高可用性:F5BIG-IP专门优化的体系结构和卓越的处理能力保证99.999%的正常运行时间,在双机冗余模式下工作时可以实现毫秒级切换,保证系统稳定运行,另外还有冗余电源模块可选。在采用双机备份方式时,备机切换时间最快会在200ms之内进行切换。BIG-IP产品是业界唯一的可以达到毫秒级切换的产品,而且设计极为合理,所有会话通过Active的BIG-IP的同时,会把会话信息通过同步数据线同步到Backup的BIG-IP,保证在BackupBIG-IP内也有所有的用户访问会话信息;另外每台设备中的watchdog芯片通过心跳线监控对方设备的电频,当ActiveBIG-IP故障时,watchdog会首先发现,并通知BackupBIG-IP接管SharedIP,VIP等,完成切换过程,因为BackupBIG-IP中有事先同步好的会话信息,所以可以保证访问的畅通无阻。
4.2.链路冗余:BIG-IP可以检测每条链路的运行状态和可用性,做到链路和ISP故障的实时检测。一旦出现故障,流量将被透明动态的引导至其它可用链路。通过监控和管理出入数据中心的双向流量,内部和外部用户均可保持网络的全时连接。
4.3.服务器冗余,多台服务器同时提供服务,当某一台服务器故障不能提供服务时,用户的访问不会中断。BIG-IP可以在OSI七层模型中的不同层面上对服务器进行健康检查,实时监测服务器健康状况,如果某台服务器出现故障,BIG-IP确定它无法提供服务后,就会将其在服务队列中清除,保证用户正常的访问应用,确保回应内容的正确性。
5.高度的安全性
BIG-IP采用防火墙的设计原理,是缺省拒绝设备,它可以为任何站点增加额外的安全保护,防御普通网络攻击。可以通过支持命令行的SSH或支持浏览器管理的SSL方便、安全的进行远程管理,提高设备自身的安全性;能够拆除空闲连接防止拒绝服务攻击;能够执行源路由跟踪防止IP欺骗;拒绝没有ACK缓冲确认的SYN防止SYN攻击;拒绝teartop和land攻击;保护自己和服务器免受ICMP攻击;不运行SMTP、FTP、TELNET或其它易受攻击的后台程序。
BIG-IP的DynamicReaping特性可以高效删除各类网络DoS攻击中的空闲连接,这可以保护BIG-IP不会因流量过多而瘫痪。BIG-IP可以随着攻击量的增加而加快连接切断速率,从而提供一种具有极强适应能力、能够防御最大攻击量的解决方案。
BIG-IP的DelayBinding技术可以为部署在BIG-IP后面的服务器提供全面地SYNFlood保护。此时,BIG-IP设备作为安全代理来有效保护整个网络。
BIG-IP可以和其它安全设备配合,构建动态安全防御体系。BIG-IP可以根据用户单位时间内的连接数生成控制访问列表,将该列表加载到其它安全设备上,有效控制攻击流量。
6.SSL加速
在每台BIG-IP上,都具有SSL硬件加速芯片,并且自带100个TPS的License,用户可以不通过单独付费,就可以拥有100个TPS的SSL加速功能,节约了用户的投资。在将来系统扩展时,可以简单的通过License升级的方式,获得更高的SSL加速性能。
7.系统管理
BIG-IP提供HTTPS、SSH、Telnet、SNMP等多种管理方式,用户客户端只需操作系统自带的浏览器软件即可,不需安装其它软件。可以通过支持命令行的SSH或支持浏览器管理的SSL方便、安全的进行远程管理。直观易用的Web图形用户界面大服务降低了多归属基础设施的实施成本和日常维护费用。
BIG-IP包含详尽的实时报告和历史纪录报告,可供评测站点流量、相关ISP性能和预计带宽计费周期。管理员可以通过全面地报告功能充分掌握带宽资源的利用状况。
另外,通过F5的i-Control开发包,目前国内已有基于i-Control开发的网管软件x-control,可以定制针对系统服务特点的监控系统,比如服务的流量情况、各种服务连接数、访问情况、节点的健康状况等等,进行可视化显示。
告警方式可以提供syslog、snmptrap、mail等方式。
8.其它
内存扩充能力:F5BIG-IP1000以上设备单机最大可扩充到2G内存,此时可支持400万并发回话。
升级能力:F5所有设备均可通过软件方式升级,在服务有效期内,升级软件包由F5公司提供。F5NETWORKS已经发布其系统的最新版本BIG-IPV9.0,主要有以下特性:虚拟IPV4/IPV6应用、加速Web应用高达3倍、减少66%甚至更多的基础架构成本、确保高优先级应用的性能、确保更高级别的可用性、大幅提高网络和应用安全性、强大的性能,简单的管理方式、无以匹敌的自适应能力和延展能力和突破的性能表现力。其强大的HTTP压缩功能可以将用户下载时间缩短50%,节省80%的带宽。
IP地址过滤和带宽控制:BIG-IP可以根据访问控制列表对数据包进行过滤,并且针对某一关键应用进行带宽控制,确保关键应用的稳定运行。
配置管理及系统报告:F5BIG-IP提供WEB界面配置方式和命令行方式进行配置管理,并在其中提供了丰富的系统报告,更可通过i-Control自行开发复杂的配置及报告生成。