CN1893370A - 用于服务器群集恢复和维护的方法和系统 - Google Patents

用于服务器群集恢复和维护的方法和系统 Download PDF

Info

Publication number
CN1893370A
CN1893370A CN200610079870.8A CN200610079870A CN1893370A CN 1893370 A CN1893370 A CN 1893370A CN 200610079870 A CN200610079870 A CN 200610079870A CN 1893370 A CN1893370 A CN 1893370A
Authority
CN
China
Prior art keywords
node
cluster
recovery
application
fault tolerance
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.)
Granted
Application number
CN200610079870.8A
Other languages
English (en)
Other versions
CN1893370B (zh
Inventor
苏迪赫·G.·劳
布鲁斯·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.)
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 CN1893370A publication Critical patent/CN1893370A/zh
Application granted granted Critical
Publication of CN1893370B publication Critical patent/CN1893370B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/2041Error 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 with more than one idle spare processing component
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1425Reconfiguring to eliminate the error by reconfiguration of node membership
    • 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
    • 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/0654Management of faults, events, alarms or notifications using network fault recovery

Abstract

本发明公开一种群集恢复和维护系统、方法和计算机程序产品,用于在客户端-服务器计算架构中实现服务器层的、具有多个节点的服务器群集。第一组N个有效节点各自运行包括群集管理层和群集应用层的软件栈,其中群集应用层有效地代表运行在客户端上的客户端应用层中的一个或多个客户端应用提供服务。第二组M个备用节点各自运行包括群集管理层和群集应用层的软件栈,其中群集应用层不有效地代表客户端应用提供服务。响应于有效节点成员关系改变,确定群集中的第一和第二区域,其中有效节点成员关系改变涉及由于有效节点出故障或者变得不可及或者由于涉及有效节点的维护操作而一个或多个有效节点离开或者被添加到第一组。第一区域是故障容忍区域,其包括所有工作的有效节点。第二区域是故障容纳区域,其包括在成员关系改变涉及节点离开的范围内,参与成员关系改变的所有有效节点以及至少对应数目的备用节点。在群集恢复和维护期间,在故障容纳区域中实现快速恢复/维护和高应用可用性,同时在故障容忍区域中保持连续应用可用性。

Description

