CN107003920A - 用于处置灾难恢复群集中的多节点故障的系统和方法 - Google Patents

用于处置灾难恢复群集中的多节点故障的系统和方法 Download PDF

Info

Publication number
CN107003920A
CN107003920A CN201580063401.4A CN201580063401A CN107003920A CN 107003920 A CN107003920 A CN 107003920A CN 201580063401 A CN201580063401 A CN 201580063401A CN 107003920 A CN107003920 A CN 107003920A
Authority
CN
China
Prior art keywords
node
data
nodes
file
data storage
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
CN201580063401.4A
Other languages
English (en)
Other versions
CN107003920B (zh
Inventor
V·拉马苏布拉马尼亚姆
H·卡达亚姆
P·萨尔法雷
Y·E·赵
C·帕特尔
H·克雷曼
P·德希穆克
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.)
NetApp Inc
Original Assignee
NetApp 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 NetApp Inc filed Critical NetApp Inc
Publication of CN107003920A publication Critical patent/CN107003920A/zh
Application granted granted Critical
Publication of CN107003920B publication Critical patent/CN107003920B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • 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/2097Error 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 maintaining the standby controller/processing unit updated
    • 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/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/2046Error 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 where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

提供了一种用于处置灾难恢复群集中的多节点故障的系统和方法。在错误状况的情况中,转换操作从出故障的节点到一个或者多个存活的节点出现。被存储在非易失性随机访问存储器中的数据由存活的节点恢复以使例如盘、集合体和/或卷的存储对象进入一致状态。

Description

