计算机簇中基于法定成员数关无响应服务器的装置和方法制造方法及图纸

技术编号:3514203 阅读:202 留言:0更新日期:2012-04-11 18:40
提供基于法定成员数的服务器关机机制的装置和方法,用于允许计算机簇中的管理者以保证没有响应的服务器不会再变得有响应的方式关掉没有响应的服务器。为了簇中的管理者关掉簇中的服务器,簇必须有法定成员数,这意味着簇中的大多数计算机必须是有响应的。如果簇具有法定成员数,并且如果管理者服务器不出现故障,则管理者使发生故障的服务器关机。如果管理者服务器出现故障,则新的管理者使簇中所有没有响应的服务器关机。如果关机成功,则发生故障的服务器上的资源可以故障转移到簇中没有关机的其他服务器。如果关机不成功,则停用该簇。

【技术实现步骤摘要】

本专利技术一般涉及数据处理,具体涉及连网计算机系统。
技术介绍
自从计算机时代开始以来,计算机系统就与人类努力的许多领域变得密不可分,包括工程设计、机器和处理控制以及信息存储和存取。在计算机的早期,诸如银行、企业和政府之类的公司会购买满足它们需求的单台计算机,但到了20世纪50年代早期,许多公司有了多台计算机,明显需要把数据从一台计算机转移到另一台计算机。这时开始发展计算机网络来允许计算机一起工作。连网计算机能够执行单个计算机无法执行的任务。此外,网络允许低成本的个人计算机系统连接到更大的系统,来执行这些低成本系统无法独自执行的任务。当今美国的多数公司有一个或多个计算机网络。网络的拓扑和大小可能根据网络所连接的计算机系统和系统管理员的设计而不同。实际上,公司拥有多个计算机网络是很平常的。许多大公司具有复杂的局域网(LAN)和广域网(WAN)的混合,将公司中的多数计算机有效地相互连接。马上将变得清楚的是,使用在网络上钩挂在一起的多个计算机,通过将任务的不同部分委托给网络上不同的计算机,可以用连网计算机来完成任务,这样,每个计算机可以并行处理它们各自的部分。在网络上共享计算的特定配置中,已经使用计算机“簇”(cluster)的概念来定义可以对任务的不同部分并行工作的、网络上的计算机系统的组。计算机系统的簇还被用于提供高可靠性的服务。通过允许将服务器上发生故障的服务转移到仍然运行着的服务器上,提供了高可靠性。这种类型的容错是许多公司所期望的,例如那些进行大量电子商务(e-commerce)的公司。为了提供高可靠性的服务,当簇中的一个服务器变得不能运行时,必须有一些适当的机制来检测。一种已知的用于确定簇中的所有服务器是否有效的方法是让每个服务器周期性地向其他服务器发出消息,指示发送消息的服务器仍然运行着并且正常运行。这些类型的消息在本领域中通常称为“心跳”(heartbeat),这是由于只要消息继续(即,只要心脏仍然在跳动),我们就知道服务器仍然运行着。在现有技术中,当服务器由于缺少心跳而变得不可见时,簇中被指定为管理者的服务器认为不再具有心跳的服务器发生了故障。结果,管理者必须将发生故障的服务器上的资源提供给簇中另一服务器。然而,要注意,没有心跳并不总是意味着服务器不运行了。例如,服务器可能由于删除(trashing)、交换(swapping)、网络溢出等变得临时没有响应,而不能提供心跳。如果服务器未给出心跳但仍然运行着,则有可能服务器可以再次变得有响应并且开始提供心跳。如果管理者已经认为该服务器发生了故障,并且已经将该服务器的服务提供在另一服务器上,那么我们现在将有两个试图提供相同服务的服务器。这产生了管理簇的问题。解决这个问题的一个方法是监视服务的数据以确保两个服务器不试图存取相同服务的同一数据。然而,这是复杂且低效的。当检测到服务器故障时,如果没有用来保证计算机簇中的服务不重复的机制,计算机行业将继续忍受管理计算机簇中发生故障的服务器的不足和低效的方法。
技术实现思路
一种提供基于法定成员数(quorum)的服务器关机机制的装置和方法,用于允许计算机簇中的管理者以保证没有响应的服务器不会再变得有响应的方式关掉没有响应的服务器。为了簇中的管理者关掉簇中的服务器,簇必须有法定成员数,意味着簇中的大多数计算机必须是有响应的。如果簇具有法定成员数,并且管理者服务器不出现故障,则管理者使发生故障的服务器关机。如果管理者服务器出现故障,则新的管理者使簇中所有没有响应的服务器关机。如果关机成功,则发生故障的服务器上的资源可以故障转移到簇中没有关机的其他服务器。如果关机不成功,则停用该簇。如附图所示,通过下面对本专利技术优选实施例更加具体的描述,本专利技术的前述和其他特征和优点将变得清楚。附图说明下面将结合附图描述本专利技术的优选实施例,其中相同的附图标记表示相同的元素,并且图1是根据优选实施例的计算机装置的方框图;图2是根据优选实施例的、图1所示的计算机系统的簇的方框图;图3是根据优选实施例的、用于加电(power up)簇中的服务器的方法的流程图;图4是服务器根据对共享的磁盘驱动器的锁定的丢失而自己关机的现有技术的方法;以及图5是根据优选实施例的、用于在故障转移(fail over)发生故障的服务器的资源之前关掉计算机簇中没有响应的服务器的方法的流程图。具体实施例方式根据本专利技术的优选实施例,计算机簇中的基于法定成员数的服务器关机机制保证在将资源故障转移到一个或多个其他有响应的服务器之前、关掉簇中没有响应的服务器。关机机制是基于法定成员数的,意味着只有包括簇中多数服务器的簇才能执行关机操作。通过关掉发生故障的服务器,优选实施例保证发生故障的系统不会再次变得有响应。现有技术提供了一种方法,用于簇中的服务器确定何时它变得不响应,以及知道它需要关机。图4中的方法400示出了使用共享磁盘驱动器的现有技术中的一个已知的方法中的步骤。当簇中的不同计算机系统共享磁盘驱动器时,典型地有一种对磁盘驱动器的锁定机制,用来保证在任何给定的时间只有一个服务器可以存取磁盘驱动器。使用某种成员资格算法而相互可见的服务器集将选出一个领导者,该领导者将获得对磁盘驱动器的锁定。如果由于通信故障导致该服务器集分成分区,则多数分区(majority partition)将获得对共享磁盘驱动器的锁定(步骤410)。使用投票系统确定多数分区。这将导致原来的领导者检测到对共享磁盘驱动器的锁定被盗取(步骤420为“是”),并且结果原来分区中的服务器将发生恐慌(panic)。这种恐慌可能导致服务器关机或者影响操作系统内核。由于不同的分区将了解到我们已经以异步的方式分区,因此对多数分区的检查是必要的。如果没有分区具有多数,则每个分区将使具有有效资源的任何服务器恐慌。尽管图4的方法400对于共享磁盘驱动器的服务器多少有点效果,但行业内的趋势是摆脱在簇中的服务器之间共享资源。此外,簇中的一些服务器可能不需要共享存储设备,这使得方法400不能应用到这些服务器。结果,需要一种方法知道服务器何时发生故障,并且采取适当的措施来保证当服务器没有响应时它是不运行的。现在参照图1,计算机系统100是可以作为根据本专利技术优选实施例的簇中的成员的、计算机系统的一种合适实现。计算机系统100是IBM eServeriSeries计算机系统。然而,本领域技术人员应当理解,本专利技术的机制和装置可等效地应用到其他计算机系统,而不管计算机系统是复杂的多用户计算装置、单个用户工作站还是嵌入式控制系统。如图1所示,计算机系统100包括一个或多个处理器110、主存储器120、海量存储接口130、显示器接口140、网络接口150和服务处理器接口180。这些系统组件通过利用系统总线160互连。海量存储接口130用于连接海量存储设备(例如直接存取存储设备155)与计算机系统100。直接存取存储设备155的一种特定类型是可读和可写的CD RW驱动器,其可以向/从CD RW 195写入/读取数据。服务处理器接口180最好连接计算机100与单独的服务处理器182。服务处理器182最好包括服务器关机机制184,用于允许连接到服务处理器的服务器单独地关机。服务处理器182典型地提供用于允许计算机系统(例如100)命令服务处本文档来自技高网
...

【技术保护点】
一种装置,包括:至少一个处理器;连接到所述至少一个处理器的存储器;驻留在存储器中并且由所述至少一个处理器执行的服务器进程;驻留在存储器中并且由所述至少一个处理器执行的簇引擎,该簇引擎处理该服务器进程和簇中的其他服务器之间的通信;和驻留在存储器中并且由所述至少一个处理器执行的、基于法定成员数的服务器关机机制,该基于法定成员数的服务器关机机制确定该服务器进程是否是包括簇中大多数服务器的服务器组中的一部分,如果是的话,则基于法定成员数的服务器关机机制发出命令来关掉簇中的至少一个其他服务器。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:克里斯托弗H琼斯威廉姆T纽波特格雷厄姆D沃利斯
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1