CN1264092C - 利用网络介质链接状态功能来提高计算机集群系统可用性的方法 - Google Patents

利用网络介质链接状态功能来提高计算机集群系统可用性的方法 Download PDF

Info

Publication number
CN1264092C
CN1264092C CNB018211305A CN01821130A CN1264092C CN 1264092 C CN1264092 C CN 1264092C CN B018211305 A CNB018211305 A CN B018211305A CN 01821130 A CN01821130 A CN 01821130A CN 1264092 C CN1264092 C CN 1264092C
Authority
CN
China
Prior art keywords
server
communication
communication link
network
computer cluster
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 - Lifetime
Application number
CNB018211305A
Other languages
English (en)
Other versions
CN1483163A (zh
Inventor
丹尼尔·M·普里塞
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.)
EMC Inc
Original Assignee
EMC Inc
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 EMC Inc filed Critical EMC Inc
Publication of CN1483163A publication Critical patent/CN1483163A/zh
Application granted granted Critical
Publication of CN1264092C publication Critical patent/CN1264092C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/959Network
    • 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/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明用于计算机集群系统,本发明是一种当系统中一台服务器(220)运行失败时,用于增强另一台服务器(210)的可用性的方法。在集群系统中,每台服务器(210,220)都有一个附属的大容量存储设备(214,224),并且每台服务器(210,220)都可以处理来自集群系统中任何网络设备(230,240,250)的请求。在服务器(210,220)的大容量存储设备(214,224)中的数据互为镜像,这样每台服务器的大容量存储设备中都保存有整个集群系统数据的一个完整备份。建立数据镜像的过程通过服务器间的一个专用链路(202)实现,这样可以减少集群系统中其他部分发生拥塞的情况。当第一台服务器(210)检测到发生来自第二台服务器(220)的通讯数据丢失的情况时,第一台服务器(210)判断是否是由于专用链路(202)的故障导致了通讯数据丢失。如果专用链路(202)运行失败,第一台服务器停止运行,以避免将数据写入其相连的大容量存储设备(214),因为这些数据由于通讯的丢失将不能被建立镜像。如果专用链路(202)可以正常运行,第一台服务器(210)继续运行。在上述两种情况下,因为每台服务器(210,220)都可以处理来自任何网络设备(230,240,250)的请求,并且每台服务器都有整个网络数据的完整拷贝,因此,即使一台服务器被关闭,整个集群系统仍然可以正常使用。

Description