用于处置灾难恢复群集中的多节点故障的系统和方法
相关申请
本申请要求对提交于2014年12月3日、名称为“SYSTEM AND METHOD FOR HANDLINGMULTI-NODE FAILURES IN A DISASTER RECOVERY CLUSTER”的第14/559,343美国非临时专利申请以及提交于2014年9月22日、名称为“SYSTEM AND METHOD FOR HANDLING MULTI-NODE FAILURES IN A DISASTER RECOVERY CLUSTER”的第2709/DEL/2014号印度专利申请的优先权。第14/559,343美国非临时专利申请和第2709/DEL/2014号印度专利申请通过引用而结合于此。
技术领域
本公开内容涉及群集式存储系统,并且更具体地涉及管理群集式存储系统中的多个故障。
背景技术
存储系统通常包括如希望的那样可以将信息(即,数据)录入到其中和可以从其获得数据的一个或者多个存储设备,比如盘。存储系统(即,节点)可以在逻辑上将被存储在设备上的数据组织为存储容器,比如文件、逻辑单位(lun)和/或集合体,这些集合体具有保持文件和/或lun的一个或者多个卷。为了改进被包含在存储容器中的数据的性能和可用性,多个节点可以被互连为群集,该群集被配置为提供与存储容器的组织有关的存储服务并且被配置有如下性质,该性质是在一个节点出故障时,另一节点可以服务于数据访问请求,即,操作,这些数据访问请求涉及出故障的节点的存储容器。
可以在高可用性(HA)对中布置节点以在节点之一的故障的情况中实现接管操作。在不同地点的HA对还可以被配置成灾难恢复(DR)组以在特定地点的故障的情况中提供转换操作。可以对于单个故障来布置常规群集化系统;然而,在多个节点出故障的情况中,常规故障转移系统可能不支持在无数据丢失情况下的继续的操作。
附图说明
可以通过与附图结合参照以下描述来更好地理解这里描述的以上和更多优点,在附图中,相似标号指示相同或者功能相似的单元,在附图中:
图1是高可用性群集布置的框图;
图2是节点的框图;
图3是存储操作系统的框图;
图4是可以与本发明一起被有利地使用的文件的说明性缓冲树的示意框图;
图5是可以与本发明一起被有利地使用的文件的说明性缓冲树的示意框图;
图6是示例性集合体的示意框图;
图7是集合体的示例性盘上布局的示意框图;
图8是图示了管理过程的集合的示意框图;
图9是具体描述用于执行转换操作的过程的步骤的流程图;以及
图10是具体描述用于执行滚动灾难中的转换操作的过程的步骤的流程图。
具体实施方式
这里描述的方面提供了一种用于处置灾难恢复群集中的多节点故障的系统和方法。在一个方面中,描述了一种用于处置其中存活的地点具有比出故障的地点更少的节点的不对称配置的系统。在这样的方面中,单个节点可能需要处置多个灾难恢复伙伴。为了保证节点的用于处置多个灾难恢复伙伴的能力,可以在与节点关联的管理主机内设置用户可配置的对象限制选项。如果设置了对象限制选项,则减少特定节点可以主控的对象(比如卷)的数目;然而,节点可以在错误状况的情况中处置多个其它出故障的节点的工作量;如果没有设置对象限制选项,则增加对象(例如,卷)的数目,但是在多个故障的情况中有可能的是数据可能在被返回到服务之前不可访问。
灾难恢复组
图1是包括被设置在多个地点(例如,地点A和地点B)的节点200的灾难恢复(DR)组100的框图。地点可以在物理上相互远离。在每个地点(例如,地点A、地点B)的节点200可以被布置为由HA互连120互连的高可用性(HA)对(例如,本地节点和HA伙伴节点)组成的群集110。这样的HA伙伴布置可以在地点内提供如下冗余性:如果一个节点出故障,则另一节点可以通过执行接管(TO)操作来承担它的角色。相似地,在地点内的节点可以与另一地点的节点被配对以创建(DR)对(例如,经由交换机125(例如,光纤信道(FC)交换机)互连的本地节点和DR伙伴节点)。这样的DR伙伴布置可以提供跨地点的冗余性,从而使得如果节点驻留在其内的地点出故障,则在另一地点的节点可以通过执行转换(SO)序列(即,跨群集接管)来承担它的角色。
节点是否为本地节点、HR伙伴节点、DR伙伴节点或者DR辅助节点(即,DR伙伴节点的HA伙伴节点)依赖于看待系统的观点。例如,从节点200A1的观点来看,节点201A1是本地节点,节点200A2是HA伙伴节点,节点200B1是DR伙伴节点,并且节点200B2是DR辅助节点。类似地,从节点200B1的观点来看,节点200B1是本地节点,节点200B是HA伙伴节点,节点200A1是DR伙伴节点,并且节点200A是DR辅助节点。尽管以下描述中的许多描述是从节点200A1的观点来看(从而使得节点200A1是本地节点),但是在一些情况中,出于说明性目的而利用从其它节点(比如节点200B1)来看的观点。应当理解,对观点并且因此对某些节点的角色的选择仅仅是为了说明的清楚,并且具体节点不限于具体角色,但是代之以可以同时满足多个角色。
每个节点200经由交换机125(例如,经由节点的相关的交换机125)被耦合到共享的存储结构110,该共享的存储结构110包括可以在其上存储数据的多个存储设备(例如,盘)。客户端(未示出)可以通过根据信息递送的客户端/服务器模型与节点200交互来访问被存储在共享的存储结构110中的数据。响应于来自客户端的请求(例如,数据访问请求),节点200可以执行操作(例如,服务数据访问请求,这些服务数据访问请求涉及共享的存储结构的存储设备和在其上组织的逻辑存储容器)。
在给定的池中,盘可以被组织为独立(或者廉价)盘冗余阵列(RAID)组。可以在raid级(比如RAID-4)实施RAID组,其中通过跨RAID组中的给定的数目的存储设备冗余地写入数据“条”并且在专用存储设备上存储关于条化的数据的奇偶校验信息来增加stat存储装置的可靠性/完整性。同样地,可以使用另一类型的RAID实现方式(比如RAID双奇偶校验(RAID-DP))来实施RAID组,该RAID-DP在RAID-6类型布局内实施双奇偶校验条。在备选方面中,可以在对集合体进行镜像的同步的RAID镜像中组织存储设备。这样的同步的RAID镜像布置向DR伙伴提供数据的镜像的副本。应当理解,可以备选地利用广泛多种其它级别和类型的RAID。
可以将一个或者多个RAID组组织成代表存储装置的集合的集合体(AGGR)。集合体可以包括根集合体以及数据集合体,根集合体包含存储特殊目录和配置文件的根卷,数据集合体存储用户数据。尽管每个集合体可以在物理上可由多个节点200访问,但是每个集合体一般地由被布置为执行涉及该集合体的操作(例如,服务数据访问请求)的单个节点“拥有”。说明性地,个体集合体可以由特定节点拥有。因此,例如,集合体130A1一可以由节点2001A1拥有等。应当注意到,尽管对于每个节点示出了单个集合体,但是在本发明的备选方面中,可变数目的集合体可以与单个节点关联。在接管操作期间,出故障的节点的集合体、卷和/或盘可以由存活的节点服务。因此,例如,如果节点200A1出故障,则集合体130A1可以由存货的节点200A2服务。另外,在影响整个地点的更大错误状况的情况中,集合体可以被转换到备选地点。以下描述的各种示例涉及处置其中多个节点已经在群集环境中出故障的情形。
为了有助于访问被存储在共享的存储结构110中的数据,节点200还可以将存储空间“虚拟化”。例如,文件系统(例如,随处写入文件布局文件系统)可以在逻辑上将存储的数据组织成命名的存储容器(比如目录和文件)的分级结构。每个文件可以被实施为被配置为存储数据的盘块的集合,而目录可以被实施为其中存储名称和指向其它文件和目录的链接的特殊地格式化的文件。另外,可以将信息组织成作为命名的逻辑单位编号(lun)而被导出的存储容器(比如块)的分级结构。节点200可以基于以文件为基础的访问协议(比如公共因特网文件系统(CIFS)协议或者网络文件系统(NFS)协议)来服务于请求,以允许访问某些存储容器,比如文件和目录。同样地,节点200可以基于以块为基础的访问协议(比如在TCP之上被封装的小型计算机系统接口(SCSI)协议(iSCSI)和在光纤信道之上被封装的SCSI(FCP))来服务于请求,以允许访问其它类型的存储容器(比如块或者lun)的形式。
每个节点200可以记下进行中的操作(例如,数据访问请求),这些操作涉及由节点拥有的集合体130的存储设备。说明性地,这样的记下的操作可以包括已经被接收和作用于(被处理)的、但是尚未提交(即持久地存储)到存储设备的操作。这一信息被说明性地地维护在节点200的非易失性随机存取存储器(NVRAM)225或者更具体地为节点200的NVRAM 225的本地部分中。在正常操作期间,将本地节点(例如,节点200A1)的NVRAM(例如,225A1)中的数据镜像到HA伙伴节点(例如,节点200A2)的NVRAM(例如,225A2)并且在HA伙伴节点的NVRAM中维护该数据。作为响应于本地节点(例如,节点200A1)的故障而由HA伙伴节点(例如200A2)执行的接管序列的部分,HA伙伴节点可以承担出故障的节点的身份、访问由出故障的节点利用的存储设备、回复在它的NVRAM(例如,225A2)中维护的镜像的操作。
相似地,在正常操作期间,将本地节点(例如,节点200A1)的NVRAM(例如,225A1)中的数据镜像到DR伙伴节点(例如,节点200B1)的NVRAM(例如,225B1),并且在DR伙伴节点的NVRAM中维护该数据。作为响应于本地节点(例如,节点200A1)的地点(例如,地点A)的故障而由DR伙伴节点(例如,200B1)执行的转换序列的部分,DR伙伴节点可以承担出故障的节点的身份并且回复在它的NVRAM(例如,225B1)中维护的镜像的操作。由于DR伙伴节点(例如,200B1)本身具有HA伙伴节点(例如,辅助节点200B2),所以应当理解,被镜像到DR伙伴节点(例如,200B1)的在本地节点(例如,节点200A1)的NVRAM(例如,225A1)中的数据还可以被镜像到辅助节点(例如,节点200B2),由此允许该节点也能够在多个故障的情况中接管节点。
节点
图2是可以在图1的灾难DR组100中被利用的节点200(例如,作为节点200A1、220A2、200B1或者200B2)的框图。节点200包括由系统互连(比如总线)互连的一个或者多个处理器210、存储器220、本地存储装置230、网络适配器270、虚拟接口(VI)适配器240、HA接口250、存储适配器260和NVRAM 225。
处理器210和在一些实现方式中的适配器/接口240270可以包括被配置为执行软件程序并且操控数据结构的处理单元和/或逻辑电路。在一些情况中,适配器/接口240-270的处理单元可以被配置为从处理器210分别分流分组处理和存储访问操作中的一些或者所有分流分组处理和存储访问操作,以由此增加由节点200提供的存储服务的性能。
存储器220可以包括用于存储软件程序中的至少一些软件程序并且操控数据结构的存储器位置。在这些程序之中可以存在通过调用支持由节点实施的存储服务的操作以及其它操作来在功能上组织节点200的存储操作系统225。在一个方面中,存储操作系统是实施文件系统的从加州Sunnyvale的NetApp Inc.可用的DataONTAPTM操作系统。然而,可以备选地利用实施其它类型的文件系统的多种其它类型的存储操作系统。
本地存储装置230可以包括由节点用来持久地存储由在节点200上执行的一个或者多个过程提供的配置信息的一个或者多个本地存储设备,比如被说明性地体现为闪存设备的固态驱动。网络适配器240可以包括适于通过可以例如采用以太网网络或者FC网络的形式的网络将节点200耦合到客户端的一个或者多个端口。这样,网络适配器240可以包括网络接口控制器(NIC),该NIC可以包括TCP/IP分流引擎(TOE)和/或iSCSI主机总线适配器(HBA)。同样地,存储适配器250可以包括适于经由交换机(例如,FC交换机)125将节点200耦合到共享的存储结构110的存储设备的一个或者多个端口、与在节点200上执行的存储操作系统300配合以服务于如下操作(例如,数据访问请求),这些操作涉及共享的存储结构110的存储设备。在一个实现方式中,存储适配器采用FC主机总线适配器(HBA)的形式。
如以上讨论的那样,NVRAM 225可以记下信息,比如由节点200服务的进行中的操作(例如,数据访问请求),包括尚未被交付(即,持久地存储)到存储设备的操作。可以在NVRAM 225的本地部分中维护这样的信息。另外,为了允许TO和SO操作,NVRAM也可以存储镜像的信息副本,比如由DR组的其它节点(例如,节点HA伙伴节点、DR伙伴节点和辅助节点)服务的所记下的操作。可以在NVRAM 225的相应的其它部分中维护这样的信息。为了持久地存储记下的信息,NVRAM 225可以包括备用电池或者被设计为固有地具有允许NVRAM贯穿系统重启、功率故障等来维护信息的上个状态留置能力(例如,包括非易失性半导体存储器,比如存储类存储器)。
HA接口260可以包括适于经由HA互连120来将节点200耦合到HA伙伴节点的端口电路。HA接口260可以用来例如利用远程直接存储器存取(RDMA)协议来将在节点200的NVRAM中维护的信息(比如操作(例如,数据访问请求))镜像(拷贝)到它的HA伙伴节点的NVRAM。操作可以由节点200的文件系统处理并且在每操作时(例如,在每请求基础上)在NVRAM 300中被记下。
另外,大群集(MC)虚拟接口(VI)适配器270可以包括适于经由交换机(例如,FC交换机)120将节点200耦合到DR伙伴节点的端口电路。在一个实现方式中,MC VI适配器270可以是FC VI适配器。与HA接口相似,MC VI适配器可以用来将被维护在节点200的NVRAM中的信息(比如操作(例如,数据访问请求))镜像(拷贝)到它的DR伙伴节点的NVRAM。MC VI适配器270可以在每操作时(例如,在每请求基础上)将操作从节点200的NVRAM拷贝(“镜像”)到DR伙伴节点的NVRAM。
存储操作系统
为了有助于访问盘140,存储操作系统300实施与一个或者多个虚拟化模块配合以将由盘140提供的存储空间“虚拟化”的随处写入文件系统。文件系统在逻辑上将信息组织为盘上的命名的目录和文件的分级结构。每个“盘上”文件可以被实施为被配置为存储信息,比如数据的盘块的集合,而目录可以被实施为其中存储名称和指向其它文件和目录的链接的特殊地格式化的文件。虚拟化模块允许文件系统进一步在逻辑上将信息组织为作为命名的逻辑单位编号(lun)而被导出的在盘上的块的分级结构。明确地设想了可以增强任何适当存储操作系统以用于根据这里描述的发明概念来使用。
图3是可以有利地与本发明一起被使用的存储操作系统300的示意框图。存储操作系统包括被组织为形成集成的网络协议栈或者更一般地为多协议引擎的一系列软件层,该多协议引擎使用块和文件访问协议来提供用于客户端访问在节点上存储的信息的数据路径。多协议引擎包括网络驱动器(例如,吉比特以太网驱动器)的介质访问层312,该介质访问层对接到网络协议层、比如IP层314和它的支持传送机制、TCP层316以及用户数据报协议(UDP)层315。文件系统协议层提供多协议文件访问并且为此包括用于直接访问文件系统(DAFS)协议318、NFS协议320、CIFS协议323和超文本传送协议(HTTP)协议334的支持。VI层326实施VI架构以提供如由DAFS协议318需要的直接访问传送(DAT)能力,比如RDMA。iSCSI驱动器层328在TCP/IP网络协议层之上提供块协议访问,而FC驱动器层330向节点传输和从节点接收块访问请求和响应。FC和iSCSI驱动器提供对块的FC专属和iSCSI专属访问控制,并且因此管理lun向iSCSI或者FCP或者备选地在访问节点200上的块时向iSCSI和FCP二者的导出。
附加地,存储操作系统300包括一系列软件层,该一系列软件层被组织以形成提供用于访问在节点200的盘140上存储的信息的数据路径的存储服务器。为此,存储服务器包括文件系统模块360、RAID系统模块380和盘驱动器系统模块390。RAID系统380根据I/O操作来管理向和从卷/盘存储和取回信息,而盘驱动器系统390实施盘访问协议,如比如SCSI协议。
文件系统360通过与说明性地被体现为例如虚拟盘(vdisk)模块(未示出)和SCSI目标模块335的一个或者多个虚拟化模块交互来实施存储操作系统300的虚拟化系统。Vdisk模块响应于用户(系统管理员)向节点200发出命令来实现由管理接口(比如管理框架810(见图8)的用户接口)的访问。SCSI目标模块335一般地被设置在FC和iSCSI驱动器328、330与文件系统360之间,以提供在块(lun)空间与文件系统空间之间的虚拟化系统的转译层,其中将lun表示为块。
文件系统360说明性地是提供用于在访问在存储设备(比如盘)上存储的信息时使用的逻辑卷管理能力的基于消息的系统。也就是说,除了提供文件系统语义之外,文件系统360还提供通常地与卷管理器关联的功能。这些功能包括(i)盘的聚集、(ii)盘的存储带宽的聚集,以及(iii)可靠性保障,比如镜像和/或奇偶校验(RAID)。文件系统360说明性地使用例如4千字节(KB)块和使用索引节点(“inode”)以表示文件和文件属性(比如创建时间、访问权限、大小和块位置)来实施具有基于块的盘上格式表示的文件系统(下文一般为“随处写入文件系统”)。文件系统360使用文件以存储描述它的文件系统的布局的元数据;这些元数据文件包括inode文件以及其它文件。文件句柄(即,包括inode编号的标识符)用来从盘取回inode。
广而言之,将随处写入文件系统的所有inode组织成inode文件。文件系统(fs)信息块指定文件系统中的信息的布局并且包括文件的inode,该文件包括文件系统的所有其它inode。每个逻辑卷(文件系统)具有优选地在例如RAID组内的固定位置存储的fsinfo块。Inode文件的inode可以直接地引用(指向)inode文件的数据块或者可以引用inode文件的间接块,这些间接块转而引用inode文件的数据块。在inode文件的每个数据块内是嵌入的inode,每个嵌入的inode可以引用间接块,这些间接块转而引用文件的数据块。
更多示例性存储操作系统300模块包括灾难恢复协调器(DRC)370、灾难恢复转换监视器(DRSOM)372和管理主机374。DRC 370实施群集范围的灾难恢复操作。在一个示例中,每个节点可以包括DRC模块370;然而,DRC模块370的仅一个实例化在任何时间点活跃。DRC模块370与每个节点上的DRSOM模块372配合以实施以下进一步描述的各种转换操作。DRSOM模块372实施节点专属转换操作。也就是说,DRC 370在转换操作的情况中协调在每个节点上执行的各种DRSOM 372的操作。如本领域技术人员将认识到的那样,DRC 370和DRSOM 372的功能将仅被解读为示例。在备选示例中,可以在两个模块之间被不同地布置功能和/或模块可以被组合成单个模块或者让功能分布在多个不同模块之中。这样,对DRC模块370在群集范围的操作上操作而DRSOM模块372在节点级操作上操作的描述应当仅被解读为示例。
管理主机374根据公开内容的一个示例方面来实施各种管理功能并且存储管理信息。说明性地,管理主机374存储对象限制选项376。根据公开内容的方面利用对象限制选项376以确定特定节点可以服务于的对象,比如卷的最大数目。说明性地,每个特定节点可以具有用于各种对象(比如卷折扣、集合体等)的具体限制。在高可用性配置中,单个节点可以在它接管它的出故障的伙伴节点时倍增对象数目。也就是说,如果N/2是用于对象的每节点限制,则在接管模式中,用于该对象计数的限制是N,即,N/2用于本地节点和N/2用于伙伴节点。然而,在灾难恢复组(比如以上关于图1而描述的灾难恢复组)中,有可能的是三个节点可能出故障从而留下单个存活的节点。如果每个节点使用它的最大的指派的数目的卷来操作,则单个存活的节点可能潜在地需要服务于共计2N个卷。如果对特定节点没有设置节点对象限制,则它将在正常操作中以N个对象的限制操作;然而,在其它三个节点出故障的情况下,存活的节点不能从出故障的节点接管和/或转换,因为它可能需要处置4N个对象,这超过存储操作系统的最大对象限制。根据公开内容的一个方面,对象限制选项376使管理员能够在附加灾难恢复能力或者用于服务于给定的节点上的附加卷(或者对象)之间决定。
如果为特定节点设置了对象限制选项,则为该节点支持最大N/2数目的卷。也就是说,设置对象限制选项376使可以由单个节点服务的卷的总数减半。然而,在灾难恢复组内的其它三个节点的故障的情况下,存活的节点将能够处置上至2N个卷。由于每个节点可以服务于至多N/2个卷,存活的节点将能够在转换操作期间处理所有卷。这提供用于双故障、在灾难恢复组内的地点的故障以及节点高可靠性伙伴的故障的支持。
如果没有设置对象限制选项,则每个节点可以支持最大数目N个卷。因此,在单个故障(例如,高可靠性或者别的故障)的情况中,节点可以服务于上至2N个卷。然而,如果停用对象限制选项376,则将不允许双故障转移操作。
如这里所用,术语“存储操作系统”一般地是指在计算机上可操作以执行存储功能的计算机可执行代码,该存储功能管理数据访问并且可以在节点200的情况下实施通用操作系统的数据访问语义。也可以将存储操作系统实施为微内核、在通用操作系统(比如或者Windows )上操作的应用程序或者作为有为如这里描述的存储应用而配置的可配置功能的通用操作系统。
附加地,本领域技术人员还将理解,这里描述的本发明可以适用于体现为或者包括存储系统的任何类型的专用(例如,文件服务器、文件编档器或者存储服务装置)或者通用计算机、包括单独计算机或者其部分。另外,本发明的教导可以适应多种存储系统架构、包括但不限于网络附着的存储环境、存储区域网络和直接地附着到客户端或者主机计算机的盘组件。因此,应当广义地解读术语“存储系统”除了配置为执行存储功能和与其它装备或者系统关联的任何子系统之外还包括这样的布置。应当注意,尽管在随处写入文件系统方面撰写本说明书,但是可以与任何适当文件系统,包括就地写入文件系统利用本发明的教导。
在授权于1998年10月6日、David Hitz等人、名称为Method for MaintainingConsistent States of a File System and for Creating User-Accessible Read-OnlyCopies of a File System的第5,819,292号美国专利中公开和描述了示例性文件系统的核内和盘上格式结构,包括inode和inode文件。
图4是可以与本发明有利地一起被使用的文件的示例缓冲树的示意框图。缓冲树是用于加载到存储器224中并且由随处写入文件系统360维护的文件(例如,文件400)的块的内部表示。根(顶级)inode 402(比如嵌入的inode)引用间接(例如,1级)块404。注意,根据文件的大小可以存在附加级的间接块(例如,2级、3级)。间接块(和inode)包含最终地引用数据块406的指针405,这些数据块用来存储文件的实际数据。也就是说,在数据块中包含文件400的数据,并且在文件的间接块中存储这些块的位置。每个1级间接块404可以包含与1024个数据块一样多的指针。根据文件系统的“随处写入”性质,这些块可以随处位于盘140上。
提供了将下层物理卷分派成存储系统(比如节点200)的一个或者多个虚拟卷(或者灵活卷)的文件系统布局。在名称为Extension of Write Anywhere File SystemLayout、John K.Edwards等人并且转让给Network Appliance,Inc的第10/836,817号美国专利申请中描述了这样的文件系统部件的示例。下层物理卷是包括节点的一组或者多组盘(比如RAID组)的集合体。集合体具有它自己的物理卷块编号(pvbn)空间并且在该pvbn空间内维护元数据,比如块分配结构。每个灵活卷具有它自己的虚拟卷块编号(vvbn)空间并且在该vvbn空间内维护元数据,比如块分配结构。每个灵活卷是与容器文件关联的文件系统;容器文件是集合体中的如下文件,该文件包含由灵活卷使用的所有块。另外,每个灵活卷包括数据块和间接块,这些间接块包含指向其它间接块或者数据块的块指针。
在一个方面中,pvbn在灵活卷中存储的文件(比如文件400)的缓冲树内用作块指针。这一“混合”灵活卷示例涉及到在父间接块(例如,inode或者间接块)中仅插入pvbn。在逻辑卷的读取路径上,“逻辑”卷(vol)信息块具有引用一个或者多个fsinfo块的一个或者多个指针,每个fsinfo块又指向inode文件及其对应的inode缓冲树。在灵活卷上的读取路径一般地相同、跟随pvbn(而不是vvbn)以找到块的适当位置;在本文中,灵活卷的读取路径(和对应的读取性能)与物理卷的读取路径(和对应的读取性能)基本上相似。从pvbn到盘dbn的转译出现在存储操作系统300的文件系统/RAID系统边界。
在示例双vbn混合灵活卷中,在文件的缓冲树中的父间接块中插入对应vvbn。也就是说,pvbn和vvbn被存储为用于大多数缓冲树结构中的每个块指针的对,这些缓冲树结构具有指向其它块的指针,例如1级(L1)间接块、inode文件0级(L0)块。图5是可以与本发明有利地一起被使用的文件500的示例缓冲树的示意框图。根(顶级)i节点502(比如嵌入的inode)引用间接(例如,1级)块504。注意,根据文件的大小可以存在附加间接块级(例如,2级、3级)。间接块(和inode)包含最终地引用数据块506的pvbn/vvbn指针对结构508,这些数据块用来存储文件的实际数据。
pvbn引用集合体的盘上的位置,而vvbn引用在灵活卷的文件内的位置。在间接块504中使用pvbn作为块指针508提供读取路径中的效率,而使用vvbn块指针提供对需要的元数据的高效访问。也就是说,在释放文件的块时,文件中的父间接块包含容易地可用的vvbn块指针,这避免与访问所有者映射以执行pvbn到vvbn转译关联的延时;而在读取路径上,pvbn可用。
图6是可以与本发明有利地一起被使用的说明性集合体600的示意框图。可以在灵活卷610(比如双vbn灵活卷)内包含Lun(块)602、目录604、qtree 606和文件608,这些灵活卷又被包含在集合体600内。集合体600说明性地被分层在由至少一个RAID丛605代表的RAID系统(根据存储配置是否被镜像)上面,其中每个丛650包括至少一个RAID组660。每个RAID组还包括多个盘630,例如,一个或者多个数据(D)盘和至少一个(P)奇偶校验盘。
集合体600与常规存储系统的物理卷类似,而灵活卷与在物理卷内的文件类似。也就是说,集合体600可以包括一个或者多个文件,其中每个文件包含灵活卷610,以及其中由灵活卷消耗的存储空间的数量在物理上小于(或者等于)整个物理卷的大小。集合体利用物理pvbn空间,该物理pvbn空间定义由物理卷的盘提供的块的存储空间,而每个嵌入的灵活卷(在文件内)利用逻辑vvbn空间以将那些块组织为例如文件。每个vvbn空间是与在文件内的位置对应的编号的独立集合,这些位置然后被转译成盘上的dbn。由于灵活卷610也是逻辑卷,所以它在它的vvbn空间中具有它自己的的块分配结果(例如,活跃、空间和概要映射)。
容器文件是集合体中的如下文件,该文件包含由灵活卷使用的所有块。容器文件是支持灵活卷的内部(在集合体内部)特征。说明性地,每灵活卷存在一个容器文件。与在文件方式中的纯逻辑卷相似,容器文件是集合体中的隐藏文件(用户不可访问),该隐藏文件保持由灵活卷使用的每个块。集合体包括说明性隐藏元数据根目录,该隐藏元数据根目录包含灵活卷的子目录。
WAFL/fsid/文件系统文件、存储标签文件
具体而言,物理文件系统(WAFL)目录包括用于集合体中的每个灵活卷的子目录,其中子目录的名称是灵活卷的文件系统标识符(fsid)。每个fsid子目录(灵活卷)包含文件系统文件和存储标签文件这至少两个文件。存储标签文件说明性地是包含与在常规raid标签中存储的元数据相似的元数据的4KB文件。换而言之,存储标签文件与raid标签类似并且这样包含关于灵活卷的状态的信息,如例如,灵活卷的名称、灵活卷的通用唯一标识符(uuid)和fsid、它是否在线、正在被创建或者正在被破坏等。
图7是集合体700的盘上表示的示意框图。存储操作系统300(例如,RAID系统380)组装pvbn的物理卷以创建集合体700而pvbn 1和2包括用于集合体的“物理”volinfo块702。volinfo块702包含指向fsinfo块704的块指针,每个volinfo块702可以代表集合体的快照。每个volinfo块702包括指向inode文件706的块指针,该inode文件包含多个文件的inode,这些文件包括所有者映射710、活跃映射712、概要映射714和空间映射716以及其它特殊元数据文件。Inode文件706还包括根目录720和“隐藏”元数据根目录730,后者包括名称空间,该名称空间具有与用户在其中不能“看见”文件的灵活卷有关的文件。隐藏元数据根目录包括WAFL/fsid/目录结构,该WAFL/fsid/目录结构包含文件系统文件740和存储标签文件790。注意,集合体中的根目录720为空;在隐藏元数据根目录730内组织与集合体有关的所有文件。
除了被嵌入作为容器文件、该容器文件具有组织为容器映射的1级块之外,文件系统740还包括引用体现为灵活卷750的各种文件系统的块指针。集合体700在特殊保留inode编号维护这些灵活卷750。每个灵活卷750在它的灵活卷空间内也具有用于块分配位图结构以及其它结构的特殊保留inode编号。如指出的那样,在每个灵活卷中分配块分配位图结构,例如,活跃映射762、概要映射764和空间映射766。
具体而言,每个灵活卷750具有与集合体相同的inode文件结构/内容,例外是在隐藏元数据根目录780中没有所有者映射和没有WAFL/fsid/文件系统文件、存储标签文件目录结构。为此,每个灵活卷750具有指向一个或者多个fsinfo块754的volinfo块752以及灵活卷的活跃文件系统,每个fsinfo块可以代表快照。每个fsinfo块又指向inode文件760,该inode文件如指出的那样具有与集合体相同的inode结构/内容,例外如以上指出的那样。每个灵活卷750具有它自己的inode文件760和有对应inode编号的独特inode空间以及它自己的根(fsid)目录770和可以从其它灵活卷分离地导出的文件的子目录。
在集合体的隐藏元数据根目录730内保护的存储标签文件790是与常规raid标签类似工作的小文件。Raid标签包括关于存储系统的物理信息,比如卷名称;该信息被加载到存储标签文件790中。说明性地,存储标签文件790包括关联的灵活卷750的名称792、灵活卷的在线/离线状态794以及关联的灵活卷的其它身份和状态信息796(它是否在正在被创建或者部署的过程中)。
VLDB
图8是图示了管理过程的集合的示意框图,这些管理过程作为用户模式应用800在存储操作系统300上执行以提供对用于群集的节点的配置信息(即,管理数据)的管理。为此,管理过程包括管理框架过程810和卷位置数据库(VLDB)过程830,每个过程利用作为库而链接的数据复制服务(RDB 850)。管理框架810经由命令行界面(CLI)和/或基于web的图形用户界面(GUI)向管理员870提供界面。管理框架说明性地基于常规公共界面模型(CIM)对象管理器,该CIM对象管理器向用户/系统管理员交互的实体提供节点200以便管理群集100。
VLDB 830是跟踪各种存储部件(包括数据容器、比如灵活卷(下文为“卷”))在群集100内的位置的数据库过程以由此有助于在整个群集内路由请求。
多节点故障
图9是具体描述了用于在一个节点可能需要处置多个灾难恢复伙伴时执行转换操作的过程900的步骤的流程图。过程900在步骤905中开始并且继续到步骤910,其中使转换操作被发起的错误状况出现。错误状况可以是自然灾难、功率故障、软件和/或硬件故障等的结果。说明性地,将在图1的地点A出故障而地点B是存活的节点来描述转换操作。然而,应当注意,这一描述仅用于示例目的并且本公开内容的原理可以用于双向转换,即如果地点B遭受错误状况,则地点A可以作为存活的地点工作。响应于发起转换操作,DRC在步骤915中确定候选节点不能转换操作。如本领域技术人员将认识到的那样,如果所有节点能够转换操作,则转换操作正常的继续。然而,如果DRC与在每个节点上执行的DRSOM结合工作而确定候选节点之一不能转换操作,则可能有必要标识备选节点。节点可能不能处理转换操作,例如如果它的对象限制选项被停用并且转换操作将造成多于最大数目的对象由节点服务。备选地,候选节点可能遭受错误状况或者以别的方式在转换期间不可用于处理操作。
响应于确定候选节点不能够,该过程继续到步骤920以标识能够转换操作的备选节点。这一备选节点可以是特定地点的存活的节点或者在N路配置中可以是地点上的当前没有用于转换操作的多个节点之一。然后在步骤925中做出确定备选节点是否能够处置负荷。也就是说,做出确定备选节点服务于转换对象是否将使节点超过它的正在被服务的对象的最大数目。这可以例如由于在特定节点上停用对象限制选项而出现,由此将它的最大对象限制设置于2N。如果双故障出现,则备选节点可能潜在地需要服务于上至4N个卷。在这样的情况下,该过程转移到步骤950并且返回指示转换操作没有可能的错误消息。该过程然后在步骤945中继续。应当注意,通过返回错误消息950而没有进入转换模式,可能失去数据连通。客户端到数据的连通可以在纠正下层错误状况,从而使附加节点在线以服务于参与转换操作的各种卷时返回。另外,管理员可以修改对象限制选项为激活,由此使不能处置负荷的备选节点变成能够处置负荷的节点。
然而,如果在步骤925中确定备选节点能够处置负荷,则该过程转移到步骤930,其中执行转换操作。这可以例如通过使用常规操作来选择的节点取得出故障的节点的盘、集合体和卷的所有权而出现。一旦已经完成转换操作,存活的节点然后在步骤935中重放NVRAM。说明性地,在选择的节点内的NVRAM已经正在如以上关于NVRAM镜像而描述的那样接收出故障的节点的镜像操作。这样,选择的存活的节点可以重放在NVRAM内包含的数据以使集合体、卷和盘打到全一致状态。一旦使它的盘打到一致状态,存活的节点然后在步骤940中使转换对象在线。在这一点,存活节点能够处理涉及对象(例如,卷、集合体和/或盘)的数据访问请求。过程900然后在步骤945中完成。
图10是具体描述了用于在滚动灾难中执行转换操作的过程1000的步骤的流程图。说明性地,滚动灾难场景是在节点在灾难地点中依次地出故障时。滚动灾难说明性地被视为单个灾难,从而使得转换操作应当在DR地点中成功,即使节点对象限制选项为关闭,只要DR地点节点没有在转换模式中。过程1000在步骤1005中开始并且继续到步骤1010,其中使转换操作出现的错误状况出现。如以上指出的那样,错误状况可以是自然灾难、硬件和/或软件故障等的结果。出于这里关于过程1000而描述的示例的目的,假设节点200A2先前已经出故障并且节点200A1正在服务于先前由节点200A拥有的所有集合体、卷和盘。造成节点200A1离线的错误状况然后出现。作为错误状况的结果,节点200B1和200B2(即地点B)执行转换操作以管理来自地点A的数据集。
存活的节点在步骤1015中承担来自出故障的节点的存储设备的所有权。这可以使用如在本领域中熟知的常规盘所有权技术来实现。继续以上描述的示例,节点200B1将承担原先由节点200A1拥有的盘(和关联的集合体/卷)的所有权,而节点200B2将承担原先由节点200A2拥有的盘的所有权。由于节点200B2的伙伴(节点200A2)不活跃,所以它可能尚未如以上描述的那样正在接收NVRAM镜像操作。因此,然后在步骤1020中将NVRAM从一个存活的节点拷贝到另一存活的节点。说明性地,将来自节点200B1的NVRAM拷贝到节点200B2,从而使得节点200B2具有必需数据以将转换到它的数据集渲染到全一致状态。
每个存活的节点然后在步骤1025中重放NVRAM的适当部分。同样,使用上例,节点200B1将重放被引向由节点200A1管理的盘的NVRAM部分。相似地,节点200B2将重放NVRAM的被引向到先前由节点200A2管理的盘的那些部分。一旦已经重放NVRAM,存活的节点在步骤1030中使转换的对象(盘、集合体、卷等)在线。过程1000然后在步骤1035中完成。
应当注意,在一个备选方面中,节点200A2已经被重新引导并且开始在转换操作出现时的时间开始承担来自节点200A1的集合体的所有权。在这样的示例中,原先由节点200A1拥有的盘将被转移到节点200B1,而原先由节点200A2拥有的盘将被传送到节点200B2,甚至它们可以当前由节点200A1拥有。在这样的情况下,将NVRAM从节点200B1拷贝到节点200B2保证节点200B2具有适当数据以重放到它已经接管的盘。
前文描述已经涉及公开内容的具体方面。然而,将清楚,可以对描述的示例做出其它变化和修改而达到它们的优点中的一些或者所有优点。例如明确地设想可以实施这里描述的部件和/或单元作为在有形(非瞬态)计算机可读介质(例如,盘和/或CD)上编码的软件,该软件具有在计算机、硬件、固件或者其组合上执行的程序指令。因而,本说明书将仅以示例来解读而没有以别的方式限制这里的方面的范围。因此,所附权利要求的目的是覆盖如落在这里的公开内容的方面的真实精神和范围内的所有这样的变化和修改。

