群集

来自EEWiki.

跳转到: 导航, 搜索

群集是一项提供可用性和可伸缩性的容错服务器技术。它将服务器和共享资源组织到一个可提供错误免疫力的单独的系统。改进的性能是该种系统的一个副产品。客户机与服务器群集进行交互,就像它们是一个单独的系统一样。如果群集中的某个服务器失效,其他服务器可以接管它的负载。

群集的一个很有趣的方面是它可以提供“四个九″的可用性(99.99%的正常运行时间),即相当于每年有53分钟的故障时间。 在讨论群集之前,讨论一下网络服务器/存储设备和配置很重要。下面是企业网络和因特网Web站点中服务器和存储设备的典型配置:

SMP(对称多重处理)系统 具有多个处理器、多个电源、网络接口卡和多个提供“局部”容错(如果某个处理器、电源或接口失效而其他能够正常运行)而不是故障容错(水灾或火灾)的存储设备的单个系统。这些系统可提供可伸缩性性能但不提供理想的可伸缩性存储环境。SMP好处是所有处理器可以同时执行,且效能不会下降太多,因为所有处理器都是个别地执行,所以可能发生负载不均的问题,造成系统中部份CPU闲置,而其它CPU却超过负载,可以藉由利用系统中的资源共享来降低处理器之间的差异。

基于LAN的服务器配置 它是传统的LAN或广域网络,其中服务器被连接到位于建筑物或MAN和WAN中不同位置的LAN。可将数据复制到同一建筑物或扩展网络中不同的位置。这样在出现局部故障例如火灾或者设备故障时可提供保护。但是,这些系统结合得很松散,并不能提供下面所讨论的系统所具备的性能和管理上的优势。

群集 群集系统是一组服务器和所连接的存储设备,这些设备在同一位置并位于对任何一个设备故障提供容错的配置中。对于用户,所有的服务器都是一个单个的服务器。通过外部负载均衡设备或操作系统提供的软件,将请求均衡在服务器之间。所有的服务器都可以访问所有的存储设备,所以如果一个服务器出故障,还可以通过群集中其他的服务器访问硬盘驱动器。

SAN(存储区域网络) SAN是一个独立于服务器网络系统之外的、几乎拥有无限存储能力的高速存储网络,提供在计算机与存储系统之间的数据传输。它基本上将存储设备放在它们自己的高速网络中,主要是光纤信道。通过将所有的设备连接到网络中,存储设备就变得容易访问。网络的交换特性使服务器可以直接连接到任何设备。SAN不但具有高传输速度(100Mbps)、远传输距离(10Km)和支持数量众多的设备等优点,更为重要的是,SAN使服务器和存储器之间的连接方式发生了根本性的变革。

NAS(网络连接存储器) 现在,NAS通常指一种网络设备。基本概念是完全消除服务器并将存储器直接连接到网络中,从而降低成本并简化管理。NAS是部件级的存储方法,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。需要共享大型CAD文档的工程小组就是典型的例子。SAN主要是为企业定义的系统,而NAS通常是在部门层安装的。此概念依赖于这样一个事实:使用标准文档格式和XML,将不再需要服务器使用的专用文件格式,并且可完全消除服务器。根据George Gilder的理论,NAS就是从服务器操作系统的控制中删除存储器。

群集、SAN和NAS都将存储器与服务器分隔开,这样就允许任何服务器访问任何存储设备。另外,因为客户机可以通过任何服务器(或直接在NAS中)访问存储器,所以对存储器的访问并不依赖于某一个服务器。

图C-20的左边部分描绘了一个简单的群集解决方案。在这种情况下,两台服务器共享相同的硬盘。群集也可能是由两个以上的服务器组成,如图C-20的右边部分所示。后者通常用于提供额外性能。事实上,一个多群集系统设计成可允许缩放及容错。当处理需求增加时,可向群集添加额外的服务器。

image:bk071022_1.jpg

因为多个系统可为大量网络客户机提供更好的I/O(输入/输出),所以群集技术可提供比大型对称多重处理服务器更好的性能。下面简述了其他重要的特性和好处:

负载平衡 群集软件可提供处理器间的负载均衡以确保处理能够按优化系统的方式分布。

故障转移 该术语用来描述其他服务器如何接管故障服务器的负载。