利用网络介质链接状态功能来提高计算机集群系统可用性的方法
技术领域
本发明涉及计算机集群系统,特别涉及一种在集群系统内的服务器发生通讯丢失的情况下,提高计算机集群系统资源和数据的可用性和可靠性的方法。
背景技术
一个典型的计算机集群包含两个或更多服务器以及一个或更多的网络设备,它们通过计算机网络互相之间进行通讯。计算机集群正常运行时,服务器为网络设备提供计算机资源以及存储和检索数据的场所。在现有的计算机集群配置中,计算机集群数据存储在共享的计算机磁盘上,并可被任何网络设备访问。
一个典型的计算机集群如图1所示,其中两台网络服务器110和120通过计算机网络与网络设备130,140和150通讯。网络服务器110和网络服务器120各自通过通讯线路105和106与共享磁盘104通讯。
在使用计算机集群时,通常希望它能够提供计算机集群资源的持续可用性,特别是当计算机集群支持许多用户工作站,个人电脑,或其他网络客户端设备时。通常还希望它能够维持在计算机集群系统中各个不同文件服务器之间的数据一致性,以及维持这些数据对客户端设备的持续可用性。若想达到计算机集群资源和数据的可靠可用性,必须保证计算机集群可以承受软硬件问题或故障。采用冗余的计算机和大容量存储设备通常可以做到这些,这样在发生故障时,一个备份计算机或磁盘驱动器就可以马上接管系统工作。
如图1所示,使用共享磁盘配置来实现计算机集群资源和数据的可靠可用性的现有技术,包含法定数额的概念,它指的是一种状态,在这种状态下,一台网络服务器将控制网络设备的指定最小数目;这样在其他任何网络服务器提供的服务发生中断时,持有法定数额的网络服务器拥有控制计算机集群资源和数据可用性的权利。一台特定的网络服务器获取法定数额的方法可以被描述成每台服务器和其他网络设备进行“投票表决”的过程。例如:在如图1所示的有两台服务器的集群配置下,网络服务器110和网络服务器120各投一票以决定哪一台网络服务器可拥有法定数额。如果没有一台网络服务器可以获得大多数票,那么共享磁盘104将投一票,使得两台网络服务器110和120其中的一台可以获得大多数票,其结果是两服务器之一以一种可被了解和接受的方式取得法定数额。在任何时间,只能有一台服务器持有法定数额,这样保证在网络服务器110和120之间的通讯丢失的情况下,只有一台网络服务器可以获取对整个网络的完全控制。
在发生中断事件时,试图使用法定数额以恢复网络服务器可用性的过程描述如下:服务器110可以检测到与服务器120的通讯丢失,通常有两个原因。第一个原因是基于一种事件,例如服务器120的一次系统崩溃,这样服务器120将不能为网络客户提供网络资源。第二个原因是由于两台服务器间网络通讯基础结构中断,此时服务器120仍然可以在网络中正常运行。如果服务器110不能与服务器120进行通讯,它的第一步操作就是判断自己是否持有法定数额。如果服务器110判断自己没有法定数额,那么它将向共享磁盘104发送一个命令请求其投票,以获得法定数额。如果共享磁盘104不投票给服务器110,那么服务器110将自行关闭以避免脱离服务器120的单独操作。在这种情况下,服务器110假定服务器120持有法定数额,并且服务器120继续控制整个计算机集群。然而,如果共享磁盘104投票给网络服务器110,该服务器将持有法定数额并取得对整个计算机集群的控制权,并继续工作,此时假定网络服务器120已经发生故障。
在网络中发生故障时,使用法定数额以确保多个服务器中的一个可以继续提供网络资源的方法通常是令人满意的,但是共享磁盘的使用却让整个网络和磁盘上的数据面临丢失的危险。例如,如果不是网络服务器110和120其中之一,而是共享磁盘104发生故障,所有服务器都将不能工作,并且数据有可能永久丢失。此外,在使用共享磁盘配置的计算机集群中,服务器通常都放置在彼此很近的距离。这样,一旦发生自然灾害或电源故障,整个计算机集群都有崩溃的可能。
发明内容
本发明涉及一种在计算机集群系统中,可提高计算机集群资源和数据的可用性和可靠性的方法。两台服务器各自有一个与之相连的磁盘,并通过计算机网络进行通讯。每台服务器都可以为计算机网络中的所有网络设备提供计算机集群资源,并可访问整个计算机集群中的数据。在发生通讯丢失的情况下,每台服务器都具有判断通讯丢失原因和决定自己是否继续运行的能力。
当一台网络服务器检测到与另一台网络服务器的通讯发生中断的情况时,通讯丢失的原因可以归结为通讯链路的故障或是另一台网络服务器的故障。由于每台网络服务器都拥有整个网络数据的完整镜像备份,在发生通讯丢失后,每台网络服务器上都会执行一系列动作,以确保网络服务器不会发生脱离另一台服务器而单独运行的情况。如果不执行这一系列动作,多台网络服务器会脱离其他服务器而各自单独运行,从而造成所不希望的“大脑分裂(split brain)”状况,网络服务器之间数据镜像的建立将不能正常执行,并因此导致潜在的数据损坏危险。
当计算机集群开始工作时,一台服务器被指派可以控制集群的资源和数据,并被赋予“生存权”,使其在通讯链路发生故障并导致网络服务器之间的通讯丢失时可以继续对集群系统实施控制。为便于表达,在正常运行的情况下持有“生存权”的服务器,于此被指定为“主”服务器;在通常运转的情况下不持有“生存权”的服务器被指定为“从”服务器。要指出,此处的“主”和“从”不意味服务器之间彼此相对的重要性,同样也不是表明哪一个服务器主要负责为网络设备提供网络资源。在正常运行情况下,从提供网络资源的角度,主服务器和从服务器可以互换。在网络服务器之间的通讯发生丢失时,“生存权”作为一种缺省的协议,以确保“大脑分裂”的情况不会发生。
当主服务器检测到通讯丢失时,它可以继续工作,因为它能够假定另外的从服务器发生了故障,不能正常运转。当从服务器检测到通讯丢失时,它所采取的一系列动作就比较复杂。它并不是简单地中止运行,而是进行推断通讯丢失是主服务器故障的结果,还是由于通讯链路的故障所导致的。如果通讯链路可以正常运转,从服务器就断定主服务器发生了故障。此种情况下,从服务器继续正常工作,并且不会造成发生“大脑分裂”问题的风险。然而,如果从服务器判断通讯链路出现故障,它就假定主服务器仍然能够正常运行。针对此种假设,从服务器停止工作以避免造成“大脑分裂”的情况。
本发明的一个重要优点就是:最初不持有“生存权”的从服务器,在能断定与主服务器之间的通讯丢失不是由于通讯链路故障造成的情况下,仍然可以继续工作。由于缺乏对通讯链路的分析,如果发生与主服务器通讯丢失的情况,要求从服务器能够自动关闭,以避免发生“大脑分裂”的问题。需要指明的是,在一个每台网络服务器都拥有专用磁盘镜像或大容量存储设备的计算机集群中,针对服务器间发生的通讯丢失情况,使用本发明中上述的方法可以增强计算机集群系统的可靠性和可用性;其原因在于:当主服务器出现故障时,发生“大脑分裂”问题的可能性并不强制性要求从服务器必须离线。
在每台网络服务器都拥有专用磁盘镜像的计算机集群中,常规的“法定数额”规则的应用通常并不理想。例如,如果拥有“法定数额”的网络服务器发生故障,就将不会有共享磁盘可以投票,以将“法定数额”重新分配给另一个网络服务器。其结果是,针对此类计算机集群,如果拥有“法定数额”的网络服务器发生故障,直接使用常规的“法定数额”规则将导致不持有“法定数额”的网络服务器不必要的关闭。
在分离的磁盘镜像中保存数据的方式显著减少了丢失网络数据的可能,但这也造成了一个经常面临的问题:在计算机集群中需要有一个单独的磁盘在各网络服务器之间共享。由此,依照本发明,服务器不需要共享一个单独的磁盘,服务器的分布就不会受到磁盘驱动器之间连线长度的限制。因此,各网络服务器及与其相连的磁盘镜像互相之间就可以远距离分布。这样就减少了突然发生的自然灾害或电源故障有可能造成整个计算机集群瘫痪的可能。
本发明其他特性和优点将在下文中阐述,根据叙述其中部分内容将会十分明显,或通过对本发明的实践,也可掌握部分内容。采用所附权利要求中的工具和手段,可了解掌握本发明的特性和优势。通过下面的叙述和所附权利要求,本发明的特性将充分表露出来,或可通过如下文所述的对本发明的实践,从而为人所知。
附图简述
为了解本发明上述以及其他优点特性,附图中举例说明了一些明确的实施例。需要说明,这些附图仅展示了本发明的一些典型的实施例,不能因此认为本发明仅限于这些范围,本发明其他特征与细节也将描述在下列附图中:
图1为常规的计算机集群结构图,其中服务器共享一个磁盘。
图2为根据本发明提供合适的运行环境的计算机集群的示意图。
图3是在一台服务器上不同软件模块之间的通讯过程,使得服务器可以决定是否采取“生存权”。
图4是服务器在检测到与其他服务器发生通讯丢失的情况下,如何决定是否采取“生存权”的方法流程图
图5是在计算机集群中,针对其他服务器的故障,服务器如何持有“生存权”的方法流程图。
发明详述
本发明涉及一种提高计算机集群系统中资源和数据的可用性和可靠性的方法。计算机集群至少包含两个服务器,每台服务器都有一个专用的大容量存储设备。服务器互相之间以及与其他网络设备之间通过计算机网络进行通讯。数据在每台服务器的磁盘之间建立镜像,如果一台服务器发生故障,网络设备仍然可以访问可信赖的数据。在服务器之间发生通讯丢失时,通讯模块在每台服务器上运作以决定本服务器是否应当自行关闭。
短语“生存权”是指,在服务器间的通讯链路发生故障从而导致服务器间的通讯丢失的情况下,一台服务器是否具有继续运行的权利。例如:如果检测到两个服务器间发生通讯丢失,且其原因是由于通讯链路的物理中断,持有“生存权”的服务器可以继续运行,而不持有“生存权”的服务器将自行关闭。如前所述,“主”服务器就是在服务器间发生通讯丢失时持有“生存权”的服务器;相反,“次”服务器就是不持有“生存权”的服务器。
短语“大脑分裂”是指,在计算机集群中,具有专用大容量存储设备的每台网络服务器出现互相之间没有建立数据镜像,独立工作这种不被希望出现的情况。本发明技术之前,当网络服务器之间发生通讯丢失时,每台服务器都假定其他服务器出现故障,并维持自己的正常运行,这时就会发生“大脑分裂”的问题。当发生“大脑分裂”的问题时,每台服务器上的镜像数据不再互相匹配并因此被破坏。考虑上例,由于通讯链路的物理中断而导致服务器间通讯丢失,如果服务器不能判断原因是由于物理损坏,每台服务器都将继续工作,并将其自己的数据写入到与其相连的大容量存储设备中。然而,由于通讯链路发生损坏,数据将不能建立镜像从而导致大容量存储设备上的数据不能维持其一致性。当通讯丢失是由于主服务器的故障造成时,通过令从服务器继续工作,本发明便可防止计算机集群工作在“大脑分裂”的模式下。
在本发明范围内的实施例同样包括已保存有计算机可执行的指令或数据结构的计算机可读介质。这些计算机可读介质可以是任何能够被常用的计算机,或是有任何特殊用途的计算机访问的介质。作为示例,但不限于这些示例,这些计算机可读介质可以包括RAM,ROM,EEPROM,CD-ROM等,或其他光学磁盘存储设备,磁盘存储器备或其他磁存储设备,或是其他任何介质,这些介质可以携带或存储由计算机可执行指令或由数据结构组成的程序代码,并且这些代码可被常用的或者是有特殊用途的计算机所访问。当信息通过网络或另一种通讯连接方式(可以是有线方式,无线方式,或是有线与无线结合的方式)被传递或提供给计算机时,计算机可能将通讯连接视为计算机可读介质。上述连接方式的组合也包括在计算机可读介质的范围内。计算机可执行指令包括,例如,一些指令和数据,它们可让常用计算机或是具有特殊用途的计算机,或具有特殊用途的处理设备执行一个或一组特定的功能。
图2和下面的论述将提供关于本发明实现的合适的计算机环境的简要描述。尽管不是必需的,本发明将以计算机可执行指令的常用形式进行叙述,例如可由网络环境中的计算机执行的程序模块形式。通常,程序模块包括子程序、程序、对象、组件、数据结构等等,它们可以组合完成特定的工作或是实现对特定抽象数据类型的操作。计算机可执行指令、相关数据结构和程序模块表示了用于执行此处说明的方法的步骤的程序代码实例。这些可执行指令或相关数据结构的特定序列表示了用于实现这些步骤中描述的功能的对应动作的实例。
本领域一般技术人员将发现本发明可以实际用在多种计算机系统配置的网络计算环境中,包括个人电脑,手持设备,多处理器系统,基于微处理器或可编程的消费电子产品,网络PC,小型机,大型机,以及类似环境。本发明同样可以用在分布式计算环境中,在这种环境下,任务由通过通讯网络连接(可以是有线方式,无线方式,或是有线与无线联合的方式)在一起的本地和远程处理设备完成。在分布式计算环境中,程序模块可以同时驻留在本地和远程的内存存储设备中。
图2描述了采用本发明方法的一种具有代表性的计算机集群配置。计算机集群包括两台服务器,分别标为服务器A 210和服务器B220。虽然在图2中只描述了两台服务器,此处说明的基本原则同样适用于具有多于两台服务器的计算机集群。服务器A 210和服务器B220都运行一个文件操作系统,可以是Microsoft Windows NT,其他多种操作系统同样可被本发明使用。服务器A 210包含通过网络接口211与网络201相连的计算机212,和通过大容量存储控制器213与之相连的大容量存储设备214。同样,服务器B 220包含通过网络接口221与网络201相连的计算机222,和通过大容量存储控制器223与之相连的大容量存储设备224。网络201可以是以太网,令牌网,增强资源计算机网络(ARCNET),或其他网络,利用它使得服务器A 210和服务器B 220可以与网络设备230,240和250进行通讯。
然而服务器A 210和服务器B 220的组成不必完全相同,在许多实际情况中也是如此。其他场合中,服务器A 210和服务器B 220可能有不同的处理器类型,不同的处理器运行速度,不同的大容量存储设备容量或者任何其他类型的硬件差异。必须具备的条件就是服务器A 210和服务器B 220必须能够运行文件操作系统,并且一台服务器上的驱动器不能过大到以至在另一台服务器上将不能建立其镜像。
如图2所示的实施例中,专用链路202建立起了服务器A 210和服务器B 220之间的通讯联系。计算机212通过通讯附加装置215与专用链路202相连,计算机222通过通讯附加装置225与专用链路202相连。专用链路202可以通过本领域一般技术人员所熟知的多种技术实现。举一种实施例,专用链路202可以是使用以太网协议的一条链路。其他方法包括使用计算机212和222的串行通讯端口进行高速连接,亦可使用计算机212和222的并行接口。依照另外的实现方式,可以不使用专用链路202和通讯附加装置215和225,服务器A 210和服务器B 220之间的通讯由一个虚拟回路或由网络201搭载的信道所建立。用于实现专用链路202的特定硬件类型并不重要,提供的数据传输速率与大容量存储设备214和224的数据传输速率具有可比性,因此系统运行效率不受限制。
网络设备230,240和250分别通过网络接口231,241和251与网络201相连接。它们就是使用计算机系统210与220的资源来访问存储在大容量存储设备214和224上面的数据的客户端设备。网络设备230,240和250可以是能够通过网络201进行通讯的任何设备。
在计算机集群运行过程中,服务器A 210和服务器B 220可为任何网络设备230,240和250提供资源。此外,服务器A 210和服务器B 220都可以感知到专用链路202完整性上的错误。当一个网络设备与服务器A 210进行通讯,对大容量存储设备214上的数据进行添加,修改或删除,所做的更新通过专用链路202在大容量存储设备224上建立镜像。同样地,一个网络设备与服务器B 220进行通讯,对大容量存储设备224上的数据进行添加,修改或删除,所做的更新也通过专用链路202在大容量存储设备214上建立镜像。由于在图2所示的实施例中,数据通过专用链路202建立镜像,它不会对网络201产生拥塞。
建立镜像的结果就是在大容量存储设备214和224中都包含有所有计算机集群数据完全一致的拷贝。因此,如果一个大容量存储设备发生故障,计算机集群仍然可以继续可靠运行。如果大容量存储设备214发生故障,导致网络设备230,240和250不能访问其上的数据,它们就可以访问大容量存储设备224上的数据,反之亦然。由于服务器A 210和服务器B 220没有共享同一个大容量存储设备,因此不会发生一处数据毁坏导致所有数据毁坏的情况,并且它们彼此之间可以相隔很远。服务器A 210和服务器B 220之间的远距离分布减少了由于电源断电或自然灾害导致所有的大容量存储设备中的数据同时都不能访问的风险。
当服务器A 210和服务器B 220进行初始化配置时,其中一台服务器由操作员赋予“生存权”。本实例中的“生存权”由一个软件标志表示,并且可以被设置为“开”或“关”。通常,在计算机集群进行正常运转时,“生存权”标志在一台服务器上并且只能在一台服务器上设置为“开”。当完成初始化配置后,在下文将要详细描述的某些网络情况下,服务器可以将其“生存权”标志由“关”变为“开”的位置。
如果服务器间的通讯发生丢失,“生存权”用来决定哪一台服务器可以继续对集群的操作,以及哪一台服务器必须中止对集群的操作。服务器A 210和服务器B 220之间发生通讯丢失,主要有两种情况。第一种情况发生在由于服务器发生软件故障或掉电,导致一台服务器终止了通过专用链路202进行的通讯。第二种情况发生在专用链路202的完整性发生故障时。
如上所述,服务器A 210和服务器B 220可以区分两种不同类型的通讯失败的情况。在下面的论述中,假定服务器B 220是主服务器,即在计算机集群正常运作的初始化时期,服务器B 220持有“生存权”;此时,服务器A 210为从服务器,开始并不持有“生存权”。如果主服务器B 220检测到与服务器A 210发生通讯丢失,由于持有“生存权”,服务器B 220继续运行,并且不关心通讯丢失的原因是由于专用链路202的故障,还是服务器A 210的故障。
当从服务器A 210检测到与服务器B 220发生通讯丢失,服务器A 210停止操作,除非它确定对它来说承担“生存权”是安全的。如果服务器A 210确定通讯丢失的原因是在通讯链路202上的故障,服务器A 210就假定主服务器B 220仍然可以继续工作。因此,由于服务器A 210没有“生存权”,它便终止动作,以避免发生“大脑分裂”的问题。然而,如果从服务器A 210确定通讯链路202没有故障,它便假定是由于主服务器B 220的故障或是其不再能够提供网络服务导致发生通讯丢失。在这种情况下,从服务器A 210为自己赋予“生存权”并继续工作,不必担心在集群中发生“大脑分裂”的问题。在后种情况中,服务器A 210可以处理来自网络设备230,240和250的资源请求,否则,这些请求将被提交到发生故障的服务器B 220处。在前述的任何情况中,服务器间发生通讯丢失后,只能有一台服务器可以继续运行,以避免发生“大脑分裂”之问题。
图3展示了在依照本发明的一种实施例所实现的具有代表性的计算机系统之中,各软件模块之间的交互作用。图3所示的系统和结构提供了一个实例,说明服务器A 210在检测到与其他服务器之间的通讯丢失后,如何决定自己是否应该获得“生存权”并继续工作。在计算机集群初始化操作时,“生存权”标志306可以由系统管理员或是自动进行初始设置。如上所述,当检测到与其他服务器发生通讯丢失时,持有“生存权”标志且设置为“开”的服务器继续工作,并且不关心原因是在专用链路202完整性上的错误,或是由于其他服务器故障所导致。此处本发明所概括性描述的内容延伸到主服务器,其“生存权”标志306初始化时设置为“开”位置,在发生通讯丢失后,它仍然可以继续工作。下面将要详细论述图3中关于从服务器的内容,此时从服务器丢失与其他服务器的通讯,并且其“生存权”标志306设置为“关”位置。
如图3所示,当服务器A 210在计算机集群中工作时,它在计算机集群中各组件间接收和发送数据。数据308表示由服务器B 220通过专用链路202发送到服务器A 210的心跳信号。此处使用的短语“心跳信号”可以是以任何形式存在的任何信号或数据,并可由服务器用来确定另一台服务器是否正常工作。通讯附加装置驱动程序301是用来控制通讯附加装置215和接收数据308的软件模块。同样,数据309表示传送在网络201上的数据。网络接口驱动程序302控制网络接口211并接收数据309。
在“生存权”标志306被置为“关”位置时,当可以断定与服务器B 220的通讯发生丢失时,作为响应,服务器A 210可以使用数据308和用来处理分析数据308和专用链路210的模块来决定是否应当继续工作。服务器A 210包含一个服务器通讯探测器303,可以用来监控与服务器B 220的通讯,以判断是否按预期接收到了数据308。连接状态探测器304可为任何硬件组件,软件组件,或软、硬件的结合;当与服务器B 220的通讯丢失时,可以用来探测专用链路202是否出现故障。在许多情况下,服务器通讯探测器303和连接状态探测器304可以是分离的模块,虽然二者的功能可以合并为一个结构。
在本例中,通讯探测器303和连接状态探测器304监控数据308和专用链路202的完整性。然而,在另外一个实施例中,与服务器B 220的通讯是使用网络201和网络接口驱动程序302来传递数据,而不是使用专用链路202;服务器通讯探测器303和连接状态探测器304监控数据309和网络201的完整性。
在上述任意一种情形中,服务器通讯探测器303判断是否检测到了服务器B 220的心跳信号。当发现来自服务器B 220的心跳信号丢失时,连接状态探测器分析传送心跳信号的通讯链路(例如:专用链接202或网络201)的完整性。当发生与服务器B 220的通讯丢失时,服务器通讯探测器303和连接状态探测器304向负责处理通讯丢失的管理器305通报该现象,并告知其是否有可能是传送心跳信号的通讯链路发生故障。接下来,负责处理通讯丢失的管理器305根据“生存权”306的状态和来自服务器通讯探测器303和连接状态探测器304的信息,决定是否关闭服务器A 210,或允许其继续工作。
总结负责处理通讯丢失的管理器305采取的规则,可以得到:如果“生存权”标志306标明服务器A 210持有“生存权”,那么服务器A 210就可以继续工作。然而,假设与服务器B 220的通讯丢失时,服务器A 210是从服务器,且根据“生存权”标志306,服务器A 210不持有“生存权”;那么,如果可以断定是通讯链路的故障导致通讯丢失,负责处理通讯丢失的管理器305就使服务器A 210停止工作。如果通讯链路的故障导致通讯丢失,那么就假定服务器B 220可以正常运转,在这种情况下,使服务器A 210停止工作可以避免整个计算机集群工作在“大脑分裂”模式下的可能。
相反,如果负责处理通讯丢失的管理器305断定服务器A 210与服务器B 220之间发生通讯丢失,并且通讯链路没有发生故障,负责处理通讯丢失的管理器305就推断服务器B 220出现故障。假定服务器A 210是从服务器,接下来,“生存权”标志306就被设定为“开”的位置,表明服务器A 210拥有了“生存权”。在此种状况下,服务器A 210通过满足以前对服务器B 220发出的服务请求,对计算机集群进行“重组”。通过发送命令给网络接口驱动程序302,使网络接口驱动程序302对以前网络设备在网络201上发送到服务器B 220的请求进行服务,服务器A 210达到了“重组”的目的。
图4为下列步骤的流程图;在计算机集群中,当主服务器(亦即初始化时持有“生存权”的服务器)发生故障时,为提高网络资源可用性,依照本发明的一个实施例,在从服务器(亦即现在还没有“生存权”的服务器)上会采取一系列步骤。需要注意的是,当与从服务器发生通讯丢失时,主服务器不需要采取图4中的一系列步骤;因为主服务器持有“生存权”,这使得它可以继续工作而不需关心通讯丢失的原因,相关内容将参考图5在后文作详细阐述。
继续研究图4,在判别框401中,从服务器A试图检测与服务器B通讯是否可信赖。如果服务器A能够检测到与服务器B的可信赖通讯,程序进行到步骤402,其中服务器等待一个特定的时间间隔,然后重复判别框401中的判断。
如果在判别框401中,服务器A未探测到与服务器B的可信赖通讯,那么在判别框403中,服务器A就检查通讯链路的可靠性。如果在判别框403中服务器A未检测到可信赖的通讯链路,那么在步骤405中,服务器A就终止在集群中的活动,以避免工作在“大脑分裂”模式中。
然而,在判别框403中,如果服务器A确实检测到了可信赖的通讯链路,那么程序进行到判别框407。在判别框407中,程序判断在假定服务器B发生故障之前,服务器A是否等待了必需的若干个时间间隔。如果根据判别框407,服务器A尚未等待必需的若干个时间间隔,程序进行到步骤408,该步骤中服务器A等待一个时间间隔。等待过后,在判别框409中,服务器A试图再次检测是否与服务器B有可信赖通讯。如果在判别框409中服务器A检测到了与服务器B的可信赖通讯,程序返回步骤402。根据步骤407,408和409定义的循环,重复检测重新建立的通讯连接,以避免在重组集群系统之前,由于服务器B上不重要的软件错误造成的短暂停顿,使得服务器A取代服务器B的位置进行工作。
如果服务器A在若干次必需的尝试后仍没有检测到与服务器B的可信赖通讯,在步骤411中,服务器A就为自身赋予“生存权”,并在步骤412中对集群进行重组。服务器A完成对集群的重组后,它再一次于判别框413中开始检测来自服务器B的通讯是否可信赖。如果服务器B从一个非终止类型的软件错误中恢复,在集群完成重组后,它可能继续向服务器A发送心跳信号和其他数据以与服务器A保持通讯。只要没有检测到来自服务器B的通讯,那么就如判别框413和步骤414组成的循环所示,服务器A继续工作,并周期性地监控来自服务器B的通讯。如果在判别框413中,检测到来自服务器B的通讯重新建立完成,程序进行到步骤415,其中服务器B在发生任何磁盘访问事件之前自行关闭,以避免工作在“大脑分裂”模式并由此导致服务器A和服务器B的大容量存储设备中的数据产生矛盾。
根据本发明的一个实施例,持有“生存权”的主服务器可以执行图5中的程序步骤,作为针对来自其他服务器发生通讯丢失的反应。在判别框501中,主服务器B试图检测与服务器A的可信赖通讯。如果主服务器B能够检测到与服务器A的可信赖通讯,程序进行到步骤502,其中服务器B等待一个特定的时间间隔,然后继续重复判别框501中的动作。
在判别框501中,如果服务器B没有检测到与服务器A的可信赖通讯,程序进行到判别框507,判断在假定服务器A发生故障之前,服务器B是否等待了必需的若干个时间间隔。如果根据判别框507,服务器B尚未等待必需的若干个时间间隔,程序进行到步骤508,该步骤中服务器B等待一个时间间隔。等待过后,在判别框509中,服务器B试图再次检测是否与服务器A有可信赖通讯。如果在判别框509中服务器B检测到了与服务器A的可信赖通讯,程序返回步骤502。根据步骤507,508和509定义的循环,重复检测重新建立的通讯连接,以避免在重组集群系统之前,由于服务器A上不致命的软件错误造成的短暂停顿,使得服务器B取代服务器A的位置进行工作。
如果服务器B在若干次必需的尝试后仍没有检测到与服务器A的可信赖通讯,在步骤512中,服务器B对集群进行重组。服务器B完成对集群的重组后,它再一次于判别框513中开始检测来自服务器A的通讯是否可信赖。如果服务器A从一个非终止类型的软件错误中恢复,在集群完成重组后,它可能继续向服务器B发送心跳信号和其他数据以与服务器B保持通讯。只要没有检测到来自服务器A的通讯,那么就如判别框513和步骤514组成的循环所示,服务器B继续工作,并周期性地监控来自服务器A的通讯。如果在判别框513中,检测到来自服务器A的通讯重新建立完成,程序进行到步骤516,其中服务器B重组集群以接纳服务器A恢复工作。
在不背离本发明的精神和必需特征的前提下,本发明可以通过其他特定方式实现。上述实施例应被认为仅作为说明行为,而非仅限于此。因此,本发明的范围由所附权利要求所标明,而非前文描述。在不背离和超出本发明的权利要求及其等同物所限定的范围内,可以进行修改。