Claims (20)

1.一种方法,包括:
确定候选节点不可用于转换操作;
标识用于所述转换操作的备选节点;
确定标识的所述备选节点是否能够处置来自多个其它节点的所述负荷;
响应于确定标识的所述备选节点能够处置来自所述多个其它节点的负荷,执行转换操作以将一个或者多个对象的所有权从所述多个其它节点转移到标识的所述备选节点;以及
将数据从非易失性存储器恢复到所述一个或者多个对象;以及
使所述一个或者多个对象在线。
2.根据权利要求1所述的方法,其中所述一个或者多个对象包括卷。
3.根据权利要求1或者权利要求2所述的方法,其中所述一个或者多个对象包括集合体。
4.根据权利要求1至3中的任一权利要求所述的方法,其中所述多个其它节点包括被布置在与第二节点的高可用性配对中的第一节点。
5.根据权利要求4所述的方法,还包括:
检测所述第一节点上的故障;以及
执行从所述第一节点到所述第二节点的故障转移操作。
6.根据权利要求5所述的方法,还包括检测所述第二节点上的错误状况。
7.根据权利要求1至6中的任一权利要求所述的方法,其中从所述非易失性存储器恢复数据还包括重放从所述多个其它节点被镜像的、被存储在所述非易失性存储器中的数据的一部分。
8.根据权利要求1至7中的任一权利要求所述的方法,其中所述一个或者多个对象被存储在磁存储介质上。
9.根据权利要求1至8中的任一权利要求所述的方法,其中所述一个或者多个对象被存储在与共享的切换结构被操作地互连的存储设备上。
10.一种系统,包括:
第一高可用性对,包括由第一群集互连操作地互连的第一节点和第二节点,所述第一节点与第一数据存储对象关联并且所述第二节点与第二数据存储对象关联;
第二高可用性对,包括由第二群集互连操作地互连的第三节点和第四节点,所述第三节点与第三数据存储对象关联并且所述第四节点与第四数据存储对象关联,所述第一高可用性对和所述第二高可用性对被组织为灾难恢复组;
其中所述第一节点被配置为响应于所述第二节点的错误状况来执行所述第二数据存储对象的接管操作;并且
其中响应于影响所述第一节点的后续错误状况,所述第三节点被配置为执行转换操作以管理所述第一数据存储对象,并且所述第四节点被配置为执行转换操作以管理所述第二数据存储对象。
11.根据权利要求10所述的系统,其中所述第三节点还被配置为恢复被存储在第三非易失性存储器中的数据的一部分,其中数据的所述恢复使得所述第三节点向所述第一数据存储对象写入所述数据。
12.根据权利要求10或者权利要求11所述的系统,其中所述第四节点还被配置为恢复被存储在第四非易失性存储器中的数据的一部分,其中数据的所述恢复使得所述第四节点向所述第四数据存储对象写入所述数据。
13.根据权利要求10至12中的任一权利要求所述的系统,其中所述第一数据存储对象、所述第二数据存储对象、所述第三数据存储对象和所述第四数据存储对象包括卷。
14.根据权利要求10至13中的任一权利要求所述的系统,其中所述第一数据存储对象、所述第二数据存储对象、所述第三数据存储对象和所述和第四数据存储对象包括集合体。
15.根据权利要求10至14中的任一权利要求所述的系统,其中所述第一节点、所述第二节点、所述第三节点和所述第四节点与共享的切换结构操作地互连。
16.根据权利要求15所述的系统,其中所述第一数据对象被存储在与所述共享的切换结构操作地互连的存储设备上。
17.根据权利要求16所述的系统,其中所述存储设备的所有权被修改以符合管理被存储在其上的所述第一数据对象的所述节点。
18.根据权利要求10至17中的任一权利要求所述的系统,其中所述第三节点还包括具有管理主机模块的存储操作系统,所述管理主机模块存储用于所述第三节点的对象限制选项。
19.一种包括在处理器上可执行的程序指令的计算机软件,所述计算机软件包括:
确定候选节点不可用于转换操作的程序指令;
标识用于所述转换操作的备选节点的程序指令;
确定标识的所述备选节点是否能够处置来自多个其它节点的负荷的程序指令;
响应于确定标识的所述备选节点能够处置来自所述多个其它节点的所述负荷,执行转换操作以将一个或者多个对象的所有权从所述多个其它节点转移到标识的所述备选节点的程序指令;
将数据从非易失性存储器恢复到所述一个或者多个对象的程序指令;以及
使所述一个或者多个对象在线的程序指令。
20.根据权利要求19所述的计算机软件,其中从所述非易失性存储器恢复数据的所述程序指令还包括重放从所述多个其它节点被镜像的、被存储在所述非易失性存储器中的数据的一部分的程序指令。
CN201580063401.4A 2014-09-22 2015-09-21 用于处置灾难恢复群集中的多节点故障的系统和方法 Active CN107003920B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN2709DE2014 2014-09-22
IN2709/DEL/2014 2014-09-22
US14/559,343 US9811428B2 (en) 2014-09-22 2014-12-03 System and method for handling multi-node failures in a disaster recovery cluster
US14/559,343 2014-12-03
PCT/US2015/051179 WO2016048874A2 (en) 2014-09-22 2015-09-21 System and method for handling multi-node failures in a disaster recovery cluster

