在发展初期,一路处理器便可为一台服务器及其所有应用提供动力。接着就发展到了多处理时代,这时两路或多路处理器共享一个存储池,并能处理更多更大的应用。然后出现了服务器网络,该网络中的每台服务器都专门处理不同的应用集。现在,发展到了服务器集群,两台或多台服务器像一台服务器一样工作,提供更高的可用性和性能,这已经远远超出了您的想像。应用可从一台服务器转移到另一台服务器,或同时运行在若干台服务器上――所有这一切对用户都是透明的。
集群并不是新事物,但在软件和">硬件方面,直到最近它们还是专有的。信息系统经理对集群进行了更加仔细的考虑,这是因为现在他们可以使用大规模生产的标准硬件实现集群,如RAID、对称多处理系统、网络和I/O网卡及外设。集群技术在未来将会获得更大的发展,现在,不断推出新的集群选件,而真正的集群标准尚在制定之中。
何为集群?
简单的说,集群就是两台或多台计算机或节点在一个群组内共同工作。与 单独工作的计算机相比,集群能够提供更高的可用性和可扩充性。集群中的每个节点通常都拥有自己的资源(处理器、I/O、内存、操作系统、存储器),并对自己的用户集负责。
故障切换功能提供丝捎眯裕旱币桓鼋诘惴⑸?收鲜保?渥试茨芄?quot;切换"到集群中一个或多个其它节点上。一旦发生故障的节点恢复全面运行,通过前瞻性地将一台服务器的功能"切换"到集群中其它服务器上,可以实现升级,停止该服务器的运行以增加组件,然后将其放回到集群中,再将其功能从其它服务器转回该服务器。利用分布式讯息传递(DMP)可提供额外的可扩充性,DMP是一种集群内通信技术,该技术允许应用以对最终用户透明的方式扩展到单个对称多处理(SMP)系统以外。
集群中的每个节点必须运行集群软件以提供服务,如故障检测、恢复和将服务器作为约 个系统进行管理的能力。集群中的节点必须以一种知道所有其它节点状态的方式连接。这通常通过一条由于局域网路径相分离的通信路径来实现,并使用专用网卡来确保节点间清楚的通信。该通信路径中继系统间的一?quot;心跳",这样,如果一个资源发生故障因而无法发送心跳,就会开始故障切换过程。实际上,最可靠的配置采用了使用不同通信连接(局域网、SCSI和RS232)的冗余心跳,以确保通信故障不会激活错误的故障切换。
集群级别
今天,对于集群购买者来说,幸运的是有多款不同档次的集群可供选择,它们可提供广泛的可用性。当然,可用性越高,价格也越高,管理复杂性也越大。
共享存储
共享磁盘子系统往往是集群的基础、它使用共享的SCSI或光纤通道。每个节点使用其本地磁盘存储操作系统交换空间和系统文件,而应用数据存储在共享磁盘上,每个节点均可读取由其它节点写入的数据。应用间的并发磁盘访问需要分布锁定管理器(DLM),而且共享磁盘子系统与其集群节点之间的距离会受到所选择介质(SCSI或光纤通道等)的限制。
服务器镜像(镜像磁盘)
需要数据冗余而又无需占用额外磁盘子系统的环境有权选择服务器间的镜像数据。除了成本更低以外,服务器镜像的另一个优势是,在主板服务器与辅助服务器之间的连接可以是基于局域网的,这样就消除了SCSI 距离限制。数据写到主板服务器上后,它还写到了辅服务器上;通过锁定服务器数据保持了数据的完整性。一些服务器镜像产品还可将工作负载从主服务器转换到辅服务器上。
非共享
现在,一些集群产品使用的是"非共享"体系结构,在此体系结构中,节点既不共享集中式磁盘,也不在节点间镜像数据。发生故障时,非共享集群所具有的软件能够将磁盘所有权从一个节点传送至另一个节点,而无需使用分布式分布式锁定管理器(DLM)。
如何实现故障切换?
可以使用多种方法配制集群实现故障切换。第一种方法是N路配制,集群中的所有节点在正常情况下都拥有自己的用户和工作负载。一个故障节点的资源可切换到其它节点,但由于剩余的服务器承担了额外的负载,因此其性能将有所下降。
N+1配制包括一个热待机系统,它在主系统发生故障之前一直处于空闲模式。在N+1配制中,当一个节点发生故障时可避免其它节点的性能下降。但是,由于待机节点在正常情况下并不提供服务,因而成本较高。
在任何配制中,一旦出现问题,集群软件将能够首先进行本地恢复。本地恢复即在发生故障时,在本地节点自动重新启动应用或服务的能力。对节点并非致命的故障来说,逻辑上本地恢复是首选方式,因为与切换至另一个节点相比,它对用户的中断更少。
就故障切换的种类而论,一些集群产品可进行并行恢复,其中资源能够故障切换到不同地区的远程节点上。这很适合于容灾需求。次外,为了解决多个节点故障问题,一些集群产品可以进行级联故障切换,其工作方式就像多米诺骨牌一样:节点一故障切换到节点二,节点二发生故障后再切换到节点三等等。