Claims (11)

1.一种提高包括通过通讯链路相连的第一服务器和第二服务器的计算机集群系统可用性和可靠性的方法,其中所述计算机集群中一旦出现中断的情况,所述第二服务器被赋予生存权;所述方法包括下列动作:
所述第一服务器通过所述通讯链路在所述第一服务器的大容量存储设备与所述第二服务器的大容量存储设备之间建立镜像;
所述第一服务器检测在所述通讯链路上那些阻碍了第一服务器与第二服务器之间建立数据镜像的从所述第二服务器到所述第一服务器的通讯丢失;
所述第一服务器分析通讯链路以确定通讯链路是否正常工作;
如果判定通讯链路能够正常工作,则所述第一服务器执行下列动作:
继续运行;
不与第二服务器、或第一服务器的大容量存储设备、或第二服务器的大容量存储设备进行通讯就承担生存权;以及
令第一服务器的网络接口为网络设备发送到所述第二服务器的请求提供服务;以及
如果判定通讯链路不能正常工作,则所述第一服务器停止运行。
2.如权利要求1所述的方法,其特征在于检测通讯丢失的动作包括,所述第一服务器判定无法在通讯链路上检测到由第二服务器生成的心跳信号。
3.如权利要求2所述的方法,其特征在于通讯链路包括连接第一服务器和第二服务器的专用链路。
4.如权利要求1所述的方法,其特征在于所述通讯链路包括建立在计算机网络中的虚拟信道,所述计算机网络包括一个或多个彼此相连并且与所述第一服务器和所述第二服务器相连的网络设备。
5.如权利要求1所述的方法,其特征在于:
所述第一服务器和所述第二服务器中的每台,还包括一个文件操作系统;
并且所述第一服务器和所述第二服务器中的每台执行所述文件操作系统,从而能为来自其他网络设备的网络请求提供服务;所述网络请求包括对使用所述第一服务器和所述第二服务器之上的资源的请求。
6.如权利要求5所述的方法,还包括以下动作:
将所述第二服务器的大容量存储设备上的数据镜像至所述第一服务器的大容量存储设备上,其中,只有通过第二服务器才能访问所述第二服务器的大容量存储设备。
7.如权利要求6所述的方法,其特征在于所述通讯链路为仅连接所述第一服务器和所述第二服务器的专用通讯链路;检测通讯丢失的动作包括以下动作:
所述第一服务器尝试通过所述通讯链路与所述第二服务器进行通讯;
并且所述第一服务器分析通过所述通讯链路尝试通讯的结果,以判定所述第一服务器不能与所述第二服务器进行通讯。
8.如权利要求1所述的方法,其特征在于,分析通讯链路以判定所述通讯链路是否正常工作的动作还包括如下动作,所述第一服务器反复检查所述通讯链路以确保可靠的通讯。
9.如权利要求1所述的方法,其特征在于如果所述第一服务器判定所述通讯链路能够正常工作,该方法进一步包括所述第一服务器对由网络设备向所述第二服务器提出的网络请求进行服务的动作。
10.如权利要求9所述的方法,进一步包括以下动作:
所述第一服务器判定来自所述第二服务器的通讯已恢复;并且
所述第二服务器停止运行。
11.如权利要求1所述的方法,其特征在于如果所述第一服务器判定所述通讯链路未正常工作,则该方法进一步包括所述第二服务器继续工作,并对在所述第一服务器停止工作后,向所述第一服务器提出的网络请求进行服务的动作。
CNB018211305A 2000-12-21 2001-12-19 利用网络介质链接状态功能来提高计算机集群系统可用性的方法 Expired - Lifetime CN1264092C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US25747800P 2000-12-21 2000-12-21
US60/257,478 2000-12-21
US09/855,592 US6785678B2 (en) 2000-12-21 2001-05-14 Method of improving the availability of a computer clustering system through the use of a network medium link state function
US09/855,592 2001-05-14