Publications (2)

Publication Number Publication Date
CN107003920A true CN107003920A (zh) 2017-08-01
CN107003920B CN107003920B (zh) 2020-10-23

Family

ID=55525849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580063401.4A Active CN107003920B (zh) 2014-09-22 2015-09-21 用于处置灾难恢复群集中的多节点故障的系统和方法

Country Status (4)

Country Link
US (2) US9811428B2 (zh)
EP (1) EP3198444B1 (zh)
CN (1) CN107003920B (zh)
WO (1) WO2016048874A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117322A (zh) * 2018-08-28 2019-01-01 郑州云海信息技术有限公司 一种服务器主备冗余的控制方法、系统、设备及存储介质
CN111464389A (zh) * 2020-03-31 2020-07-28 云知声智能科技股份有限公司 一种高可用节点故障检测方法及装置
WO2024119786A1 (zh) * 2022-12-06 2024-06-13 苏州元脑智能科技有限公司 一种数据缓存方法、装置、设备和存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10437212B2 (en) * 2015-04-28 2019-10-08 Schneider Electric Systems Usa, Inc. Distributed computing in a process control environment
US9448901B1 (en) * 2015-12-15 2016-09-20 International Business Machines Corporation Remote direct memory access for high availability nodes using a coherent accelerator processor interface
US10776342B2 (en) * 2016-11-18 2020-09-15 Tuxena, Inc. Systems and methods for recovering lost clusters from a mounted volume
US10534767B2 (en) 2017-03-14 2020-01-14 International Business Machines Corporation Disaster recovery for split storage cluster
CN110445822B (zh) * 2018-05-03 2021-11-30 中移(苏州)软件技术有限公司 一种对象存储方法及装置
US11074130B2 (en) * 2019-03-28 2021-07-27 International Business Machines Corporation Reducing rebuild time in a computing storage environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1512375A (zh) * 2002-12-31 2004-07-14 联想(北京)有限公司 利用机群节点相互备份的容错方法
CN102077193A (zh) * 2008-06-27 2011-05-25 微软公司 群集共享卷
GB2495079A (en) * 2011-09-23 2013-04-03 Hybrid Logic Ltd Live migration of applications and file systems in a distributed system
US20140173336A1 (en) * 2012-12-17 2014-06-19 International Business Machines Corporation Cascading failover of blade servers in a data center

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994029807A1 (en) 1993-06-03 1994-12-22 Network Appliance Corporation Write anywhere file-system layout
US5796934A (en) * 1996-05-31 1998-08-18 Oracle Corporation Fault tolerant client server system
US6715100B1 (en) 1996-11-01 2004-03-30 Ivan Chung-Shung Hwang Method and apparatus for implementing a workgroup server array
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
US7519976B2 (en) 2002-05-01 2009-04-14 Bea Systems, Inc. Collaborative business plug-in framework
US7529822B2 (en) 2002-05-31 2009-05-05 Symantec Operating Corporation Business continuation policy for server consolidation environment
US7925917B1 (en) 2008-04-03 2011-04-12 United Services Automobile Association (Usaa) Systems and methods for enabling failover support with multiple backup data storage structures
US8751533B1 (en) * 2009-11-25 2014-06-10 Netapp, Inc. Method and system for transparently migrating storage objects between nodes in a clustered storage system
US8539087B2 (en) * 2010-03-12 2013-09-17 Symantec Corporation System and method to define, visualize and manage a composite service group in a high-availability disaster recovery environment
US8868970B2 (en) * 2011-09-08 2014-10-21 Infinidat Ltd. Object based storage system and method of operating thereof
US9229825B2 (en) * 2013-06-28 2016-01-05 International Business Machines Corporation Quick failover of blade server
US9367413B2 (en) * 2014-04-30 2016-06-14 Netapp, Inc. Detecting data loss during site switchover

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1512375A (zh) * 2002-12-31 2004-07-14 联想(北京)有限公司 利用机群节点相互备份的容错方法
CN102077193A (zh) * 2008-06-27 2011-05-25 微软公司 群集共享卷
GB2495079A (en) * 2011-09-23 2013-04-03 Hybrid Logic Ltd Live migration of applications and file systems in a distributed system
US20140173336A1 (en) * 2012-12-17 2014-06-19 International Business Machines Corporation Cascading failover of blade servers in a data center

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117322A (zh) * 2018-08-28 2019-01-01 郑州云海信息技术有限公司 一种服务器主备冗余的控制方法、系统、设备及存储介质
CN111464389A (zh) * 2020-03-31 2020-07-28 云知声智能科技股份有限公司 一种高可用节点故障检测方法及装置
WO2024119786A1 (zh) * 2022-12-06 2024-06-13 苏州元脑智能科技有限公司 一种数据缓存方法、装置、设备和存储介质