用于服务器群集恢复和维护的方法和系统
技术领域
本发明涉及计算机群集和用于群集应用恢复的方法。更具体地说,本发明涉及一种用于改善群集恢复处理期间的群集应用可用性的恢复技术。
背景技术
作为背景,被管理数据处理群集通常用来在客户端-服务器架构中实现服务器层。不是单个服务器向客户端提供应用服务,而是应用服务功能由在群集管理软件的控制之下协同操作的互连节点网络(服务器群集)共享。群集管理软件的职责通常包括群集组成员关系变化协调、故障监视和检测、以及向服务器节点应用层提供分布式同步点。这些群集支持功能允许服务器实现提供群集化服务的内聚(cohesive)群集应用层。群集化服务是有利的,这是因为多个节点可以共享应用工作负载,并且由此改善数据处理性能以及应用可用性。可以在服务器群集中运行的示例性应用包括网络文件系统、分布式数据库、万维网服务器、电子邮件服务器等等。
群集架构往往使用对称模型,其中每一个节点可以服务任何应用请求,或者它们使用非对称/分区模型,其中跨越群集对应用空间进行静态或动态分区。根据对称模型,每一个节点相对于群集所提供的应用服务是同构的,并且不存在应用空间的分区。每一个节点可以处理来自群集化应用的客户端的任何请求。根据分区模型,存在应用空间的静态或动态分区(有时被称为N路(N-way)逻辑分区),其中每个节点服务针对其拥有的分区的请求。
不管群集是遵循对称模型还是遵循分区模型,群集节点的丢失通常将不停止其应用或应用分区,这是因为群集管理软件可以将丢失服务器的功能转移到另一个节点。但是,群集节点(或者节点之间的通信链接)的故障中断群集操作。当发生这样的故障时,启动被称作群集恢复的处理,以便恢复由于故障而丢失的应用功能性。除非群集架构是故障容忍的,否则群集恢复过程将几乎总是导致跨越从故障检测开始直至故障恢复和应用恢复完成的时间段的、整个群集化应用的临时中断。该应用处理停止不利地影响应用客户端,包括连接到群集的幸存节点的那些应用客户端。如此,日益增加地对基于群集架构的产品的恢复特性施加近连续或甚至连续应用可用性要求。
一般而言,群集恢复的总持续时间源于下面与恢复过程相关联的活动的一些或全部:
1)故障检测和验证;
2)通过同步群集成员关系视图更新的群集恢复;
3)防护(fencing)出故障节点(以停止应用I/O操作);
4)应用分区故障恢复(failover)(仅仅针对逻辑分区架构);
5)预写(write-ahead)日志恢复;以及
6)应用请求重新路由
前述恢复步骤导致整个群集恢复时期的群集应用中断是传统的群集管理系统和群集应用的工作方式的直接结果。具体地说,群集应用事务处理的完整性以群集管理软件保证群集和应用数据的完整性为前提。由于在群集恢复期间不能在整体上保证群集完整性,并且由于不能保证数据完整性直至防护、故障恢复和预写日志恢复之后,因此传统的群集化应用系统选择在整个恢复期间暂停所有事务活动。与该设计方案相一致,迄今为止的改进群集恢复的大部分努力集中于减少对总恢复时间作贡献的各个步骤的持续时间。
关于故障检测和验证,通过实现多个冗余监视拓扑结构以便为故障检测提供多个数据点,可以减少该时间段。例如,双重环形或三重环形、基于心跳的监视拓扑结构(例如,需要或采用双重网络)可以显著减少故障检测时间。然而,该方案对群集或应用恢复处理本身没有影响。该架构还提高了群集化应用的成本。
关于群集成员关系视图更新(在群集恢复期间),在群集管理架构典型地被设计成序列化群集恢复协议和群集内消息传递协议(前者与群集恢复有关;后者从应用活动中产生)的限度内,没有太多工作可做。结果,不能发生应用活动,直至高优先级群集恢复协议结束。根据定义,这强制群集范围的服务暂停或中断。
关于出故障节点防护和应用分区故障恢复,如果群集实现对称应用架构,则没有相关联的成本,这是因为可以简单地将客户端请求定向到另一个节点。然而,在分区模型中,存在应用空间的静态或动态分区,其中每个节点服务针对其拥有的分区的请求。在该架构中,应用恢复的成本将总是包括防护和分区故障恢复的成本,并且由此与对称模型相比,承担提高的应用恢复成本。同步日志记录(与异步预写日志相对)或者主动型缓冲缓存刷新可以用来帮助降低故障恢复成本,但是这两个解决方案都影响稳定状态性能。
关于基于日志的恢复和应用请求重新路由,很多群集系统使用日志化/日志架构(例如,数据库、文件系统),其确定内在的、基于日志的恢复特性以及应用事务的连续性。典型地,静态或动态分区模型中的每个节点为由该节点服务的所有应用分区使用单个预写日志(WAL)。为了将分区从出故障节点故障恢复到有效节点,首先必须截除(truncate)有效节点上的预写日志,这要求刷新缓冲缓存以及将日志页写出到盘。使用将预写日志一一映射到应用的逻辑分区(与将它与群集中的节点进行一一映射相对)的日志架构将在不受影响的应用分区和受影响的分区之间提供更大的事务隔离。结果,在不受影响的分区上将存在更大的事务连续性,并且对于受影响的分区,存在更短的、基于日志的恢复时间。这里所使用的术语“不受影响的分区”是指在有效(无故障)节点上运行的任何分区。相反,“受影响的分区”是由(例如,由于故障、预定维护或者任何其它原因)变得不可及的节点服务的分区。将受影响的分区故障恢复到其不受影响的分区具有其自己的预写日志映射的有效节点将不影响这样的日志。将简单地为正被故障恢复到有效节点的分区创建新的预写日志。然而,实现这种日志架构将要求很多群集应用产品的较大重新编写,并且可能是不实际的。这样的架构的扩展性对于大量分区(按照所需存储空间)也不好。
存在使用硬件架构的存储工具(applicance),其中硬件架构具有对存储器中的预写日志缓冲器和盘上的预写日志的内置冗余访问。通过使用节点对之间的同步日志复制方案,这些系统自然地遵循故障容忍原则,而非基于恢复的模型,以便实现高可用性。这允许兄弟节点从出故障节点停止处接管。然而,虽然同步日志复制在有效-有效高可用性解决方案中工作得非常好,但是难以将该模型推广到没有用于同步日志复制的配对节点的群集。这显著地增加了成本以及复杂度。
发明内容
通过一种新颖的群集恢复和维护系统、方法和计算机程序产品,解决了前述问题,并且获得了技术进步,其用于在客户端-服务器计算架构中实现服务器层的、具有多个节点的服务器群集。第一组N个有效节点各自运行包括群集管理层和群集应用层的软件栈,其中群集应用层有效地代表运行在客户端上的客户端应用层中的一个或多个客户端应用提供服务。第二组M个备用节点各自运行包括群集管理层和群集应用层的软件栈,其中群集应用层不有效地代表客户端应用提供服务。响应于涉及由于有效节点出故障或者变得不可及或者由于涉及有效节点的维护操作而一个或多个有效节点离开或者被添加到第一组的有效节点成员关系改变,确定群集中的第一和第二区域。第一区域是故障容忍区域(fault tolerant zone),其包括所有工作的有效节点。第二区域是故障容纳区域(fault containment zone),其包括在成员关系改变涉及节点离开的范围内,参与成员关系改变的所有有效节点以及至少对应数目的备用节点。在群集恢复和维护期间,在故障容纳区域中实现快速恢复/维护和高应用可用性,同时在故障容忍区域中保持连续应用可用性。
通过在故障容忍组和故障容纳组之间保持事务隔离,并且通过在故障容忍区域中保持事务连续性,实现前述方面。通过将由故障容纳组中的(一个或多个)不可及或被移除节点提供的客户端应用服务故障恢复到故障容纳组中对应数目的备用节点,实现事务隔离。由于备用节点在故障恢复之前不提供事务服务,因此不影响任何有效节点上的事务处理。对于新添加的节点,它们将变成新的备用节点,或者它们将变成新的有效节点。如果是后者,则向这些节点分配应用工作负载将不影响故障容忍区域中的事务处理。通过保证故障容忍区域中的群集成员关系完整性并且确保用于支持应用事务连续性的群集内消息的、应用驱动的恢复前通信会话的连续生存性,实现故障容忍区域中的事务连续性。通过监视故障容忍区域节点健康状况并且将发生低概率恢复时间故障的任何节点迁移到故障容纳区域,由此确保故障容忍区域中的连续可用性,从而保证故障容忍区域中的群集成员关系完整性。通过在恢复期间利用在群集范围进行的、正常的基于请求/响应的群集恢复通信协议,可以有利地执行故障容忍区域中的节点监视。一旦在故障容忍区域中不能接收节点响应,则可以通过将无响应节点标记为出故障来减少故障容忍区域中的组成员数目(group membership size),从而确保恢复协议收敛。通过除非被标记为出故障的节点使用标准加入协议重新加入,否则拒绝这些节点的重新入组,可以防止协议变动。通过使用不随着组成员数目而改变的绝对节点标识符以及保留通信会话数据结构,可以确保恢复前通信会话的生存性。
通过并发群集通信协议的适当范围界定(scoping),可以进一步帮助故障容忍区域中的事务连续性。应用恢复协议限于故障容纳组的群集应用和群集管理层。正常的事务应用协议限于故障容忍组的群集应用和群集管理层。群集恢复协议在故障容忍组和故障容纳组两者的群集管理层中进行。
附图说明
根据下面对如附图所示的本发明示例性实施例的更具体描述,本发明的前述和其它特征和优点将会变得清楚,其中:
图1是示出客户端-服务器计算架构的功能方框图,其中服务器层通过被适配成根据本发明执行群集恢复的群集实现;
图2是示出实现分布式文件系统的存储区域网中的、图1的客户端-服务器计算架构的示例性实现的功能方框图;
图3是在故障之前、期间和之后的、图1的群集的示例性逻辑视图;
图4是示出在群集恢复之前的、图1的群集中的拓扑结构监视的示例性形式的功能方框图;
图5是示出在群集恢复期间的、图1的群集中的拓扑结构监视的示例性形式的功能方框图;
图6是示出在群集恢复之后,在图1的群集中如何保持事务隔离、通信连续性,并且因此保持事务连续性的功能方框图;
图7是示出根据本发明的示例性群集恢复步骤的流程图;以及
图8是可以用来存储计算机程序产品的存储介质的示意图,其中该计算机程序产品用于实现根据本发明的入侵检测功能。
具体实施方式
I.介绍
现在转到附图,其中在所有几个视图中,相同标号表示相同单元,图1示出了客户端-服务器计算架构2,其中由服务器群集4提供服务器层。仅仅为了说明起见,而不是作为限制,服务器群集4被实现成网络(未示出网络互连),其包括由标号40、41、42、43、44、45、46和47指定的八个服务器节点。服务器节点40-47是计算机平台,其运行包括两层即群集应用层6和群集管理层8的软件栈。群集应用层6包括代表由标号100、101...10n指定的、任意数目的客户端节点实现提供群集化服务的群集化服务器应用的软件。在客户端应用层12内,客户端100、101...10n运行客户端应用软件。客户端节点100、101...10n可以通过任何适当的通信接口与服务器节点40-47通信。例如,可以存在单个客户端-服务器网络(未示出),其中所有客户端节点能够与所有服务器节点通信。可选地,可以存在若干客户端-服务器网络(未示出),其中客户端节点的子集与服务器节点的子集通信。另一可选方案将是提供多个单独通信链接(未示出),其中每个客户端节点与单个服务器节点通信。
由服务器节点40-47运行的群集应用层软件6可以包括对于单个服务器节点各自唯一的应用分区,从而提供N路逻辑分区架构。可选地,群集应用层软件6可以包括运行在多个服务器节点上的同构应用实例,以提供对称的群集架构。仅仅为了说明起见,而不是作为限制,图1示出了每个服务器节点40-47分别运行独特的群集应用分区的场景。这些软件实体分别被指定为App 0、App 1、App 2、App 3、App 4、App 5、App 6和App 7,其中应用分区号码对应于它运行在其上的服务器节点号码。虽然未示出,若干应用分区运行在单个服务器节点上也是可能的,在这种情况下,标记App 0等可以分别涉及不只是一个分区。
群集应用层软件6与服务器节点40-47上的群集管理层软件8交互,以便群集应用层中的应用分区可以表现为群集化服务。为此,传统地,群集管理层软件8向群集应用层软件6提供分布式同步点和其它服务。群集管理层8还负责执行群集维护和完整性功能,例如群集组成员关系改变的协调,以及故障监视和检测。此外,如下面结合图4等更详细地描述的那样,群集管理层软件8还实现根据本发明的恢复操作。
现在转到图2,示出了其中可以实现图1的客户端-服务器计算架构2的示例性环境。具体地说,图2示出了存储区域网(SAN)20,其中多个SAN文件系统客户端220、221...22n通过SAN结构24互连到系统存储池,该系统存储池包括(仅仅作为示例)四个存储子系统26、28、30和32。服务器群集34(对应于图1的服务器群集4)用来支持SAN 20中的分布式文件系统操作。如在数据存储技术领域内所公知的那样,SAN环境中的分布式文件系统的目标是要提供诸如以下益处,即文件的全局名称空间而不管它们被存储在哪里,从任何文件系统客户端到任何存储装置的共享访问,以及集中式、基于策略的管理。提供了基于SAN的分布式文件系统的一种商业产品是IBMTotalStorageSAN文件系统。该产品实现带外(out-of-band)存储虚拟化,其中文件元数据(例如,文件名称、属性、权限等)被存储在与表示用户数据的文件块不同的位置。在图2中,服务器群集34包括八个元数据管理器340、341、342、343、344,345、346和347(对应于图1的服务器节点40-47),其代表文件系统客户端220、221...22n处理文件元数据。该元数据在图2中被示出为存储在位于存储子系统28上的两个元数据卷中。元数据管理器340-347使用TCP/IP分组通信等,通过网络36与文件系统客户端服务器220、221...22n通信。
在SAN 20中的数据检索操作期间,元数据管理器340-347处理来自运行在调用元数据管理器服务器功能的文件系统客户端220、221...22n上的客户端层应用的元数据请求。这样,当文件系统客户端220、221...22n中的一个需要向或从保存用户数据的存储子系统26、30或32中的一个传输文件数据时,它向元数据管理器340-347中的一个查询,以确定文件位置以及其它控制信息。一旦将该信息返回到请求文件系统客户端221、222...22n,并且它获得对该文件的适当锁定,文件系统客户端就可以执行所需的数据传输操作,而无需元数据管理器340-347的进一步介入。
在诸如IBMTotalStorageSAN文件系统的分布式文件系统产品中,每个元数据管理器340-347典型地执行与分布式文件系统名称空间的某个所分配部分有关的元数据操作。这样,可以将每个元数据管理器340-347视作运行单独的元数据群集应用分区,并且可以将这些应用分区类推到图1中的、被标注为App 0...App 7的群集应用分区。需要访问文件的任何文件系统客户端220、221...22n将被定向到负责与指定文件名称相对应的文件系统名称空间子树部分的元数据管理器340-347。如此,IBMTotalStorageSAN文件系统实现N路逻辑分区架构。
IBMTotalStorageSAN文件系统的另一特征是将分配元数据管理器340-347中的一个以用作主元数据管理器。在图2中,这是元数据管理器340。其它元数据管理器341-347中的任何一个同样可以用作主元数据管理器(管理器340的指定是任意的),或者如果元数据管理器340发生故障,则可以选择它们来替换元数据管理器340。主元数据管理器340是负责群集管理的群集领导者或协调者,该群集管理包括向其它元数据管理器341-347分配分布式文件系统名称空间职责、以及从出故障的元数据管理器到其对等者(peer)中的一个或多个的元数据服务器功能的故障恢复。主元数据管理器340还提供元数据管理管理性(administrative)接口,其可以通过图2的管理性控制台38来访问。
在图1和2的上下文中,如果群集服务器节点在群集操作期间由于故障或其它条件而变得不可及,或者如果为了维护而移除节点,或者如果添加新的节点,则应当以最小的对客户端应用的影响,执行群集恢复或维护。本发明有利地实现了该目标。它提供了一种可以在通用群集中实现的架构,用于通过在发生故障时或在预定维护期间确保大部分群集应用的连续可用性,同时最小化对应用的受影响部分的中断,从而赋予故障容忍性。关于应用可用性和恢复/维护,这允许从高(99.9%-99.99%)可用性到连续(99.995%-99.999%)可用性的范围内获得通用群集,其中直到现在,该范围被认为是故障容忍系统的领域。虽然这些优点在逻辑分区群集中是最明显的,但是对于对称群集,也提供相同的优点。为了便于参考,并且除非上下文特别要求,所有以后使用的术语“群集应用”将被理解成包括根据逻辑分区群集模型的群集应用分区、以及根据对称群集模型的同构群集应用实例。
使用基于N+M冗余群集模型的容纳(containment)技术来实现前述目标,该N+M冗余群集模型针对大小N的群集中的多达M个故障(N>M)。这通过图3示出,图3示出了根据图1的八个节点群集4的软件视图。软件栈的最低级别是服务器节点实现的群集管理层8。在群集管理层8之上是服务器节点实现的群集应用层6。在群集应用层6之上是客户端节点实现的应用层12。群集管理层8之上的每个细垂直部分代表运行在单个服务器节点上的单个群集应用实例、以及运行在各个客户端节点上的对应客户端应用实例(在每个垂直部分中示出了三个)。如此组成的每个细垂直部分被称为应用井(silo)。
图3的最上部分是由故障之前的上述软件栈呈现的视图。根据假定的N+M冗余模型,存在第一组N个有效节点(n_0、n_1、n_2、n_3、n_4和n_5),其中每个节点运行包括群集管理层8和群集应用层6的软件栈,其中群集应用层6代表运行在一个或多个客户端的客户端应用层12中的一个或多个客户端应用(应用井),有效地提供服务。提供了第二组M个备用节点(m_0和m_1),其中每个节点运行包括群集管理层8和群集应用层6的软件栈,其中群集应用层6不有效地代表客户端应用提供服务。备用节点m_0和m_1运行整个群集管理和群集应用软件栈,但是不被分配要服务的分区(在逻辑分区群集中),并且不将应用请求转发到那些节点(在对称群集中)。如此,没有与m_0和m_1节点相关联的应用井。作为替代,没有客户端应用层的这些节点代表系统中的冗余或备用容量。虽然它们运行群集管理层和群集应用层软件,但是它们将没有实际的群集应用工作,直至发生故障恢复。
II.群集恢复
响应于有效节点中(n_0-n_5)的一个或多个由于故障而变得不可及,群集领导者(例如,图2的主元数据管理器340)在群集中虚拟创建第一和第二区域(例如,通过逻辑定义区域)。第一区域是故障容忍区域,其包括所有保持工作的有效节点(故障容忍组)。第二区域是故障容纳区域,其包括不可及的节点(一个或多个)和至少对应数目的备用节点(故障容纳组)。图3的中间部分示出了这样的区域划分示例。这里,故障发生在节点n_4和n_5中。故障容忍区域包括幸存节点的核心组,即,n_0、n_1、n_2和n_3。故障容纳区域包括故障组n_4和n_5、以及包括m_0和m_1的备用节点组。注意,如果存在附加的备用节点,则可以将它们并入到故障容纳组中,或者可以不考虑它们。在前一情况下,故障容纳组被定义为所有不可及节点和所有备用节点的联合。在后一情况下,故障容纳组包括所有不可及节点和相等数目的备用节点。
在群集恢复期间,在故障容纳区域中实现快速恢复和高群集应用可用性,同时在故障容忍区域中保持连续群集应用可用性。与不可及节点相关联的应用井因此将很快地恢复在线,并且与其余有效节点相关联的应用井将毫不减弱地继续,并且完全不知道群集恢复正在进行中。
通过在故障容忍组和故障容纳组之间保持事务隔离,实现在故障容纳区域中实现快速恢复和高群集应用可用性的能力。如图3的底部部分所示,通过使用故障恢复模型来保持事务隔离,在故障恢复模型中,群集领导者使由故障容纳组中的不可及节点(一个或多个)n_4和n_5的群集应用提供的客户端应用服务故障恢复到该组中的备用节点m_0和m_1。因为备用节点在故障恢复之前不提供事务服务,所以不影响任何有效节点上的事务处理。相反,在现有技术的N路群集系统中,典型地将出故障节点的事务处理故障恢复到其它有效节点。这意味着停止、点查(check-point)和截除(truncate)这些节点上的所有关键性事务处理实体,例如缓冲器管理组件、预写日志、及其相关联的的数据结构和事务原语,其通常由运行在给定节点上的所有群集应用共享。然后,需要将不可及节点的事务卷并入到对应的故障恢复节点中。结果,现有技术群集系统中的群集恢复几乎总是导致事务服务暂停。根据本发明,没有可能影响故障容忍组中的任何有效应用井的、运行在备用节点m_0和m_1上的事务组件,从而保持事务隔离。这样,即使对于在节点上服务的许多群集应用,每节点可以使用仅仅一个预写日志,但是通过使用N+M冗余和故障恢复模型来最小化故障恢复的成本。相关地,在不需要执行前述同步的限度内,在故障容纳组中,故障恢复过程将非常快速地进展。唯一的要求是存在足够的备用容量,以将应用服务处理功能从不可及节点转移到备用节点。使用本发明的技术,1或多达M个节点中的故障将被包含在2m个节点内,其中0<m<M,并且是并发故障数。
保持事务隔离还帮助确保在故障容忍区域中保持连续群集应用可用性。具体地说,将故障恢复操作包含到故障容纳组意味着,故障容忍组中的事务处理可以继续而不考虑故障恢复过程。在故障容忍区域中保持连续应用可用性的另一方面是在群集恢复期间,在故障容忍区域中提供事务连续性。群集领导者通过监视故障容忍区域中的节点,并且保证故障容忍区域的群集成员关系完整性,以及确保恢复前通信会话的连续生存性,从而实现这一点。前者是重要的,这是因为由于这样的事实,群集系统在恢复期间不能正常地继续事务处理,即,当群集恢复协议正在进行中(由于群集节点变得不可及或有故障)时,不保证群集完整性。当不能保证群集完整性时,在群集恢复期间将缓冲来自客户端应用的事务消息,或者将请求客户端应用在恢复之后重新发送其消息。这样,事务连续性要求所有关键性客户端应用和群集内消息传递不受阻碍地继续。根据本发明,当群集发生故障时,故障容忍区域透明地参与群集恢复,但是不受阻碍地继续其用于客户端应用事务的群集内消息传递。
现在转到图4和5,典型地,借助于维护有效的群集成员关系视图以及基于心跳的环形监视拓扑结构,在稳定状态操作期间(即,在群集恢复之前)保证群集完整性,其中基于心跳的环形监视拓扑结构检测由于节点变得不可及的任何完整性丢失。当比方说如图4所示在节点n_4和n_5中发生一个或多个故障时,群集将包括三个不同的子集:幸存节点的核心组,包括n_0、n_1、n_2和n_3;故障组,包括节点n_4和n_5;以及备用节点组,包括节点m_0和m_1。在故障的时候并且在恢复期间,由群集领导者如此识别故障容忍组的群集成员。仅仅为了说明起见,假定图4和5中的群集领导者是节点n_0。只要故障容忍区域中的每个单独群集成员保持与群集领导者连接,并且不以任何方式改变其故障容忍区域(其是群集的子组)视图,群集成员将继续作为故障容忍组成员而透明地操作。相反,发生了故障或者作为备用节点的节点如此存在于故障容纳组中,并且等待群集领导者的指示。
通过在群集恢复期间利用(leveraging)在群集范围执行的正常请求/响应通信技术,可以保证故障容忍区域中的群集成员关系完整性。该高度可靠的群集恢复协议技术涉及作为跨越包括两个区域的整个群集的分布式提交(commit)协议的成员关系视图更新。使用多播、广播或串行单播方法,群集领导者将消息发送到群集的其它节点,以便停顿事务活动,重组群集,并且执行成员关系更新,然后恢复事务活动。群集领导者的消息对应于“请求”(或发送),并且群集成员的响应对应于“响应”(或接收)。如图5的星形监视拓扑结构所示,群集领导者跟踪响应于发送到群集成员的请求消息而接收的确认。虽然传统地用于现有的群集管理系统,但是本发明有利地利用该协议来监视故障容忍区域中的幸存节点,而不引入任何新的协议。在故障容忍区域中不需要新的群集恢复消息传递。作为替代,群集领导者被编程为将(在指定超时期间内)没有来自故障容忍区域的幸存节点的响应确认解释成节点故障。这将促使群集领导者将无响应节点指定为离线。因此,当群集恢复进行时,可以由群集领导者连续地监视故障容忍区域中的节点成员关系。有利地,在群集成员的群集管理层内实现请求/响应群集恢复通信协议,并且该协议透明地并且与故障容忍组中的群集应用层功能并发地进行,以便在群集恢复期间后者决不被中断。
故障容忍组中的事务完整性取决于故障容忍组完整性。如果群集领导者发生故障,则根据定义,不能存在故障容忍组,这是因为群集领导者的群集管理功能丢失。但是只要群集领导者工作,就可以总是保证故障容忍组完整性,即使故障容忍组的组成可能发生改变,也是如此。在群集恢复期间、在故障容忍区域中发生节点的并发故障这一不太可能的情况下,在相同协议期间或通过后续的群集恢复协议,群集领导者将出故障节点迁移到故障容纳区域。例如,假定在恢复协议期间的晚期,图5中的节点n_2发生故障,并且节点n_0、n_1、n_2和n_3的完整性临时丢失。群集领导者(n_0)可以在将故障容忍组减少一个节点之后重新启动群集恢复协议,使得故障容忍组的组成变成n_0、n_1和n_3。此后,群集领导者将基于新的范围而保持故障容忍组完整性。作为另一示例,假定在恢复协议中的初期,图5中的节点n_3丢失。在这种情况下,群集领导者(n_0)可以在相同恢复协议内从故障容忍区域中去除n_3。使用前述技术,只要向幸存成员提供故障容忍,故障容忍组的组成就可以浮动(按照离开该组的成员)。这保证了恢复协议收敛(convergence),因为只能重新启动群集恢复协议最多N-1次(最大故障容忍组的大小减1)。
通过除非被标记为出故障的节点使用标准加入协议重新加入,否则拒绝这些节点的重新入组,可以防止故障容忍区域中的协议变动。在上面的示例中,当节点n_2在先前的协议迭代中已经被确定为出故障时,在群集恢复期间不允许节点n_2隐式加入群集。
通过使用不随着组成员数目而改变的绝对节点标识符,以及通过保留所有通信会话数据结构和上下文,可以确保在故障容忍区域中的节点之间的恢复前通信会话的生存性。所有消息传递会话典型地绑定到不仅通过节点IP地址端口来确定而且还可通过节点id寻址的会话端点。在群集重组或恢复之后,许多群集系统重新发布节点标识符。相反,本发明实现绝对且唯一的节点标识符,以便确保节点之间的通信会话独立于群集成员关系变化和群集恢复协议。为了实现前述内容,可以使用32位(或其它适当大小)的持久性计数器,其将支持适当数目(例如,直至4G)的唯一节点标识符的生成(直至发生绕回)。
通过群集领导者安排并发协议范围界定来进一步帮助故障容忍区域中的事务连续性。应用恢复协议限于故障容纳组的群集应用和群集管理层。从事务应用协议中产生的有效群集消息传递协议限于故障容忍组的群集应用和群集管理层。群集恢复协议限于故障容忍组和故障容纳组两者的群集管理层。如前所述,本发明还利用正常请求/响应群集恢复通信协议来监视故障容忍区域中的节点而不引入任何新的协议,使得在故障容忍区域中不发生新的群集恢复消息传递。该区域中的唯一附加消息传递是应用协议影响的群集内消息传递,其在传统系统中的群集恢复期间通常将被暂停。
图6示出了在故障容忍和故障容纳区域中的群集恢复期间的前述并发协议范围界定。被标注为“故障容纳组中的应用恢复”的协议流示出了应用恢复协议。这些协议被示出为故障容纳组的群集应用层中的虚拟消息,并且被封装为故障容纳组的群集管理层中的真实消息。被标注为“故障容忍组中的事务/应用连续性”的协议流示出了事务应用协议和对应的有效群集内消息传递协议。这些协议被示出为故障容忍组的群集应用层中的虚拟消息,并且被封装为故障容忍组的群集管理层中的真实消息。被标注为“整个群集中的群集恢复”协议流示出了群集恢复协议。该协议由故障容忍组和故障容纳组两者中的群集管理层实现。
这样,故障和恢复和故障恢复的影响包含在群集中的故障容纳组的2M个节点内,即,M个出故障节点和对应的M个备用或冗余节点。群集恢复协议影响所有N+M个节点的群集管理层,但是影响仅仅2M+1(+1针对群集领导者)节点的群集应用层,其中该2M+1节点参与将客户端服务分区从M个出故障节点故障恢复到M个备用节点。
现在转到图7,阐述了重述上面已经描述的群集恢复的各个阶段的示例性方法步骤。步骤S1示出了由于通过稳定状态心跳监视协议检测到不可及节点,由群集领导者检测到故障。在步骤S2,群集领导者基于不可及节点(一个或多个)的识别,确定故障容忍区域和故障容纳区域。步骤S3表示在故障容忍区域中发生的处理。如上所述,该处理要求群集领导者代表群集应用及其客户端保持通信和事务连续性,并且利用群集恢复协议来监视故障容忍区域节点。步骤S3还要求故障容忍区域中的每个节点的群集管理层参与正常的群集范围恢复协议。步骤S4表示在故障容纳区域中发生的处理。如上所述,该处理要求故障容纳区域中的每个节点的群集管理层参与正常的群集范围恢复协议。这样的节点的群集应用层参与应用故障恢复和恢复。
III.群集维护
在修复和重启了M个出故障节点之后,它们可以重新加入群集,以形成未被分配任何群集应用分区或工作负载的、新的M个备用或冗余节点。在该重新加入协议期间,本发明再次确保仅仅群集管理层受到群集成员关系视图更新的影响。群集应用层不受影响,并且不影响应用事务。当节点为了计划的维护而离开群集时,或者当新的节点被引入到群集中时,为了关于前者的连续应用可用性和后者中的快的维护,本发明确保再次将群集分成适当的故障容忍和故障容纳组(有/无备用节点),以便实现前者上的连续应用可用性和后者中的快速维护。对于离开的节点,可以以类似于上述恢复场景的方式,将其应用井功能迁移到备用节点。对于进入的节点,它可以变成新的备用节点,或者它可以变成分配有应用工作负载的新有效节点。在两种情况下,通过这些操作,在故障容忍区域中,事务处理将不受影响。此外,注意,在只有当现有节点离开群集时才需要备用节点的限度内,在故障容纳区域中不要求备用节点。修复节点重新加入和节点离开/增加场景组成了本发明如何为大部分群集的应用服务提供连续可用性的附加示例。
因此,公开了一种群集分区恢复/维护技术,其实现了这样的目标,即在发生故障时或在预定维护期间,确保大部分群集应用的连续可用性,同时最小化对应用的受影响部分的中断。应当理解,本发明概念可以以各种方式在数据处理系统、机器实现方法以及计算机程序产品中的任一个中实施,其中在计算机程序产品中,程序化装置被记录在一个或多个数据存储介质中,以便用于控制数据处理系统(例如,群集领导者)执行所需功能。用于存储这样的程序化装置的示例性数据存储介质在图8中以标号100示出。介质100被示出为传统地用于商业软件销售的类型的便携式光存储盘。这样的介质可以单独地或者与并入所需功能性的操作系统或其它软件产品相结合地,存储本发明的程序化装置。程序化装置还可以被存储在便携式磁介质(例如,软盘、快闪存储棒等),或者并入到计算机平台中的、与驱动系统(例如,盘驱动器)相组合的磁介质上。更广泛地,介质可以包括任何电子、磁、光、电磁、红外线、半导体系统、设备或装置、或者传播介质。
虽然描述了本发明的各个实施例,但是应当清楚,根据本发明,可以实现很多变体和可选实施例。因此,应当理解,除了根据所附权利要求及其等价物的精神之外,本发明不受到任何方式的限制。