Publications (2)

Publication Number Publication Date
CN1483163A CN1483163A (zh) 2004-03-17
CN1264092C true CN1264092C (zh) 2006-07-12

Family

ID=26945994

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018211305A Expired - Lifetime CN1264092C (zh) 2000-12-21 2001-12-19 利用网络介质链接状态功能来提高计算机集群系统可用性的方法

Country Status (10)

Country Link
US (2) US6785678B2 (zh)
EP (1) EP1344133B1 (zh)
JP (1) JP4500490B2 (zh)
KR (1) KR100557399B1 (zh)
CN (1) CN1264092C (zh)
AT (1) ATE415661T1 (zh)
AU (2) AU3116702A (zh)
CA (1) CA2428251A1 (zh)
DE (1) DE60136739D1 (zh)
WO (1) WO2002050678A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504786B2 (en) 2008-05-08 2013-08-06 Huawei Technologies Co., Ltd. Method and apparatus for backing up storage system data

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020198996A1 (en) * 2000-03-16 2002-12-26 Padmanabhan Sreenivasan Flexible failover policies in high availability computing systems
US7627694B2 (en) * 2000-03-16 2009-12-01 Silicon Graphics, Inc. Maintaining process group membership for node clusters in high availability computing systems
US6785678B2 (en) 2000-12-21 2004-08-31 Emc Corporation Method of improving the availability of a computer clustering system through the use of a network medium link state function
US6877107B2 (en) * 2001-07-05 2005-04-05 Softwired Ag Method for ensuring operation during node failures and network partitions in a clustered message passing server
US7685126B2 (en) * 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
US7146524B2 (en) * 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
DE10143142A1 (de) * 2001-09-04 2003-01-30 Bosch Gmbh Robert Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält
JP4434543B2 (ja) * 2002-01-10 2010-03-17 株式会社日立製作所 分散ストレージシステム、ストレージ装置、およびデータのコピー方法
US7181489B2 (en) * 2002-01-10 2007-02-20 International Business Machines Corporation Method, apparatus, and program for distributing a document object model in a web server cluster
US7203748B2 (en) * 2002-02-15 2007-04-10 International Business Machines Corporation Method for detecting the quick restart of liveness daemons in a distributed multinode data processing system
US7127512B2 (en) * 2002-02-19 2006-10-24 Qualcomm Inc. Method and apparatus for two-phase commit in data distribution to a web farm
CA2377649C (en) * 2002-03-20 2009-02-03 Ibm Canada Limited-Ibm Canada Limitee Dynamic cluster database architecture
US7631066B1 (en) * 2002-03-25 2009-12-08 Symantec Operating Corporation System and method for preventing data corruption in computer system clusters
US7058850B2 (en) * 2002-07-31 2006-06-06 Hewlett-Packard Development Company, L.P. Method and system for preventing data loss within disk-array pairs supporting mirrored logical units
US7076687B2 (en) * 2002-10-16 2006-07-11 Hitachi, Ltd. System and method for bi-directional failure detection of a site in a clustering system
JP4464279B2 (ja) 2002-11-14 2010-05-19 アイシロン・システムズ・インコーポレーテッド 分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法
US20040181707A1 (en) * 2003-03-11 2004-09-16 Hitachi, Ltd. Method and apparatus for seamless management for disaster recovery
JP2004302512A (ja) * 2003-03-28 2004-10-28 Hitachi Ltd クラスタコンピューティングシステム、および、そのフェールオーバー方法
US7401254B2 (en) * 2003-04-23 2008-07-15 Dot Hill Systems Corporation Apparatus and method for a server deterministically killing a redundant server integrated within the same network storage appliance chassis
US7676600B2 (en) * 2003-04-23 2010-03-09 Dot Hill Systems Corporation Network, storage appliance, and method for externalizing an internal I/O link between a server and a storage controller integrated within the storage appliance chassis
US7565566B2 (en) * 2003-04-23 2009-07-21 Dot Hill Systems Corporation Network storage appliance with an integrated switch
US7627780B2 (en) * 2003-04-23 2009-12-01 Dot Hill Systems Corporation Apparatus and method for deterministically performing active-active failover of redundant servers in a network storage appliance
JP2005018510A (ja) * 2003-06-27 2005-01-20 Hitachi Ltd データセンタシステム及びその制御方法
US7739541B1 (en) 2003-07-25 2010-06-15 Symantec Operating Corporation System and method for resolving cluster partitions in out-of-band storage virtualization environments
US7475134B2 (en) * 2003-10-14 2009-01-06 International Business Machines Corporation Remote activity monitoring
US7225356B2 (en) * 2003-11-06 2007-05-29 Siemens Medical Solutions Health Services Corporation System for managing operational failure occurrences in processing devices
US7299378B2 (en) * 2004-01-15 2007-11-20 Oracle International Corporation Geographically distributed clusters
US6859811B1 (en) * 2004-01-15 2005-02-22 Oracle International Corporation Cluster database with remote data mirroring
US7293198B2 (en) * 2004-03-25 2007-11-06 Emc Corporation Techniques for maintaining operation of data storage system during a failure
US7610373B2 (en) * 2004-05-27 2009-10-27 International Business Machines Corporation Voting mechanism for session invalidation processing in an application server cluster
US8051425B2 (en) * 2004-10-29 2011-11-01 Emc Corporation Distributed system with asynchronous execution systems and methods
US8055711B2 (en) * 2004-10-29 2011-11-08 Emc Corporation Non-blocking commit protocol systems and methods
US8238350B2 (en) 2004-10-29 2012-08-07 Emc Corporation Message batching with checkpoints systems and methods
GB0428105D0 (en) * 2004-12-23 2005-01-26 Ibm Storage system with multiple copy targeting and disk failure protection
GB0428108D0 (en) * 2004-12-23 2005-01-26 Ibm Storage system with multiple copy targeting
US8191078B1 (en) * 2005-03-22 2012-05-29 Progress Software Corporation Fault-tolerant messaging system and methods
US8010498B2 (en) * 2005-04-08 2011-08-30 Microsoft Corporation Virtually infinite reliable storage across multiple storage devices and storage services
US20060230245A1 (en) * 2005-04-08 2006-10-12 Microsoft Corporation Data storage safety indicator and expander
EP1877901A4 (en) * 2005-05-06 2014-05-07 Stratus Technologies Bermuda Ltd ERROR TOLERANT COMPUTER SYSTEM
US20060271695A1 (en) * 2005-05-16 2006-11-30 Electronics Line 3000 Ltd. System for remote secured operation, monitoring and control of security and other types of events
US7996608B1 (en) 2005-10-20 2011-08-09 American Megatrends, Inc. Providing redundancy in a storage system
US8010829B1 (en) 2005-10-20 2011-08-30 American Megatrends, Inc. Distributed hot-spare storage in a storage cluster
US7788303B2 (en) 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
US7551572B2 (en) * 2005-10-21 2009-06-23 Isilon Systems, Inc. Systems and methods for providing variable protection
US7797283B2 (en) 2005-10-21 2010-09-14 Isilon Systems, Inc. Systems and methods for maintaining distributed data
US7917474B2 (en) * 2005-10-21 2011-03-29 Isilon Systems, Inc. Systems and methods for accessing and updating distributed data
KR100877470B1 (ko) * 2005-11-22 2009-01-07 인터내셔널 비지네스 머신즈 코포레이션 소프트웨어 제품 사용 제어 방법과 시스템 및 컴퓨터 판독 가능한 저장 매체
US7979460B2 (en) 2006-02-15 2011-07-12 Sony Computer Entainment America Inc. Systems and methods for server management
US7848261B2 (en) * 2006-02-17 2010-12-07 Isilon Systems, Inc. Systems and methods for providing a quiescing protocol
US7756898B2 (en) * 2006-03-31 2010-07-13 Isilon Systems, Inc. Systems and methods for notifying listeners of events
JP2007304687A (ja) * 2006-05-09 2007-11-22 Hitachi Ltd クラスタ構成とその制御手段
US7519855B2 (en) * 2006-06-15 2009-04-14 Motorola, Inc. Method and system for distributing data processing units in a communication network
US7882071B2 (en) * 2006-08-18 2011-02-01 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7822932B2 (en) * 2006-08-18 2010-10-26 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7680836B2 (en) * 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7680842B2 (en) * 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7590652B2 (en) * 2006-08-18 2009-09-15 Isilon Systems, Inc. Systems and methods of reverse lookup
US7953704B2 (en) 2006-08-18 2011-05-31 Emc Corporation Systems and methods for a snapshot of data
US7899800B2 (en) * 2006-08-18 2011-03-01 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7770063B2 (en) * 2006-08-26 2010-08-03 International Business Machines Corporation Simulation of failure recovery within clustered systems
US8286029B2 (en) 2006-12-21 2012-10-09 Emc Corporation Systems and methods for managing unavailable storage devices
US7593938B2 (en) * 2006-12-22 2009-09-22 Isilon Systems, Inc. Systems and methods of directory entry encodings
US7509448B2 (en) * 2007-01-05 2009-03-24 Isilon Systems, Inc. Systems and methods for managing semantic locks
US8498967B1 (en) * 2007-01-30 2013-07-30 American Megatrends, Inc. Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome
US7908448B1 (en) 2007-01-30 2011-03-15 American Megatrends, Inc. Maintaining data consistency in mirrored cluster storage systems with write-back cache
JP4505763B2 (ja) * 2007-01-31 2010-07-21 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ノードクラスタの管理
US7900015B2 (en) 2007-04-13 2011-03-01 Isilon Systems, Inc. Systems and methods of quota accounting
US7779048B2 (en) 2007-04-13 2010-08-17 Isilon Systems, Inc. Systems and methods of providing possible value ranges
US8966080B2 (en) 2007-04-13 2015-02-24 Emc Corporation Systems and methods of managing resource utilization on a threaded computer system
US8271757B1 (en) 2007-04-17 2012-09-18 American Megatrends, Inc. Container space management in a data storage system
US7966289B2 (en) 2007-08-21 2011-06-21 Emc Corporation Systems and methods for reading objects in a file system
US7882068B2 (en) * 2007-08-21 2011-02-01 Isilon Systems, Inc. Systems and methods for adaptive copy on write
US7949692B2 (en) * 2007-08-21 2011-05-24 Emc Corporation Systems and methods for portals into snapshot data
US11212733B2 (en) * 2007-10-08 2021-12-28 Qualcomm Incorporated Control of wireless transmission based on node status
US7953709B2 (en) * 2008-03-27 2011-05-31 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US7984324B2 (en) * 2008-03-27 2011-07-19 Emc Corporation Systems and methods for managing stalled storage devices
US7870345B2 (en) 2008-03-27 2011-01-11 Isilon Systems, Inc. Systems and methods for managing stalled storage devices
US7949636B2 (en) 2008-03-27 2011-05-24 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US8006129B2 (en) * 2008-10-03 2011-08-23 Cisco Technology, Inc. Detecting and preventing the split-brain condition in redundant processing units
CN101729412B (zh) * 2009-11-05 2012-03-14 北京超图软件股份有限公司 地理信息服务的分布式层次集群方法和系统
US8108715B1 (en) * 2010-07-02 2012-01-31 Symantec Corporation Systems and methods for resolving split-brain scenarios in computer clusters
US8438277B1 (en) * 2010-12-08 2013-05-07 Symantec Corporation Systems and methods for preventing data inconsistency within computer clusters
US20130268801A1 (en) * 2010-12-10 2013-10-10 Nec Corporation Server management apparatus, server management method, and program
CN102308559B (zh) * 2011-07-26 2014-04-02 华为技术有限公司 一种用于集群计算机系统的投票仲裁方法及装置
CN102281159A (zh) * 2011-09-06 2011-12-14 曙光信息产业(北京)有限公司 集群系统的恢复方法
US10054933B2 (en) * 2012-03-27 2018-08-21 Sirqul, Inc. Controlling distributed device operations
US20140173330A1 (en) * 2012-12-14 2014-06-19 Lsi Corporation Split Brain Detection and Recovery System
US10250579B2 (en) * 2013-08-13 2019-04-02 Alcatel Lucent Secure file transfers within network-based storage
CN103647820B (zh) * 2013-12-09 2016-11-23 华为数字技术(苏州)有限公司 用于分布式集群系统的仲裁方法及仲裁装置
US9639437B2 (en) * 2013-12-13 2017-05-02 Netapp, Inc. Techniques to manage non-disruptive SAN availability in a partitioned cluster
US9965363B2 (en) * 2013-12-14 2018-05-08 Netapp, Inc. Techniques for LIF placement in SAN storage cluster synchronous disaster recovery
JP6183931B2 (ja) * 2013-12-25 2017-08-23 Necソリューションイノベータ株式会社 クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びプログラム。
US9483369B2 (en) * 2014-01-24 2016-11-01 Verizon Patent And Licensing Inc. Method and apparatus for failover detection and recovery using gratuitous address resolution messages
US10114691B2 (en) 2014-04-21 2018-10-30 Hitachi, Ltd. Information storage system
JP2016115239A (ja) * 2014-12-17 2016-06-23 日本電気株式会社 フォールトトレラントシステム、フォールトトレラント方法、及び、プログラム
JP6472508B2 (ja) * 2015-04-06 2019-02-20 株式会社日立製作所 管理計算機およびリソース管理方法
JP6409812B2 (ja) * 2016-04-01 2018-10-24 横河電機株式会社 冗長化装置、冗長化システム、及び冗長化方法
US10205782B2 (en) 2016-04-29 2019-02-12 Netapp, Inc. Location-based resource availability management in a partitioned distributed storage environment
US10671038B2 (en) * 2016-07-15 2020-06-02 Fisher-Rosemount Systems, Inc. Architecture-independent process control
US10594553B2 (en) 2016-12-21 2020-03-17 Mastercard International Incorporated Systems and methods for dynamically commissioning and decommissioning computer components
US10503427B2 (en) * 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
CN107147528A (zh) * 2017-05-23 2017-09-08 郑州云海信息技术有限公司 一种存储网关智能防脑裂系统及方法
JP6781344B2 (ja) * 2017-06-14 2020-11-04 日立オートモティブシステムズ株式会社 車両搭載機器の制御装置
CN115396752B (zh) * 2022-07-29 2023-05-26 国电南京自动化股份有限公司 一种基于Redis的双平面采集数据方法及系统
CN116743550B (zh) * 2023-08-11 2023-12-29 之江实验室 一种分布式存储集群的故障存储节点的处理方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812748A (en) * 1993-06-23 1998-09-22 Vinca Corporation Method for improving recovery performance from hardware and software errors in a fault-tolerant computer system
US5978565A (en) * 1993-07-20 1999-11-02 Vinca Corporation Method for rapid recovery from a network file server failure including method for operating co-standby servers
US5434994A (en) * 1994-05-23 1995-07-18 International Business Machines Corporation System and method for maintaining replicated data coherency in a data processing system
US5696895A (en) * 1995-05-19 1997-12-09 Compaq Computer Corporation Fault tolerant multiple network servers
US5828889A (en) * 1996-05-31 1998-10-27 Sun Microsystems, Inc. Quorum mechanism in a two-node distributed computer system
US5753034A (en) * 1996-09-27 1998-05-19 W. R. Grace & Co. -Conn. Composition and method to remove asbestos
US5892895A (en) * 1997-01-28 1999-04-06 Tandem Computers Incorporated Method an apparatus for tolerance of lost timer ticks during recovery of a multi-processor system
US5991518A (en) * 1997-01-28 1999-11-23 Tandem Computers Incorporated Method and apparatus for split-brain avoidance in a multi-processor system
US6151688A (en) * 1997-02-21 2000-11-21 Novell, Inc. Resource management in a clustered computer system
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6108699A (en) * 1997-06-27 2000-08-22 Sun Microsystems, Inc. System and method for modifying membership in a clustered distributed computer system and updating system configuration
US6490620B1 (en) * 1997-09-26 2002-12-03 Worldcom, Inc. Integrated proxy interface for web based broadband telecommunications management
US5999712A (en) * 1997-10-21 1999-12-07 Sun Microsystems, Inc. Determining cluster membership in a distributed computer system
US6192483B1 (en) * 1997-10-21 2001-02-20 Sun Microsystems, Inc. Data integrity and availability in a distributed computer system
US6279032B1 (en) * 1997-11-03 2001-08-21 Microsoft Corporation Method and system for quorum resource arbitration in a server cluster
US6145089A (en) * 1997-11-10 2000-11-07 Legato Systems, Inc. Server fail-over system
JPH11175488A (ja) 1997-12-16 1999-07-02 Toshiba Corp サーバシステムおよびフェールオーバ制御方法
US6058400A (en) * 1998-04-28 2000-05-02 Sun Microsystems, Inc. Highly available cluster coherent filesystem
US6421787B1 (en) * 1998-05-12 2002-07-16 Sun Microsystems, Inc. Highly available cluster message passing facility
US6311217B1 (en) * 1998-06-04 2001-10-30 Compaq Computer Corporation Method and apparatus for improved cluster administration
JP2000040986A (ja) 1998-07-23 2000-02-08 Toshiba Corp 通信ネットワークの異常検出装置
US6393485B1 (en) * 1998-10-27 2002-05-21 International Business Machines Corporation Method and apparatus for managing clustered computer systems
US6438705B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US6983317B1 (en) * 2000-02-28 2006-01-03 Microsoft Corporation Enterprise management system
US6618737B2 (en) * 2000-03-09 2003-09-09 International Business Machines Corporation Speculative caching of individual fields in a distributed object system
US7627694B2 (en) * 2000-03-16 2009-12-01 Silicon Graphics, Inc. Maintaining process group membership for node clusters in high availability computing systems
US6609213B1 (en) * 2000-08-10 2003-08-19 Dell Products, L.P. Cluster-based system and method of recovery from server failures
US6785678B2 (en) 2000-12-21 2004-08-31 Emc Corporation Method of improving the availability of a computer clustering system through the use of a network medium link state function

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504786B2 (en) 2008-05-08 2013-08-06 Huawei Technologies Co., Ltd. Method and apparatus for backing up storage system data

