CN1770707B - 计算机簇中基于法定成员数关无响应服务器的装置和方法 - Google Patents

计算机簇中基于法定成员数关无响应服务器的装置和方法 Download PDF

Info

Publication number
CN1770707B
CN1770707B CN2005101201348A CN200510120134A CN1770707B CN 1770707 B CN1770707 B CN 1770707B CN 2005101201348 A CN2005101201348 A CN 2005101201348A CN 200510120134 A CN200510120134 A CN 200510120134A CN 1770707 B CN1770707 B CN 1770707B
Authority
CN
China
Prior art keywords
server
bunch
servers
response
manager
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2005101201348A
Other languages
English (en)
Other versions
CN1770707A (zh
Inventor
克里斯托弗·H·琼斯
威廉姆·T·纽波特
格雷厄姆·D·沃利斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1770707A publication Critical patent/CN1770707A/zh
Application granted granted Critical
Publication of CN1770707B publication Critical patent/CN1770707B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0681Configuration of triggering conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/955Object-oriented

Abstract

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

Description

计算机簇中基于法定成员数关无响应服务器的装置和方法
技术领域
本发明一般涉及数据处理,具体涉及连网计算机系统。
背景技术
自从计算机时代开始以来,计算机系统就与人类努力的许多领域变得密不可分,包括工程设计、机器和处理控制以及信息存储和存取。在计算机的早期,诸如银行、企业和政府之类的公司会购买满足它们需求的单台计算机,但到了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)命令服务处理器关掉簇中另一计算机系统的接口。此外,当簇中的服务器是进程(process)而不是物理的机箱或逻辑分区时,服务处理器180可以终止另一机器上的单个进程。
根据优选实施例的主存储器120包含数据121、操作系统122和簇引擎123。数据121表示用作从计算机系统100的任何程序的输入或输出的任何数据。操作系统122是行业内公知为OS/400的多任务操作系统。然而,本领域技术人员应当理解的是,本发明的宗旨和范围不限于任一操作系统。簇引擎123提供簇中的计算机之间的通信。簇引擎123包括支持簇通信的本领域中公知的许多特征和机制,但在图1中未示出。簇引擎123包括可通过多条通道的心跳机制124、成员资格改变机制125和基于法定成员数的服务器关机机制126。心跳机制124和成员资格改变机制125最好是本领域公知的机制。心跳机制124将周期性心跳消息发送给簇中的其他服务器,并且从簇中的其他服务器接收周期性心跳消息。
可以使用各种通道(例如网络、串行线或基于共享磁盘的心跳)来发送这些心跳。成员资格改变机制125监视簇中的成员资格,并且当簇中的一个服务器变得不响应(即,停止发送心跳消息)时产生成员资格改变消息给簇中的所有服务器。基于法定成员数的服务器关机机制126允许管理者服务器关掉没有响应的服务器,从而保证没有响应的服务器将来不会有响应。只有当簇具有法定成员数时基于法定成员数的服务器关机机制126才能关掉服务器,这将在下面参照图5更详细地讨论。
在图1的计算机系统100中,基于法定成员数的服务器关机机制126作为簇引擎123的一部分示出。然而,这仅仅是作为优选实施例的范围内的一个可能的实现示出的。也可以独立于簇引擎123实现基于法定成员数的服务器关机机制126。优选实施例明示地扩展到基于法定成员数的服务器关机机制126的任何适合的位置和实现。
计算机系统100使用众所周知的虚拟寻址机制,该机制允许计算机系统100的程序仿佛它们仅存取大的、单个存储实体那样操作,而不是存取多个较小的、诸如主存储器120和DASD设备155之类的存储实体。因此,尽管数据121、操作系统122和簇引擎123被示出成驻留在主存储器120中,但本领域技术人员应当认识到,在主存储器120中不必同时完全包含这些项。应当注意的是,这里使用术语“存储器”来泛指计算机系统100的虚拟存储器,并且可以包括连接到计算机系统100的其他计算机系统的虚拟存储器。
处理器110可以由一个或多个微处理器和/或集成电路构造而成。处理器110执行存储在主存储器120中的程序指令。主存储器120存储处理器110可以存取的程序和数据。当计算机系统100启动时,处理器110初始地执行构成操作系统122的程序指令。操作系统122是用来管理计算机系统100的资源的复杂程序。这些资源中的一些是处理器110、主存储器120、海量存储接口130、显示器接口140、网络接口150、系统总线160和服务处理器接口180。
尽管计算机系统100示出成仅包含单条系统总线,但本领域技术人员应当理解的是,可以使用具有多条总线的计算机系统来实践本发明。此外,用在优选实施例中的接口每个都包括用于从处理器110卸载(off-load)计算密集的处理的、独立的、完全编程的微处理器。然而,本领域技术人员应当理解的是,本发明等效地应用于仅仅使用I/O适配器执行类似功能的计算机系统。
显示器接口140用于将一个或多个显示器165直接连接到计算机系统100。这些显示器165可以是非智能(即,哑)的终端或者完全可编程的工作站,用于允许系统管理员和用户与计算机系统100通信。然而要注意的是,尽管提供显示器接口140来支持与一个或多个显示器165通信,但计算机系统100并不是必须需要显示器165,因为与用户和其他进程之间所有所需的交互可以通过网络接口150进行。
网络接口150用于将其他计算机系统和/或工作站(例如,图1中的175)通过网络170与计算机系统100连接。不论计算机系统100可以如何与其他计算机系统和/或工作站连接,不管网络连接170是使用当今的模拟和/或数字技术还是将来的某些网络技术制成的,都能等效地应用本发明。此外,可以使用许多不同的网络协议来实现网络。这些协议是允许计算机通过网络170通信的专门的计算机程序。TCP/IP(传输控制协议/因特网协议)是适合的网络协议的一个例子。
此时,要注意的是,尽管已经并且将继续在完全功能的计算机系统的上下文中描述本发明,但本领域技术人员应当理解的是,本发明能够作为程序产品以各种形式分发,并且等效地应用本发明,而与实际用来承载分发的特定类型的信号承载介质无关。适合的信号承载介质的例子包括:诸如软盘和CD RW(例如,图1的195)之类的可记录型介质和诸如数字和模拟通信链路之类的传输型介质。
参照图2,示出了具有五个计算机系统(或“节点”)的简单的簇200。要注意的是,簇200中的节点100最好是图1所示的计算机系统100。然而,本领域技术人员应当理解,可以在簇中相互连接不同类型的计算机系统。图2中的节点之间的连接表示逻辑连接,只要簇中的节点可以逻辑上相互通信,物理连接可以在优选实施例的范围内变化。每个节点100连接到服务处理器182。服务处理器182最好包括用于允许单独地关掉每个节点上的每个服务器的逻辑。当簇200中的一个节点变得不响应时,管理者服务器中的基于法定成员数的服务器关机系统126给予服务处理器182一个或多个命令来关掉簇200中的一个或多个服务器。服务处理器182响应于来自管理者服务器的命令,关掉簇中的一个或多个服务器。要注意的是,术语“关机”表示除去服务器的电力,但也可以表示使用任何适合的机制或方法仅仅将服务器置于非运行状态。例如,服务处理器182可以简单地声明(assert)并保持硬复位信号给需要关机的节点。只要声明了复位信号,节点就不能加电。如果服务器位于这样一个装置的逻辑分区中,该装置包括一个或多个仍然有响应的其他逻辑分区的簇中的其他服务器,则不能物理地关掉该装置,这是因为这也将复位有响应的服务器。然而,服务处理器可以声明信号或者提供命令来使需要关机的服务器关机。因此,在本说明书和权利要求书中使用的术语“关机”意味着无论如何使用当前已知的还是将来开发的技术,将服务器置于没有响应的状态直到管理员确定该服务器可以加电备份(power backup)为止。此外,这些术语还可以仅仅指重启服务器。服务处理器还可以精细地划分成颗粒(grain),如果簇的成员是进程而不是物理的机箱或逻辑分区,则服务器的关机可以仅仅是保证服务器进程终止的简单步骤。
参照图3,方法300是根据优选实施例的、用于初始地加电簇中的服务器的方法。首先,管理者服务器加电(步骤310)。之所以这样进行是因为当管理者服务器移动时,用于关掉机箱电源的算法可以复位正在启动的机箱电源。这使得簇的初始引导(bring up)更加平滑。然后,可以加电簇中的其余服务器(步骤320)。为了简单起见,在方法300中,我们假设簇存在单个管理者服务器,使用仲裁方案确定在任何具体时刻由哪个管理者负责执行管理任务。在多个管理者服务器的情况下,在步骤310中启动所有管理者服务器,随后在步骤320中启动不是管理者的服务器。
图5示出了根据优选实施例的、最好由图1中基于法定成员数的服务器关机机制126执行的一种特定方法500。当簇中的一个或多个服务器发生故障时方法500开始(步骤510)。如果簇没有法定成员数(步骤520为“否”),则结束方法500。如果簇包含簇中的多数服务器,则该簇具有法定成员数。这样,具有3个发生故障的服务器的7个服务器的簇仍然具有法定成员数,但如果4个服务器发生故障,则其余的簇不再具有法定成员数。如果可能的服务器数量是偶数,则一个服务器被赋予两票并作为决胜者(tiebreaker)。本领域技术人员可以确定其他技术来创建决胜者。如果簇具有法定成员数(步骤520为“是”),则方法500确定管理者服务器是否发生故障(步骤530)。步骤530不是简单地测试来看管理者是否曾经发生故障,而是更具体地测试来看管理者服务器是否是在步骤510中开始方法500的故障服务器之一。如果管理者服务器在步骤510中发生故障(步骤530为“是”),则簇中所有具有关键资源的、不可见的服务器关机(步骤540)。如果服务器已经停止发送心跳消息或者它已经被从该簇中分离出去,则称服务器是不可见(即,没有响应)的。如果没有管理者服务器发生故障(步骤530“否”),则方法500关掉在步骤S510中发生故障的、当前是任何法定成员数保护的资源的潜在所有者的服务器。该检查是重要的,因为它允许服务器进程干净地关闭,而结果不会关掉它。步骤540和550之间的差别仅在于此:如果管理者发生故障,我们不必知道哪个故障节点用作管理者,因此我们必须关掉簇中所有没有响应的服务器(步骤540)来避免管理者将来又运行。如果管理者未发生故障,则只需要关掉可能潜在地拥有法定成员数保护的资源的故障服务器(步骤550)。
如果关机操作成功(步骤560为“是”),则故障服务器上的资源可以故障转移到簇中仍有响应的服务器(步骤570)。将资源从不运行的服务器故障转移到簇中运行着的服务器的概念是本领域公知的,因此这里不需要进一步详细讨论。资源故障转移是使得这些相同的资源在簇中另一服务器上可用的处理。这正是一种使用多个服务器、当一个服务器发生故障时相互接管来提供高可靠性服务的特定方式的本质。如果关机操作不成功(步骤560“否”),则停用(disable)该簇(步骤580)。当基于法定成员数的服务器关机机制发送命令来关掉所选的服务器时,优选实施例依靠完成其关掉所选服务器的工作的服务处理器。如果服务处理器不能执行其关机功能,则意味着存在服务处理器自身的或者其他需要系统管理员干涉的问题。这样,当在步骤580中停用簇时,最好将问题通知给系统管理员,以便系统管理员可以采取适当措施来纠正该问题。
理解了图5的方法500,我们现在理解在图3中为什么在加电其他服务器之前首先加电管理者服务器。让我们假设在加电另一服务器A之后加电管理者服务器B。在这种情况下,当A加电时,它将认为自己是管理者。当服务器C加电时,它将检测到管理者服务器的改变,这将被解释为前一管理者发生故障,从而将关掉所有不可见的服务器。这些不可见的服务器可能处于加电过程中,并且在它们可以完成加电序列之前,每当管理者改变,它们都会被有效地中断(kill)。通过要求首先加电管理者服务器(步骤310)、随后加电其他服务器(步骤320),避免了这种不期望的行为。
本领域技术人员应当理解,在本发明的范围内各种变型是可能的。因此,尽管参照其优选实施例具体示出并描述了本发明,但本领域技术人员应当理解,可以在不背离本发明的宗旨和范围的前提下对其形式和细节进行这些和其他改变。例如,尽管示出了公知的服务处理器作为一种用于关掉服务器的可能的机制,但也可以使用优选实施例范围内的其他机制。例如,可以使用能够接收命令、并且关闭到配电盘(power strip)中的特定插头或整个配电盘的电力的可寻址配电盘。任何用于将服务器置于没有响应状态、直到采取一些干涉步骤为止的机制都落入这里使用的术语“服务处理器”的范围内。此外,这里所述的服务器可以位于逻辑分区内,这意味着关掉逻辑分区中的服务器仅仅表示关掉逻辑分区。