Claims (15)

1.一种在具有多个节点的服务器群集中的群集恢复和维护方法,包括:
响应于有效节点成员关系改变,确定所述群集中的第一和第二区域,其中所述有效节点成员关系改变涉及由于有效节点出故障或者变得不可及或者由于涉及有效节点的维护操作而一个或多个有效节点离开或者被添加到所述群集;
所述第一区域是故障容忍区域,其包括所有工作的有效节点;
所述第二区域是故障容纳区域,其包括在所述成员关系改变涉及节点离开的情况下,参与所述成员关系改变的所有有效节点以及某一数目的备用节点;
在群集恢复或维护期间,在所述故障容纳区域中实现快速恢复/维护和高群集应用可用性;以及
在群集恢复或维护期间,在所述故障容忍区域中保持连续应用群集可用性。
2.根据权利要求1所述的方法,其中通过将由所述故障容纳组中的任何离开节点提供的客户端应用服务故障恢复到所述故障容纳组中对应数目的所述备用节点,在所述故障容忍组和所述故障容纳组之间保持事务隔离。
3.根据权利要求1所述的方法,其中通过由于采用基于请求/响应的群集恢复通信协议来监视所述故障容忍区域中的节点成员关系完整性,并且从所述故障容忍区域中移除不能根据所述基于请求/响应的通信协议而提供节点响应的节点,保证所述故障容忍区域中的群集成员关系完整性,从而在所述故障容忍区域中保持事务连续性。
4.根据权利要求1所述的方法,其中通过独立于群集大小的绝对节点标识符以及保留故障容忍区域中的恢复/维护前通信会话,保证所述故障容忍区域中的通信连续性,从而在所述故障容忍区域中保持事务连续性。
5.根据权利要求1所述的方法,其中通过并发协议范围界定,在所述故障容忍区域中保持事务连续性,其中应用故障恢复和恢复协议限于所述故障容纳组的群集应用和群集管理层,并且正常的事务应用协议限于所述故障容忍组的群集应用和群集管理层。
6.根据权利要求1所述的方法,还包括将修复或维护之后的一个或多个离开节点重新加入到所述群集中作为备用节点。
7.一种具有多个节点的服务器群集,被适配成向访问所述群集的客户端提供群集应用服务,包括:
被适配成响应于有效节点成员关系改变,确定所述群集中的第一和第二区域的程序逻辑,其中所述有效节点成员关系改变涉及由于有效节点出故障或者变得不可及或者由于涉及有效节点的维护操作而一个或多个有效节点离开或者被添加到所述群集;
所述第一区域是故障容忍区域,其包括所有工作的有效节点;
所述第二区域是故障容纳区域,其包括在所述成员关系改变涉及节点离开的情况下,参与所述成员关系改变的所有有效节点以及某一数目的备用节点;
被适配成在群集恢复或维护期间,在所述故障容纳区域中实现快速恢复/维护和高群集应用可用性的程序逻辑;以及
被适配成在群集恢复或维护期间,在所述故障容忍区域中保持连续应用群集可用性的程序逻辑。
8.根据权利要求7所述的系统,其中通过被适配成将由所述故障容纳组中的任何离开节点提供的客户端应用服务故障恢复到所述故障容纳组中对应数目的所述备用节点的程序逻辑,在所述故障容忍组和所述故障容纳组之间保持事务隔离。
9.根据权利要求7所述的系统,其中通过被适配成由于采用基于请求/响应的群集恢复通信协议来监视所述故障容忍区域中的节点成员关系完整性,并且从所述故障容忍区域中移除不能根据所述基于请求/响应的通信协议而提供节点响应的节点,保证所述故障容忍区域中的群集成员关系完整性的程序逻辑,在所述故障容忍区域中保持事务连续性。
10.根据权利要求7所述的系统,其中通过被适配成通过独立于群集大小的绝对节点标识符以及保留故障容忍区域中的恢复/维护前通信会话,保证所述故障容忍区域中的通信连续性的程序逻辑,在所述故障容忍区域中保持事务连续性。
11.根据权利要求7所述的系统,其中通过被适配成实现并发协议范围界定的程序逻辑,在所述故障容忍区域中保持事务连续性,其中应用故障恢复和恢复协议限于所述故障容纳组的群集应用和群集管理层,并且正常的事务应用协议限于所述故障容忍组的群集应用和群集管理层。
12.根据权利要求7所述的系统,还包括被适配成将修复或维护之后的一个或多个离开节点重新加入到所述群集中作为备用节点的程序逻辑。
13.根据权利要求7所述的系统,其中所述程序逻辑在所述服务器群集的群集领导节点中实施。
14.一种用于具有多个节点的服务器群集中的计算机程序产品,包括:
一个或多个数据存储介质;
记录在所述数据存储介质上的、用于对数据处理平台进行编程以通过执行权利要求1-6的任一项中的步骤而工作的单元。
15.一种用于具有多个节点的服务器群集中的计算机程序产品,所述服务器群集在客户端-服务器计算架构中实现服务器层,以提供群集恢复,所述计算机程序产品包括:
一个或多个数据存储介质;
记录在所述数据存储介质上的、用于对数据处理平台进行编程以通过以下操作而工作的单元:
确定第一组N个有效节点,其各自运行包括群集管理层和群集应用层的软件栈,其中所述群集应用层有效地代表运行在所述客户端上的客户端应用层中的一个或多个客户端应用提供服务;
确定第二组M个备用节点,其各自运行包括群集管理层和群集应用层的软件栈,其中所述群集应用层不有效地代表客户端应用提供服务;
响应于有效节点成员关系改变,确定所述群集中的第一和第二区域,其中所述有效节点成员关系改变涉及由于有效节点出故障或者变得不可及或者由于涉及有效节点的维护操作而一个或多个有效节点离开或者被添加到所述第一组;
所述第一区域是故障容忍区域,其包括所有工作的有效节点;
所述第二区域是故障容纳区域,其包括在所述成员关系改变涉及节点离开的情况下,参与所述成员关系改变的所有有效节点以及至多对应数目的所述备用节点;
在群集恢复或维护期间,通过以下操作在所述故障容纳区域中实现快速恢复/维护和高群集应用可用性:
将由所述故障容纳组中的任何离开节点提供的客户端应用服务故
障恢复到所述故障容纳组中至多对应数目的所述备用节点,以便在
所述故障容忍组和所述故障容纳组之间保持事务隔离;以及
在群集恢复或维护期间,通过以下操作在所述故障容忍区域中保持连续应用群集可用性:
利用基于请求/响应的群集恢复通信协议来监视所述故障容忍区
域中的节点成员关系完整性,并且移除不能提供节点响应的节点,
从而保证群集成员关系完整性;
通过独立于群集大小的绝对节点标识符以及保留故障容忍区域中的恢复前通信会话,保证所述故障容忍区域中的通信连续性;以及
实现并发协议范围界定,以将应用故障恢复和恢复协议限于所述故障容纳组的群集应用和群集管理层,并且将正常的事务应用协议限于所述故障容忍组的群集应用和群集管理层。
CN200610079870.8A 2005-06-29 2006-05-15 用于服务器群集恢复和维护的方法和系统 Expired - Fee Related CN1893370B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/170,331 2005-06-29
US11/170,331 US8195976B2 (en) 2005-06-29 2005-06-29 Fault-tolerance and fault-containment models for zoning clustered application silos into continuous availability and high availability zones in clustered systems during recovery and maintenance