Also Published As

Publication number Publication date
US20050033778A1 (en) 2005-02-10
KR100557399B1 (ko) 2006-03-06
EP1344133A4 (en) 2007-08-15
US7409395B2 (en) 2008-08-05
EP1344133A1 (en) 2003-09-17
AU2002231167B2 (en) 2005-10-06
AU3116702A (en) 2002-07-01
US6785678B2 (en) 2004-08-31
JP4500490B2 (ja) 2010-07-14
US20020083036A1 (en) 2002-06-27
WO2002050678A8 (en) 2002-09-19
WO2002050678A1 (en) 2002-06-27
CA2428251A1 (en) 2002-06-27
EP1344133B1 (en) 2008-11-26
ATE415661T1 (de) 2008-12-15
JP2004516575A (ja) 2004-06-03
CN1483163A (zh) 2004-03-17
DE60136739D1 (de) 2009-01-08
KR20030067712A (ko) 2003-08-14

Similar Documents

Publication Publication Date Title
CN1264092C (zh) 利用网络介质链接状态功能来提高计算机集群系统可用性的方法
JP4505763B2 (ja) ノードクラスタの管理
CN100403300C (zh) 镜像网络数据以建立虚拟存储区域网络
US6886064B2 (en) Computer system serialization control method involving unlocking global lock of one partition, after completion of machine check analysis regardless of state of other partition locks
US6904458B1 (en) System and method for remote management
US8171125B2 (en) Scalable distributed storage and delivery
EP0801746B1 (en) Method and apparatus for reliable disk fencing in a multicomputer system
US20030037133A1 (en) Method and system for implementing redundant servers
EP0575067A2 (en) Shared, distributed lock manager for loosely coupled processing systems
CN1818882A (zh) 容错系统、其中所用的控制装置、访问控制方法及控制程序
CN1614936A (zh) 处理设备管理系统
US7533295B2 (en) Two node virtual shared disk cluster recovery
CN1795446A (zh) 计算机集群中的数据采集
CN1195813A (zh) 由分布式计算机系统的一个硬件元件报告错误的系统
US20200177674A1 (en) Dynamic distributor selection for network load balancing
US20070118911A1 (en) Method, system and computer program for a secure backup license server in a license management system
CN1794198A (zh) 容错双工计算机系统及其控制方法
KR100484130B1 (ko) 원격장애치유기능을갖는컴퓨터시스템및그방법
US6212595B1 (en) Computer program product for fencing a member of a group of processes in a distributed processing environment
CN1491386A (zh) 在可修复的故障后使群集器系统自动投入运行
CN1864134A (zh) 在维持集群运行的同时重启多设备集群的方法
JP2007334668A (ja) メモリダンプ方法、クラスタシステム、それを構成するノードおよびプログラム
US10887251B2 (en) Fault-tolerant architecture for packet capture
EP1676425B1 (en) Method and system for fault protection in a communication network
CN1940875A (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
ASS Succession or assignment of patent right

Owner name: EMC CO.,LTD.

Free format text: FORMER OWNER: LEGATO SYSTEMS INC.

Effective date: 20040604

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20040604

Address after: Marseille, USA

Applicant after: EMC Inc.

Address before: American California

Applicant before: Legato Systems Inc.

C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20060712

CX01 Expiry of patent term