Claims (16)

1.一种用于处理簇中没有响应的服务器的系统,该系统包括:
确定簇中的任一服务器何时变得不响应的装置;
确定簇中的大多数服务器是否有响应的装置;以及
接收服务器故障的指示的装置;
确定簇的管理者是否发生故障的装置;
如果当接收到服务器故障的指示时,簇的管理者发生故障,则发出至少一个命令来关掉簇中所有没有响应的服务器的装置;以及
如果簇的管理者没有发生故障,则发出至少一个命令来关掉与接收到的服务器故障的指示相对应的服务器的装置。
2.如权利要求1所述的系统,还包括:使簇中的每个服务器将周期性消息发送给簇中的其他服务器来指示发送该周期性消息的服务器运行正常的装置。
3.如权利要求1所述的系统,还包括:使每个服务器从簇中的其他服务器接收指示簇中的其他服务器运行正常的周期性消息的装置。
4.如权利要求3所述的系统,还包括:当簇中所选的服务器由于未能发送指示所选服务器运行正常的周期性消息而变得不响应时,产生成员资格改变消息给簇中的所有服务器的装置。
5.如权利要求1所述的系统,还包括:当簇中的任何服务器变得不响应时,产生成员资格改变消息给簇中的所有服务器的装置。
6.如权利要求1所述的系统,还包括:
确定至少一个其他服务器的关机是否成功的装置:
如果所述至少一个其他服务器的关机成功,则允许将关机的所述至少一个其他服务器上的任何资源故障转移到至少一个有响应的服务器的装置;以及
如果所述至少一个其他服务器的关机不成功,则停用该簇的装置。
7.一种用于处理簇中没有响应的服务器的系统,该系统包括:
使簇中的每个服务器将周期性消息发送给簇中的其他服务器来指示发送该周期性消息的服务器运行正常的装置;
使簇中的每个服务器从簇中的其他服务器接收指示簇中的其他服务器运行正常的周期性消息的装置;
当簇中任何服务器变得不响应时,产生成员资格改变消息给簇中的所有服务器的装置;
确定簇中的大多数服务器是否有响应的装置;
接收服务器故障的指示的装置;
如果簇中的大多数服务器有响应,则执行以下步骤的装置:
确定服务器故障的指示是否指示簇的管理者发生故障;
如果簇的管理者发生故障,则发出至少一个命令来关掉簇中所有没有响应的服务器;和
如果簇的管理者未发生故障,则发出至少一个命令来关掉与接收到的服务器故障的指示对应的服务器。
8.如权利要求7所述的系统,还包括:
确定至少一个其他服务器的关机是否成功的装置;
如果所述至少一个其他服务器的关机成功,则允许将关机的所述至少一个其他服务器上的任何资源故障转移到至少一个有响应的服务器的装置;以及
如果所述至少一个其他服务器的关机不成功,则停用该簇的装置。
9.一种用于处理簇中没有响应的服务器的计算机实现方法,该方法包括步骤:
确定簇中的任一服务器何时变得不响应;
确定簇中的大多数服务器是否有响应;以及
接收服务器故障的指示;
确定簇的管理者是否发生故障;
如果当接收到服务器故障的指示时,簇的管理者发生故障,则发出至少一个命令来关掉簇中所有没有响应的服务器;以及
如果簇的管理者没有发生故障,则发出至少一个命令来关掉与接收到的服务器故障的指示相对应的服务器。
10.如权利要求9所述的方法,还包括步骤:簇中的每个服务器将周期性消息发送给簇中的其他服务器来指示发送该周期性消息的服务器运行正常。
11.如权利要求9所述的方法,还包括步骤:每个服务器从簇中的其他服务器接收指示簇中的其他服务器运行正常的周期性消息。
12.如权利要求11所述的方法,还包括步骤:当簇中所选的服务器由于未能发送指示所选服务器运行正常的周期性消息而变得不响应时,产生成员资格改变消息给簇中的所有服务器。
13.如权利要求9所述的方法,还包括步骤:当簇中的任何服务器变得不响应时,产生成员资格改变消息给簇中的所有服务器。
14.如权利要求9所述的方法,还包括步骤:
确定至少一个其他服务器的关机是否成功;
如果所述至少一个其他服务器的关机成功,则允许将关机的所述至少一个其他服务器上的任何资源故障转移到至少一个有响应的服务器;以及
如果所述至少一个其他服务器的关机不成功,则停用该簇。
15.一种用于处理簇中没有响应的服务器的计算机实现方法,该方法包括步骤:
簇中的每个服务器将周期性消息发送给簇中的其他服务器来指示发送该周期性消息的服务器运行正常;
簇中的每个服务器从簇中的其他服务器接收指示簇中的其他服务器运行正常的周期性消息;
当簇中任何服务器变得不响应时,产生成员资格改变消息给簇中的所有服务器;
确定簇中的大多数服务器是否有响应;
接收服务器故障的指示;
如果簇中的大多数服务器有响应,则执行步骤:
确定服务器故障的指示是否指示簇的管理者发生故障;
如果簇的管理者发生故障,则发出至少一个命令来关掉簇中所有没有响应的服务器;和
如果簇的管理者未发生故障,则发出至少一个命令来关掉与接收到的服务器故障的指示对应的服务器。
16.如权利要求15所述的方法,还包括步骤:
确定至少一个其他服务器的关机是否成功;
如果所述至少一个其他服务器的关机成功,则允许将关机的所述至少一个其他服务器上的任何资源故障转移到至少一个有响应的服务器;以及
如果所述至少一个其他服务器的关机不成功,则停用该簇。
CN2005101201348A 2004-11-04 2005-11-04 计算机簇中基于法定成员数关无响应服务器的装置和方法 Expired - Fee Related CN1770707B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/981,020 2004-11-04
US10/981,020 US20060100981A1 (en) 2004-11-04 2004-11-04 Apparatus and method for quorum-based power-down of unresponsive servers in a computer cluster