Publications (2)

Publication Number Publication Date
CN1893370A true CN1893370A (zh) 2007-01-10
CN1893370B CN1893370B (zh) 2013-01-30

Family

ID=37591256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610079870.8A Expired - Fee Related CN1893370B (zh) 2005-06-29 2006-05-15 用于服务器群集恢复和维护的方法和系统

Country Status (3)

Country Link
US (2) US8195976B2 (zh)
CN (1) CN1893370B (zh)
TW (1) TW200712910A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103117901A (zh) * 2013-02-01 2013-05-22 华为技术有限公司 一种分布式心跳检测方法、装置及系统
CN103136370A (zh) * 2013-03-21 2013-06-05 曙光信息产业(北京)有限公司 元数据的恢复方法和装置
CN106250494A (zh) * 2016-08-02 2016-12-21 极道科技(北京)有限公司 一种基于文件系统的数据管理分析系统
CN106656682A (zh) * 2017-02-27 2017-05-10 网宿科技股份有限公司 集群心跳检测方法、系统及装置
CN109947602A (zh) * 2019-03-29 2019-06-28 浪潮商用机器有限公司 基于powerVM的分区恢复方法、装置、设备及介质
CN110598444A (zh) * 2012-09-07 2019-12-20 威智伦公司 具有多个服务器节点的物理安全系统
CN111273859A (zh) * 2020-01-14 2020-06-12 北京百度网讯科技有限公司 分发模式下复制组成员的变更方法、装置、设备和介质

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7391865B2 (en) 1999-09-20 2008-06-24 Security First Corporation Secure data parser method and system
CN101375284B (zh) 2004-10-25 2012-02-22 安全第一公司 安全数据分析方法和系统
WO2008054406A2 (en) 2005-11-18 2008-05-08 Orsini Rick L Secure data parser method and system
US20070294596A1 (en) * 2006-05-22 2007-12-20 Gissel Thomas R Inter-tier failure detection using central aggregation point
US7734960B2 (en) * 2006-08-14 2010-06-08 Hewlett-Packard Development Company, L.P. Method of managing nodes in computer cluster
US7600148B1 (en) * 2006-09-19 2009-10-06 United Services Automobile Association (Usaa) High-availability data center
US7747898B1 (en) 2006-09-19 2010-06-29 United Services Automobile Association (Usaa) High-availability data center
US7685465B1 (en) * 2006-09-19 2010-03-23 United Services Automobile Association (Usaa) High-availability data center
CA2670597A1 (en) 2006-12-05 2008-06-12 Don Martin Improved tape backup method using a secure data parser
US7689862B1 (en) * 2007-01-23 2010-03-30 Emc Corporation Application failover in a cluster environment
US7802128B2 (en) * 2007-03-26 2010-09-21 Oracle International Corporation Method to avoid continuous application failovers in a cluster
US7904551B2 (en) * 2007-03-29 2011-03-08 Oracle International Corporation Unicast clustering messaging
TW200849001A (en) * 2007-06-01 2008-12-16 Unisvr Global Information Technology Corp Multi-server hot-backup system and fault tolerant method
US8527976B2 (en) * 2007-11-14 2013-09-03 Nec Laboratories America, Inc. System and method for generating error traces for concurrency bugs
US7870425B2 (en) * 2007-11-23 2011-01-11 International Business Machines Corporation De-centralized nodal failover handling
EP2416541A1 (en) 2008-02-22 2012-02-08 Security First Corporation Systems and methods for secure workgroup management and communication
US8706878B1 (en) 2008-08-21 2014-04-22 United Services Automobile Association Preferential loading in data centers
US20100162032A1 (en) * 2008-12-23 2010-06-24 David Dodgson Storage availability using cryptographic splitting
US8135980B2 (en) * 2008-12-23 2012-03-13 Unisys Corporation Storage availability using cryptographic splitting
US20100154053A1 (en) * 2008-12-17 2010-06-17 David Dodgson Storage security using cryptographic splitting
US8010833B2 (en) * 2009-01-20 2011-08-30 International Business Machines Corporation Software application cluster layout pattern
JP2011034157A (ja) * 2009-07-30 2011-02-17 Hitachi Ltd 計算機システム及び単一ネームスペースの管理方法
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
US8589535B2 (en) * 2009-10-26 2013-11-19 Microsoft Corporation Maintaining service performance during a cloud upgrade
US8676753B2 (en) 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
WO2011068738A2 (en) 2009-11-25 2011-06-09 Orsini Rick L Systems and methods for securing data in motion
AU2011235075B2 (en) 2010-03-31 2015-10-01 Security First Corp. Systems and methods for securing data in motion
US8108733B2 (en) * 2010-05-12 2012-01-31 International Business Machines Corporation Monitoring distributed software health and membership in a compute cluster
US8601498B2 (en) 2010-05-28 2013-12-03 Security First Corp. Accelerator system for use with secure data storage
US8627135B2 (en) * 2010-08-14 2014-01-07 Teradata Us, Inc. Management of a distributed computing system through replication of write ahead logs
WO2012040231A2 (en) 2010-09-20 2012-03-29 Orsini Rick L Systems and methods for secure data sharing
BR112013029257B1 (pt) * 2011-05-17 2021-03-02 Saab Ab sistema aviônico distribuído e método para manusear sistema de apoio em um sistema aviônico
US9137383B2 (en) 2011-06-17 2015-09-15 Airbus Ds Communications, Inc. Systems, apparatus, and methods for collaborative and distributed emergency multimedia data management
CN102957562B (zh) * 2011-08-16 2016-03-30 中国石油化工股份有限公司 Linux集群系统远程自动维护方法和维护系统
US9275060B1 (en) * 2012-01-27 2016-03-01 Symantec Corporation Method and system for using high availability attributes to define data protection plans
US9747133B2 (en) 2012-06-21 2017-08-29 Microsoft Technology Licensing, Llc Enhanced availability for message services
CN104854575A (zh) * 2012-10-22 2015-08-19 卡希典通讯有限公司 集群会话管理
US9128777B2 (en) * 2013-01-28 2015-09-08 Google Inc. Operating and maintaining a cluster of machines
EP2956887A1 (en) 2013-02-13 2015-12-23 Security First Corp. Systems and methods for a cryptographic file system layer
US9391879B2 (en) 2013-09-25 2016-07-12 Airbus Ds Communications, Inc. Mixed media call routing
US9264494B2 (en) * 2013-10-21 2016-02-16 International Business Machines Corporation Automated data recovery from remote data object replicas
US8929856B1 (en) 2014-02-07 2015-01-06 Cassidian Communications, Inc. Emergency services routing proxy cluster management
WO2015172107A1 (en) 2014-05-09 2015-11-12 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
WO2016081942A2 (en) 2014-11-21 2016-05-26 Security First Corp. Gateway for cloud-based secure storage
CN107615252A (zh) 2015-01-05 2018-01-19 邦存科技有限公司 横向扩展存储系统中的元数据管理
US10284621B2 (en) 2015-11-09 2019-05-07 International Business Machines Corporation Session management
US11544049B2 (en) 2016-02-12 2023-01-03 Nutanix, Inc. Virtualized file server disaster recovery
CN107153595B (zh) * 2016-03-04 2020-03-17 福建天晴数码有限公司 分布式数据库系统的故障检测方法及其系统
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
US10264065B2 (en) * 2016-06-30 2019-04-16 Veritas Technologies Llc Application aware input/output fencing
US10698780B2 (en) 2016-08-05 2020-06-30 Nutanix, Inc. Implementing availability domain aware replication policies
US10802749B2 (en) 2016-08-05 2020-10-13 Nutanix, Inc. Implementing hierarchical availability domain aware replication policies
US10270646B2 (en) 2016-10-24 2019-04-23 Servicenow, Inc. System and method for resolving master node failures within node clusters
US10678457B2 (en) 2016-11-22 2020-06-09 Nutanix, Inc. Establishing and maintaining data apportioning for availability domain fault tolerance
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US20180260262A1 (en) * 2017-03-07 2018-09-13 Microsoft Technology Licensing, Llc Availability management interfaces in a distributed computing system
CN109257195B (zh) * 2017-07-12 2021-01-15 华为技术有限公司 集群中节点的故障处理方法及设备
US10742724B2 (en) * 2017-08-17 2020-08-11 Hewlett Packard Enterprise Development Lp Cluster computer system with failover handling
US11947489B2 (en) 2017-09-05 2024-04-02 Robin Systems, Inc. Creating snapshots of a storage volume in a distributed storage system
US10579276B2 (en) 2017-09-13 2020-03-03 Robin Systems, Inc. Storage scheme for a distributed storage system
US10534549B2 (en) 2017-09-19 2020-01-14 Robin Systems, Inc. Maintaining consistency among copies of a logical storage volume in a distributed storage system
US10782887B2 (en) 2017-11-08 2020-09-22 Robin Systems, Inc. Window-based prority tagging of IOPs in a distributed storage system
US10846001B2 (en) 2017-11-08 2020-11-24 Robin Systems, Inc. Allocating storage requirements in a distributed storage system
US11748203B2 (en) 2018-01-11 2023-09-05 Robin Systems, Inc. Multi-role application orchestration in a distributed storage system
US10628235B2 (en) 2018-01-11 2020-04-21 Robin Systems, Inc. Accessing log files of a distributed computing system using a simulated file system
US11099937B2 (en) 2018-01-11 2021-08-24 Robin Systems, Inc. Implementing clone snapshots in a distributed storage system
US10896102B2 (en) 2018-01-11 2021-01-19 Robin Systems, Inc. Implementing secure communication in a distributed computing system
US11392363B2 (en) 2018-01-11 2022-07-19 Robin Systems, Inc. Implementing application entrypoints with containers of a bundled application
US10642697B2 (en) 2018-01-11 2020-05-05 Robin Systems, Inc. Implementing containers for a stateful application in a distributed computing system
US11582168B2 (en) 2018-01-11 2023-02-14 Robin Systems, Inc. Fenced clone applications
US10845997B2 (en) 2018-01-12 2020-11-24 Robin Systems, Inc. Job manager for deploying a bundled application
US10642694B2 (en) * 2018-01-12 2020-05-05 Robin Systems, Inc. Monitoring containers in a distributed computing system
US10846137B2 (en) 2018-01-12 2020-11-24 Robin Systems, Inc. Dynamic adjustment of application resources in a distributed computing system
US10579364B2 (en) 2018-01-12 2020-03-03 Robin Systems, Inc. Upgrading bundled applications in a distributed computing system
US10963356B2 (en) 2018-04-18 2021-03-30 Nutanix, Inc. Dynamic allocation of compute resources at a recovery site
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
US10776225B2 (en) * 2018-06-29 2020-09-15 Hewlett Packard Enterprise Development Lp Proactive cluster compute node migration at next checkpoint of cluster cluster upon predicted node failure
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US11023328B2 (en) 2018-07-30 2021-06-01 Robin Systems, Inc. Redo log for append only storage scheme
US10976938B2 (en) 2018-07-30 2021-04-13 Robin Systems, Inc. Block map cache
US10599622B2 (en) 2018-07-31 2020-03-24 Robin Systems, Inc. Implementing storage volumes over multiple tiers
US10817380B2 (en) 2018-07-31 2020-10-27 Robin Systems, Inc. Implementing affinity and anti-affinity constraints in a bundled application
US11036439B2 (en) 2018-10-22 2021-06-15 Robin Systems, Inc. Automated management of bundled applications
US10908848B2 (en) 2018-10-22 2021-02-02 Robin Systems, Inc. Automated management of bundled applications
US11770447B2 (en) * 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US10846079B2 (en) 2018-11-14 2020-11-24 Nutanix, Inc. System and method for the dynamic expansion of a cluster with co nodes before upgrade
US10620871B1 (en) 2018-11-15 2020-04-14 Robin Systems, Inc. Storage scheme for a distributed storage system
US11138077B2 (en) * 2019-01-24 2021-10-05 Walmart Apollo, Llc System and method for bootstrapping replicas from active partitions
US11086725B2 (en) 2019-03-25 2021-08-10 Robin Systems, Inc. Orchestration of heterogeneous multi-role applications
US11256434B2 (en) 2019-04-17 2022-02-22 Robin Systems, Inc. Data de-duplication
US10831387B1 (en) 2019-05-02 2020-11-10 Robin Systems, Inc. Snapshot reservations in a distributed storage system
US10877684B2 (en) 2019-05-15 2020-12-29 Robin Systems, Inc. Changing a distributed storage volume from non-replicated to replicated
CN110445871A (zh) * 2019-08-14 2019-11-12 益逻触控系统公司 自助服务终端的操作方法及自助服务终端
US11226847B2 (en) 2019-08-29 2022-01-18 Robin Systems, Inc. Implementing an application manifest in a node-specific manner using an intent-based orchestrator
US11520650B2 (en) 2019-09-05 2022-12-06 Robin Systems, Inc. Performing root cause analysis in a multi-role application
US11249851B2 (en) 2019-09-05 2022-02-15 Robin Systems, Inc. Creating snapshots of a storage volume in a distributed storage system
US11347684B2 (en) 2019-10-04 2022-05-31 Robin Systems, Inc. Rolling back KUBERNETES applications including custom resources
US11113158B2 (en) 2019-10-04 2021-09-07 Robin Systems, Inc. Rolling back kubernetes applications
US11366728B2 (en) * 2019-11-27 2022-06-21 Amazon Technologies, Inc. Systems and methods for enabling a highly available managed failover service
US11385975B2 (en) * 2019-11-27 2022-07-12 Amazon Technologies, Inc. Systems and methods for enabling a highly available managed failover service
US11403188B2 (en) 2019-12-04 2022-08-02 Robin Systems, Inc. Operation-level consistency points and rollback
US11411808B2 (en) 2020-03-27 2022-08-09 Amazon Technologies, Inc. Managing failover region availability for implementing a failover service
US11397651B2 (en) 2020-03-27 2022-07-26 Amazon Technologies, Inc. Managing failover region availability for implementing a failover service
US11397652B2 (en) 2020-03-27 2022-07-26 Amazon Technologies, Inc. Managing primary region availability for implementing a failover from another primary region
US11734131B2 (en) * 2020-04-09 2023-08-22 Micron Technology, Inc. Memory device having redundant media management capabilities
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
US11108638B1 (en) 2020-06-08 2021-08-31 Robin Systems, Inc. Health monitoring of automatically deployed and managed network pipelines
CN113783906B (zh) * 2020-06-10 2024-03-26 戴尔产品有限公司 生命周期管理加速
US11528186B2 (en) 2020-06-16 2022-12-13 Robin Systems, Inc. Automated initialization of bare metal servers
US11740980B2 (en) 2020-09-22 2023-08-29 Robin Systems, Inc. Managing snapshot metadata following backup
US11743188B2 (en) 2020-10-01 2023-08-29 Robin Systems, Inc. Check-in monitoring for workflows
US11456914B2 (en) 2020-10-07 2022-09-27 Robin Systems, Inc. Implementing affinity and anti-affinity with KUBERNETES
US11271895B1 (en) 2020-10-07 2022-03-08 Robin Systems, Inc. Implementing advanced networking capabilities using helm charts
US11780603B2 (en) 2020-11-02 2023-10-10 Ge Aviation Systems Llc Method for resiliency in compute resources in avionics
US11750451B2 (en) 2020-11-04 2023-09-05 Robin Systems, Inc. Batch manager for complex workflows
US11556361B2 (en) 2020-12-09 2023-01-17 Robin Systems, Inc. Monitoring and managing of complex multi-role applications
US11709741B1 (en) 2021-03-29 2023-07-25 Amazon Technologies, Inc. Systems and methods for enabling a failover service for block-storage volumes
US20230032812A1 (en) * 2021-08-02 2023-02-02 International Business Machines Corporation Auto-split and auto-merge clusters
US11803362B2 (en) 2021-12-08 2023-10-31 Microsoft Technology Licensing, Llc Lock-lease management of hardware and software maintenance, deployment, and optimization operations using effective application availaility
CN115426247A (zh) * 2022-08-22 2022-12-02 中国工商银行股份有限公司 故障节点的处理方法、装置、存储介质及电子设备

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151689A (en) 1992-12-17 2000-11-21 Tandem Computers Incorporated Detecting and isolating errors occurring in data communication in a multiple processor system
US5848230A (en) * 1995-05-25 1998-12-08 Tandem Computers Incorporated Continuously available computer memory systems
US6393485B1 (en) * 1998-10-27 2002-05-21 International Business Machines Corporation Method and apparatus for managing clustered computer systems
US20040205414A1 (en) 1999-07-26 2004-10-14 Roselli Drew Schaffer Fault-tolerance framework for an extendable computer architecture
US7908520B2 (en) 2000-06-23 2011-03-15 A. Avizienis And Associates, Inc. Self-testing and -repairing fault-tolerance infrastructure for computer systems
US6990606B2 (en) * 2000-07-28 2006-01-24 International Business Machines Corporation Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters
US6678840B1 (en) 2000-08-31 2004-01-13 Hewlett-Packard Development Company, Lp. Fault containment and error recovery in a scalable multiprocessor
JP2004519024A (ja) * 2000-09-08 2004-06-24 ゴー アヘッド ソフトウェア インコーポレイテッド 多数のノードを含むクラスタを管理するためのシステム及び方法
CN1308278A (zh) * 2001-02-15 2001-08-15 华中科技大学 集群服务器的ip容错方法
US6851074B2 (en) 2001-04-30 2005-02-01 Hewlett-Packard Development Company System and method for recovering from memory failures in computer systems
US6922791B2 (en) * 2001-08-09 2005-07-26 Dell Products L.P. Failover system and method for cluster environment
KR100420266B1 (ko) * 2001-10-23 2004-03-02 한국전자통신연구원 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법및 그 장치
US20030158933A1 (en) * 2002-01-10 2003-08-21 Hubbert Smith Failover clustering based on input/output processors
US7139925B2 (en) * 2002-04-29 2006-11-21 Sun Microsystems, Inc. System and method for dynamic cluster adjustment to node failures in a distributed data system
JP4295474B2 (ja) * 2002-05-24 2009-07-15 ソニー株式会社 ディスク記録媒体、ディスクドライブ装置、ディスク製造方法
US6986076B1 (en) * 2002-05-28 2006-01-10 Unisys Corporation Proactive method for ensuring availability in a clustered system
US7529822B2 (en) * 2002-05-31 2009-05-05 Symantec Operating Corporation Business continuation policy for server consolidation environment
CN100388218C (zh) * 2002-06-27 2008-05-14 中兴通讯股份有限公司 一种在服务器之间实现备份的方法
US6782424B2 (en) 2002-08-23 2004-08-24 Finite State Machine Labs, Inc. System, method and computer program product for monitoring and controlling network connections from a supervisory operating system
US20040059735A1 (en) * 2002-09-10 2004-03-25 Gold Russell Eliot Systems and methods for enabling failover in a distributed-object computing environment
CN1241117C (zh) 2002-12-31 2006-02-08 联想(北京)有限公司 机群自适应的控制方法
US7159150B2 (en) 2002-12-31 2007-01-02 International Business Machines Corporation Distributed storage system capable of restoring data in case of a storage failure
US7134046B2 (en) 2003-03-19 2006-11-07 Lucent Technologies Inc. Method and apparatus for high availability distributed processing across independent networked computer fault groups
US7287186B2 (en) * 2003-06-02 2007-10-23 Surgient Inc. Shared nothing virtual cluster
US7526549B2 (en) 2003-07-24 2009-04-28 International Business Machines Corporation Cluster data port services for clustered computer system
US7120821B1 (en) * 2003-07-24 2006-10-10 Unisys Corporation Method to revive and reconstitute majority node set clusters
US7284147B2 (en) 2003-08-27 2007-10-16 International Business Machines Corporation Reliable fault resolution in a cluster
US7225356B2 (en) * 2003-11-06 2007-05-29 Siemens Medical Solutions Health Services Corporation System for managing operational failure occurrences in processing devices
US20050108593A1 (en) * 2003-11-14 2005-05-19 Dell Products L.P. Cluster failover from physical node to virtual node
US7464378B1 (en) * 2003-12-04 2008-12-09 Symantec Operating Corporation System and method for allowing multiple sub-clusters to survive a cluster partition
US7168001B2 (en) * 2004-02-06 2007-01-23 Hewlett-Packard Development Company, L.P. Transaction processing apparatus and method
US7478275B1 (en) * 2004-03-29 2009-01-13 Symantec Operating Corporation Method and apparatus for performing backup storage of checkpoint data within a server cluster
JP2005301442A (ja) * 2004-04-07 2005-10-27 Hitachi Ltd ストレージ装置
US7711977B2 (en) * 2004-04-15 2010-05-04 Raytheon Company System and method for detecting and managing HPC node failure
US7418633B1 (en) * 2004-05-13 2008-08-26 Symantec Operating Corporation Method and apparatus for immunizing applications on a host server from failover processing within a switch
US7640328B1 (en) * 2004-06-30 2009-12-29 Symantec Operating Corporation Method and apparatus for prioritizing provisioning data in a provisioning server
US7409576B2 (en) * 2004-09-08 2008-08-05 Hewlett-Packard Development Company, L.P. High-availability cluster with proactive maintenance
US7925932B1 (en) * 2004-09-20 2011-04-12 Symantec Operating Corporation Method and appartus for detecting an application process failure
US7451347B2 (en) * 2004-10-08 2008-11-11 Microsoft Corporation Failover scopes for nodes of a computer cluster
US7715308B2 (en) * 2004-12-09 2010-05-11 Honeywell International Inc. Fault tolerance in a wireless network
US20060155912A1 (en) * 2005-01-12 2006-07-13 Dell Products L.P. Server cluster having a virtual server
US7734960B2 (en) * 2006-08-14 2010-06-08 Hewlett-Packard Development Company, L.P. Method of managing nodes in computer cluster
US7870425B2 (en) * 2007-11-23 2011-01-11 International Business Machines Corporation De-centralized nodal failover handling
US8108733B2 (en) * 2010-05-12 2012-01-31 International Business Machines Corporation Monitoring distributed software health and membership in a compute cluster

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110598444A (zh) * 2012-09-07 2019-12-20 威智伦公司 具有多个服务器节点的物理安全系统
CN110598444B (zh) * 2012-09-07 2023-07-07 摩托罗拉解决方案公司 具有多个服务器节点的物理安全系统
CN103117901A (zh) * 2013-02-01 2013-05-22 华为技术有限公司 一种分布式心跳检测方法、装置及系统
CN103136370A (zh) * 2013-03-21 2013-06-05 曙光信息产业(北京)有限公司 元数据的恢复方法和装置
CN103136370B (zh) * 2013-03-21 2016-05-25 曙光信息产业(北京)有限公司 元数据的恢复方法和装置
CN106250494A (zh) * 2016-08-02 2016-12-21 极道科技(北京)有限公司 一种基于文件系统的数据管理分析系统
CN106250494B (zh) * 2016-08-02 2019-04-09 极道科技(北京)有限公司 一种基于文件系统的数据管理分析系统
CN106656682A (zh) * 2017-02-27 2017-05-10 网宿科技股份有限公司 集群心跳检测方法、系统及装置
CN106656682B (zh) * 2017-02-27 2019-10-25 网宿科技股份有限公司 集群心跳检测方法、系统及装置
CN109947602A (zh) * 2019-03-29 2019-06-28 浪潮商用机器有限公司 基于powerVM的分区恢复方法、装置、设备及介质
CN111273859A (zh) * 2020-01-14 2020-06-12 北京百度网讯科技有限公司 分发模式下复制组成员的变更方法、装置、设备和介质
CN111273859B (zh) * 2020-01-14 2023-09-15 北京百度网讯科技有限公司 分发模式下复制组成员的变更方法、装置、设备和介质