故障恢复 提供不间断服务的能力。很明显,该项能力取决于服务器、磁盘阵列、备份电源的数量和设备的质量。

多口磁盘存取 群集中的每个系统都可访问相同的RAID系统。RAID系统有它们自己内置的容错能力。

可伸缩性 根据需要,可伸展系统以处理更多客户机的能力。

客户机和网络管理员都将服务器群集看作是单一的服务器。在实施的虚拟IP(网际协议)寻址方案中,单个URL(统一资源定位符)指向整个服务器群集。即使群集中的某个服务器失效,群集中分布的文件系统也可作为单个文件系统出现。网络管理员可运行单个的管理应用程序来监控群集的性能。

群集的一些困难包括组件的故障处理、故障恢复、对共享环境中磁盘访问的仲裁以及高速缓存一致性(在高速缓冲存储器中的更新信息写入之前,磁盘被其他用户读取)。

最常见的三种群集类型包括高性能科学群集、负载均衡群集和高可用性群集。

(1)科学群集:通常,第一种涉及为群集开发并行编程应用程序,以解决复杂的科学问题。这是并行计算的基础,尽管它不使用专门的并行超级计算机,这种超级计算机内部由十至上万个独立处理器组成。但它却使用商业系统,如通过高速连接来链接的一组单处理器或双处理器 PC,并且在公共消息传递层上进行通信以运行并行应用程序。因此,您会常常听说又有一种便宜的 Linux 超级计算机问世了。但它实际是一个计算机群集,其处理能力与真的超级计算机相等,通常一套象样的群集配置开销要超过 $100,000。这对一般人来说似乎是太贵了,但与价值上百万美元的专用超级计算机相比还算是便宜的。

(2)负载均衡群集:负载均衡群集为企业需求提供了更实用的系统。如名称所暗示的,该系统使负载可以在计算机群集中尽可能平均地分摊处理。该负载可能是需要均衡的应用程序处理负载或网络流量负载。这样的系统非常适合于运行同一组应用程序的大量用户。每个节点都可以处理一部分负载,并且可以在节点之间动态分配负载,以实现平衡。对于网络流量也如此。通常,网络服务器应用程序接受了太多入网流量,以致无法迅速处理,这就需要将流量发送给在其它节点上运行的网络服务器应用。还可以根据每个节点上不同的可用资源或网络的特殊环境来进行优化?

(3)高可用性群集:高可用性群集的出现是为了使群集的整体服务尽可能可用,以便考虑计算硬件和软件的易错性。如果高可用性群集中的主节点发生了故障,那么这段时间内将由次节点代替它。次节点通常是主节点的镜像,所以当它代替主节点时,它可以完全接管其身份,并且因此使系统环境对于用户是一致的。

在群集的这三种基本类型之间,经常会发生混合与交杂。于是,可以发现高可用性群集也可以在其节点之间均衡用户负载,同时仍试图维持高可用性程度。同样,可以从要编入应用程序的群集中找到一个并行群集,它可以在节点之间执行负载均衡。尽管集群系统本身独立于它在使用的软件或硬件,但要有效运行系统时,硬件连接将起关键作用。

群集是多层网络体系结构中典型的配置,其中群集代表中间层和后端层。

Microsoft Windows 2000 DataCenter是在企业网络核心中使用的。它支持四节点群集,并支持将来的扩展。相关产品是用于Windows NT的Microsoft WLBS ( Windows负载平衡服务)。在Windows 2000中,它被称为NLB(网络负载平衡)。在Windows 2000中,一项称为CLB (组件负载平衡)的特性使对象(软件组件)在COM+服务器集合中的分布均衡。Microsoft开发了MSCS( Microsoft群集服务)API以支持群集的发展。

依靠使用Microsoft MSCS API设计的软件,IBM的Netfinity服务器可支持群集中多达8个的节点。Novell的NWCS (NetWare群集服务)是另一个群集解决方案。

虚拟接口(VI)体系结构规范为服务器群集和工作站之间的通信定义了一种行业标准的体系结构。该规范是通过减少设备之间交换信息所使用的时间来提升I/O。“V1”体系结构是由Compaq、Intel和Microsoft倡导的。

个人工具箱
导航
支持单位