linuxworld 专栏作家
rawn shah 作为专家,在 linux 现有的开放源码和封闭源码集群解决方案方面为您指点迷津。
计算 linux 中集群项目的数量就象计算硅谷中创业公司的数量一样。不象 windows nt 已经受其自身的封闭环境阻碍,linux 有大量的集群系统可供选择,适合于不同的用途和需要。但确定应该使用哪一个集群的工作却没有因此变得简单。
问题的部分原因在于术语集群用于不同场合。it 经理可能关心如何使服务器运行时间更长,或使应用程序运行得更快,而数学家可能更关心在服务器上进行大规模数值计算。两者都需要群集,但是各自需要不同特性的群集。
本文调查了不同形式的集群以及许多实现中的一部分,这些实现可以买到,也可以免费软件形式获得。尽管列出的所有解决方案并不都是开放源码,但是大多数软件都遵循分发 linux 源码的公共惯例,特别是由于那些实现集群的人还常常希望调整系统性能,以满足需要。
硬件
集群总是涉及到机器之间的硬件连接。在现今大多数情况下,这只是指“快速以太网”网卡和集线器。但在尖端科学领域中,有许多专为集群设计的网络接口卡。它们包括 myricom 的 myr.net、gig.net 的 clan 和 ieee 1596 标准可伸缩一致接口 (sci)。那些卡的功能不但在群集的节点之间提供高带宽,而且还减少延迟(发送消息所用的时间)。对于在节点间交换状态信息以使其操作保持同步情况,那些延迟是至关重要的。
myricom
myricom 提供网卡和交换机,其单向互连速度最高可达到 1.28 gbps。网卡有两种形式,铜线型和光纤型。铜线型 lan 可以在 10 英尺距离内以全速进行通信,而在长达 60 英尺距离内以半速进行操作。光纤型 myr.net 可以在 6.25 英里长的单模光纤或者 340 英尺长的多模光纤上全速运行。myr.net 只提供直接点到点、基于集线器或基于交换机的网络配置,但在可以连接到一起的交换光纤数量方面没有限制。添加交换光纤只会增加节点间的延迟。两个直接连接的节点之间的平均延迟是 5 到 18 微秒,比以太网快得多。
集群类型
最常见的三种群集类型包括高性能科学群集、负载均衡群集和高可用性群集。
科学群集
通常,第一种涉及为群集开发并行编程应用程序,以解决复杂的科学问题。这是并行计算的基础,尽管它不使用专门的并行超级计算机,这种超级计算机内部由十至上万个独立处理器组成。但它却使用商业系统,如通过高速连接来链接的一组单处理器或双处理器 pc,并且在公共消息传递层上进行通信以运行并行应用程序。因此,您会常常听说又有一种便宜的 linux 超级计算机问世了。但它实际是一个计算机群集,其处理能力与真的超级计算机相等,通常一套象样的群集配置开销要超过 $100,000。这对一般人来说似乎是太贵了,但与价值上百万美元的专用超级计算机相比还算是便宜的。
负载均衡群集
负载均衡群集为企业需求提供了更实用的系统。如名称所暗示的,该系统使负载可以在计算机群集中尽可能平均地分摊处理。该负载可能是需要均衡的应用程序处理负载或网络流量负载。这样的系统非常适合于运行同一组应用程序的大量用户。每个节点都可以处理一部分负载,并且可以在节点之间动态分配负载,以实现平衡。对于网络流量也如此。通常,网络服务器应用程序接受了太多入网流量,以致无法迅速处理,这就需要将流量发送给在其它节点上运行的网络服务器应用。还可以根据每个节点上不同的可用资源或网络的特殊环境来进行优化?
高可用性群集
高可用性群集的出现是为了使群集的整体服务尽可能可用,以便考虑计算硬件和软件的易错性。如果高可用性群集中的主节点发生了故障,那么这段时间内将由次节点代替它。次节点通常是主节点的镜像,所以当它代替主节点时,它可以完全接管其身份,并且因此使系统环境对于用户是一致的。
在群集的这三种基本类型之间,经常会发生混合与交杂。于是,可以发现高可用性群集也可以在其节点之间均衡用户负载,同时仍试图维持高可用性程度。同样,可以从要编入应用程序的群集中找到一个并行群集,它可以在节点之间执行负载均衡。尽管集群系统本身独立于它在使用的软件或硬件,但要有效运行系统时,硬件连接将起关键作用。
gig.net
gig.net 是用于 linux 平台的虚拟接口 (vi) 体系结构卡的第一家供应商,提供 clan卡和交换机。vi 体系结构是独立于平台的软件和硬件系统,它由 intel 开发,用于创建群集。它使用自己的网络通信协议在服务器之间直接交换数据,而不是使用 ip,并且它并不打算成为 wan 可路由的系统。现在,vi 的未来取决于正在进行的“系统 i/o 组”的工作,这个小组本是 intel 领导的“下一代 i/o”小组与 ibm 和 compaq 领导的“未来 i/o 小组”的合并。gig.net 产品当前可以在节点之间提供 1 gbps 单向通信,最小延迟为 7 微秒。
ieee sci
ieee 标准 sci 的延迟更少(低于 2.5 微秒),并且其单向速度可达到 400 mb/秒 (3.2 gbps)。sci 是基于环拓扑的网络系统,不像以太网是星形拓扑。这将使在较大规模的节点之间通信速度更快。更有用的是环面拓扑网络,它在节点之间有许多环形结构。两维环面可以用 n 乘 m 的网格表示,其中在每一行和每一列都有一个环形网络。三维环面也类似,可以用三维立体节点网格表示,每一层上有一个环形网络。密集超级计算并行系统使用环面拓扑网络,为成百上千个节点之间的通信提供相对最快的路径。
大多数操作系统的限制因素不是操作系统或网络接口,而是服务器的内部 pci 总线系统。几乎所有台式 pc 通常有基本 32-位,33-mhz pci,并且大多数低端服务器只提供 133 mb/秒 (1 gbps),这限制了那些网卡的能力。一些昂贵的高端服务器,如 compaqproliant 6500 和 ibm.netfinity 7000 系列,都有 64-位, 66-mhz 网卡,它们能够以四倍速度运行。不幸地是,矛盾是更多公司使用低端的系统,因此大多数供应商最终生产和销售更多低端 pci 网卡。也有专门的 64-位,66-mhz pci 网卡,但价格要贵许多。例如,intel 提供了这种类型的“快速以太网”网卡,价格约 $400 到 $500,几乎是普通 pci 版本价格的 5 倍。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器