Publications (2)

Publication Number Publication Date
CN1770707A CN1770707A (zh) 2006-05-10
CN1770707B true CN1770707B (zh) 2010-08-11

Family

ID=36317533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005101201348A Expired - Fee Related CN1770707B (zh) 2004-11-04 2005-11-04 计算机簇中基于法定成员数关无响应服务器的装置和方法

Country Status (2)

Country Link
US (4) US20060100981A1 (zh)
CN (1) CN1770707B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10143142A1 (de) * 2001-09-04 2003-01-30 Bosch Gmbh Robert Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält
WO2006121990A2 (en) * 2005-05-06 2006-11-16 Marathon Technologies Corporation Fault tolerant computer system
JP4662548B2 (ja) * 2005-09-27 2011-03-30 株式会社日立製作所 スナップショット管理装置及び方法並びにストレージシステム
US20080034053A1 (en) * 2006-08-04 2008-02-07 Apple Computer, Inc. Mail Server Clustering
US7673169B1 (en) * 2007-05-09 2010-03-02 Symantec Corporation Techniques for implementing an adaptive data access error handling policy
US8201016B2 (en) * 2007-06-28 2012-06-12 Alcatel Lucent Heartbeat distribution that facilitates recovery in the event of a server failure during a user dialog
JP5377898B2 (ja) * 2008-07-10 2013-12-25 株式会社日立製作所 クラスタリングを構成する計算機システムの系切替方法、及びシステム
US20100318236A1 (en) * 2009-06-11 2010-12-16 Kilborn John C Management of the provisioning of energy for a workstation
US8671218B2 (en) * 2009-06-16 2014-03-11 Oracle America, Inc. Method and system for a weak membership tie-break
US8108733B2 (en) * 2010-05-12 2012-01-31 International Business Machines Corporation Monitoring distributed software health and membership in a compute cluster
US9069571B2 (en) 2010-12-01 2015-06-30 International Business Machines Corporation Propagation of unique device names in a cluster system
US8943082B2 (en) 2010-12-01 2015-01-27 International Business Machines Corporation Self-assignment of node identifier in a cluster system
US8788465B2 (en) 2010-12-01 2014-07-22 International Business Machines Corporation Notification of configuration updates in a cluster system
US9203900B2 (en) * 2011-09-23 2015-12-01 Netapp, Inc. Storage area network attached clustered storage system
US8683170B1 (en) 2011-09-23 2014-03-25 Netapp, Inc. Consistent distributed storage communication protocol semantics in a clustered storage system
CN102546233A (zh) * 2011-11-28 2012-07-04 中标软件有限公司 一种高可用集群中串口心跳的实现方法
US9183148B2 (en) 2013-12-12 2015-11-10 International Business Machines Corporation Efficient distributed cache consistency
CN104506392B (zh) * 2015-01-04 2018-10-30 华为技术有限公司 一种宕机检测方法及设备
US10049011B2 (en) 2016-05-03 2018-08-14 International Business Machines Corporation Continuing operation of a quorum based system after failures

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6363495B1 (en) * 1999-01-19 2002-03-26 International Business Machines Corporation Method and apparatus for partition resolution in clustered computer systems

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081812A (en) * 1998-02-06 2000-06-27 Ncr Corporation Identifying at-risk components in systems with redundant components
US6401120B1 (en) * 1999-03-26 2002-06-04 Microsoft Corporation Method and system for consistent cluster operational data in a server cluster using a quorum of replicas
US7774469B2 (en) * 1999-03-26 2010-08-10 Massa Michael T Consistent cluster operational data in a server cluster using a quorum of replicas
US6587950B1 (en) * 1999-12-16 2003-07-01 Intel Corporation Cluster power management technique
US6944662B2 (en) * 2000-08-04 2005-09-13 Vinestone Corporation System and methods providing automatic distributed data retrieval, analysis and reporting services
US6782416B2 (en) * 2001-01-12 2004-08-24 Hewlett-Packard Development Company, L.P. Distributed and geographically dispersed quorum resource disks
US6918051B2 (en) * 2001-04-06 2005-07-12 International Business Machines Corporation Node shutdown in clustered computer system
US6950833B2 (en) * 2001-06-05 2005-09-27 Silicon Graphics, Inc. Clustered filesystem
US7016946B2 (en) * 2001-07-05 2006-03-21 Sun Microsystems, Inc. Method and system for establishing a quorum for a geographically distributed cluster of computers
US7113980B2 (en) * 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
US6925504B1 (en) * 2002-01-31 2005-08-02 Cisco Technology, Inc. Methods and apparatus for obtaining content from a content-originating device within a computerized network
US7024580B2 (en) * 2002-11-15 2006-04-04 Microsoft Corporation Markov model of availability for clustered systems
US7444538B2 (en) * 2004-09-21 2008-10-28 International Business Machines Corporation Fail-over cluster with load-balancing capability
US7870230B2 (en) * 2005-07-15 2011-01-11 International Business Machines Corporation Policy-based cluster quorum determination

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6363495B1 (en) * 1999-01-19 2002-03-26 International Business Machines Corporation Method and apparatus for partition resolution in clustered computer systems