Also Published As

Publication number Publication date
US20180060198A1 (en) 2018-03-01
WO2016048874A3 (en) 2016-06-09
US9811428B2 (en) 2017-11-07
US20160085647A1 (en) 2016-03-24
US10521316B2 (en) 2019-12-31
CN107003920B (zh) 2020-10-23
EP3198444B1 (en) 2021-04-14
EP3198444A2 (en) 2017-08-02
WO2016048874A2 (en) 2016-03-31

Similar Documents

Publication Publication Date Title
CN107003920A (zh) 用于处置灾难恢复群集中的多节点故障的系统和方法
US10664366B2 (en) Third vote consensus in a cluster using shared storage devices
US20230115293A1 (en) Recovering Data In A Virtual Storage System
CN102460439B (zh) 通过条带式文件系统中的容量平衡进行数据分布
CN102349053B (zh) 用于冗余性保护的聚集体的系统和方法
US9830096B2 (en) Maintaining data block maps of clones of storage objects
US8327186B2 (en) Takeover of a failed node of a cluster storage system on a per aggregate basis
CN105339907B (zh) 非易失性存储器系统中的同步镜像
US7827350B1 (en) Method and system for promoting a snapshot in a distributed file system
CN101410783B (zh) 内容可寻址存储阵列元件
US20210303523A1 (en) Replicating a File System
US7844584B1 (en) System and method for persistently storing lock state information
US20210216414A1 (en) System and method for efficient block level granular replication
US11409708B2 (en) Gransets for managing consistency groups of dispersed storage items
US9959335B2 (en) System and method for avoiding object identifier collisions in a peered cluster environment
CN101218583A (zh) 用于在群集的卷上带区化数据容器内容的存储系统体系结构
US9335949B1 (en) System and method for deferring invalidation of inodes of a volume during volume invalidation
US9348532B1 (en) System and method for invalidation walk-through of inodes
He Data management in intelligent storage systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant