您的位置: 网界网 > 周报全文 > 正文

[周报全文]高可用集群拓扑一览

2002年08月05日 00:00:00 | 作者:佚名 | 来源:$page.getBroMedia() | 查看本文手机版

摘要:高可用集群拓扑一览

标签

高可用集群拓扑一览
井之

    概念

    集群是指一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理。此单一系统提供了高可用性的服务。集群技术有许多特点,比如大多数模式下,集群中所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户所使用。集群必须可以协调管理各分离的组件的错误和失败,并可透明地向集群中加入组件。

    一个集群包含多台(至少二台)拥有共享数据存储空间的服务器。任何一台服务器运行一个应用时,应用数据被存储在共享的数据空间内。每台服务器的操作系统和应用程序文件则存储在其各自的本地储存空间上。

    集群内各节点服务器通过一内部局域网相互通信。当一台节点服务器发生故障时,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管。当一个应用服务发生故障时,应用服务将被重新启动或被另一台服务器接管。

    拓扑结构

    有两种典型的拓扑结构可以实现高可用性集群,被动备份服务器和第二活动服务器。其中更为普遍的是活动第二服务器,它有三种实现形式:“全部复制”、“零共享”和“全部共享”。

    被动备份服务器

    通常把一个服务器安排为“主”服务器,一个服务器为“从”服务器;由主服务器为用户提供文件、打印及应用服务,从服务器只有在主服务器发生故障时才能投入运行,代替主服务器提供服务。在被动备份服务器方式下(如图1所示),除非主服务器发生故障,否则从服务器只是“观察”并不作任何运作。


图1

    一种被称为“心跳”的简单机制被配置在主服务器上,它的作用是周期性地发送主服务器“生命尚在”的消息给备份服务器,一旦消息停止,备份服务器就认为主服务器发生故障,并把自己投入运行以代替主服务器。

    “心跳”是一种很容易开发的协议,它可以通过网络链接实现;也可以仅仅在服务器间加一条传递“生命”消息的缆线;或者通过局域网消息传送实现。

    活动第二服务器

    一个功能基本一致但成本低得多的方式是使第二服务器可以处理其他的应用程序,但当主服务器发生故障时,第二服务器也能够接管主服务器的工作。这种我们称为“活动第二服务器”方法的主要优点是在保持使用第二服务器的同时,获得服务器冗余,而不是仅仅把第二服务器作为备份使用。这种方法可以减少集群系统的运行费用。实际使用中,“活动第二服务器”方法有三种实现方式。

    1、全部复制

    “全部复制”就是指彻底的服务器冗余。每个服务器都有自己的磁盘。数据不断地被拷贝到第二服务器的磁盘上,以保证故障发生时,第二服务器可以使用当前的数据。

    尽管这种方法的确可以带来高可用性,但它增加了服务器及网络的负荷,可能会严重影响系统性能。另一个缺点是当一个服务器发生故障时,可能会有主、从服务器的不一致现象:某个磁盘上的事务处理可能并没有完全在另一个磁盘上得到继续。因为即便以最快的网络相连,两个服务器间信息传送仍会有一定的延迟。

    冗余的服务器也带来许多好处。因为数据是被完全复制的,所以客户的应用程序可以在任一服务器上运行,从而可以更好地平衡负载。另外,节点在空间上可以是分散的;节点间可通过广域网互连(+微信关注网络世界),物理上可以距离很远。这种拓扑结构常被用在灾难恢复设计中,提供对主要自然灾害如地震、洪水等的保护。

    2、零共享

    活动第二服务器方法的另一个实现是“零共享”。是指两个服务器物理上连接到同一个磁盘组上,尽管其中每个服务器拥有自己的磁盘。但在正常运作下,只有磁盘的主人才能存取其中的数据,而当某个服务器发生故障时,替代服务器将把自己设定为故障服务器磁盘的主人,并对之进行操作(如图3所示)。

    这种方式不必不停地在服务器间拷贝数据,从而大大降低了网络负荷。在这种方式下,磁盘是唯一可能产生导致长时间停机的地方。于是在这种体系结构的安装中,系统或是典型地依赖冗余镜像磁盘,或者在磁盘子系统中用RAID技术,以保证在服务器或磁盘出错时,应用程序和数据的高可用性。

    3、全部共享

    我们还可以“共享一切”,也就是说让多个服务器在同一时间共享同一磁盘(见图4)。在这种方式中,所有与磁盘相连的服务器在正常运作时可在相同时刻共享磁盘存取通道。这种方式要求开发一个复杂的锁定管理软件,保证在一个时刻只有一个服务器在读写数据。“共享一切”方法的高可用性也典型地依赖磁盘镜像和RAID磁盘。

[责任编辑:程永来 cheng_yonglai@cnw.com.cn]