Also Published As

Publication number Publication date
US20080301272A1 (en) 2008-12-04
US7908251B2 (en) 2011-03-15
US20080301490A1 (en) 2008-12-04
US20060100981A1 (en) 2006-05-11
US7716222B2 (en) 2010-05-11
CN1770707A (zh) 2006-05-10
US20080301491A1 (en) 2008-12-04

Similar Documents

Publication Publication Date Title
CN1770707B (zh) 计算机簇中基于法定成员数关无响应服务器的装置和方法
CN109471770B (zh) 一种系统管理方法和装置
US8745441B2 (en) Processor replacement
JP5102901B2 (ja) データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム
US6931568B2 (en) Fail-over control in a computer system having redundant service processors
US20070220301A1 (en) Remote access control management module
US20080201603A1 (en) Correlating hardware devices between local operating system and global management entity
US7137020B2 (en) Method and apparatus for disabling defective components in a computer system
CN109656742B (zh) 一种节点异常处理方法、装置及存储介质
CN108369544A (zh) 计算系统中延期的服务器恢复
US7499987B2 (en) Deterministically electing an active node
US8015432B1 (en) Method and apparatus for providing computer failover to a virtualized environment
US20180082066A1 (en) Secure data erasure in hyperscale computing systems
US8499080B2 (en) Cluster control apparatus, control system, control method, and control program
CN111949320A (zh) 提供系统数据的方法、系统及服务器
US6356985B1 (en) Computer in multi-cluster system
US8533528B2 (en) Fault tolerant power sequencer
US20170249248A1 (en) Data backup
CN111176749B (zh) 一种高性能计算集群关闭方法与装置
CN114328032A (zh) 基于大数据双活的容灾切换处理方法、装置和计算机设备
US20210406064A1 (en) Systems and methods for asynchronous job scheduling among a plurality of managed information handling systems
CN114189429A (zh) 一种服务器集群故障的监测系统、方法、装置及介质
CN115686951A (zh) 一种数据库服务器的故障处理方法和装置
US11947431B1 (en) Replication data facility failure detection and failover automation
CN107704399A (zh) 一种存储数据的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100811

Termination date: 20181104