Also Published As

Publication number Publication date
CN1893370B (zh) 2013-01-30
US8195976B2 (en) 2012-06-05
TW200712910A (en) 2007-04-01
US20120166866A1 (en) 2012-06-28
US20070006015A1 (en) 2007-01-04
US8286026B2 (en) 2012-10-09

Similar Documents

Publication Publication Date Title
CN1893370B (zh) 用于服务器群集恢复和维护的方法和系统
US9201747B2 (en) Real time database system
US9515869B2 (en) Systems and methods for server cluster application virtualization
US10817478B2 (en) System and method for supporting persistent store versioning and integrity in a distributed data grid
US7743036B2 (en) High performance support for XA protocols in a clustered shared database
KR100537581B1 (ko) 클러스터링 노드 구성에서의 마스터 노드 선택 방법
US7296191B2 (en) Scalable method of continuous monitoring the remotely accessible resources against the node failures for very large clusters
EP0717355B1 (en) Parallel processing system and method
US20140244578A1 (en) Highly available main memory database system, operating method and uses thereof
US20070061379A1 (en) Method and apparatus for sequencing transactions globally in a distributed database cluster
US8082344B2 (en) Transaction manager virtualization
JP2007528557A (ja) スケラブルなソフトウェアをベースにしたクォーラムアーキテクチャ
CA2913036A1 (en) Index update pipeline
US8527454B2 (en) Data replication using a shared resource
US9880970B2 (en) Method for implementing highly available data parallel operations on a computational grid
US11321283B2 (en) Table and index communications channels
US8356072B1 (en) Systems and methods for scalable heterogeneous and homogeneous unified enterprise storage clusters
US7558858B1 (en) High availability infrastructure with active-active designs
WO2004059484A1 (fr) Procede de veille et commande de charge dans un systeme a traitement reparti de donnees
Anceaume A comparison of fault-tolerant atomic broadcast protocols
Gupta et al. On the fly file dereplication mechanism
Li et al. An improved HTTP session management model in distributed environment
Vardhan et al. De-replication: A Dynamic Memory-aware Mechanism
Brunet et al. Workshop on Wide Spectrum Social Signal Processing (WS3P 2012)
Amir Replication over a Partitioned Network

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: 20130130

Termination date: 20200515