CN107111457B - 跨集群冗余配置中的非间断的控制器替换 - Google Patents
跨集群冗余配置中的非间断的控制器替换 Download PDFInfo
- Publication number
- CN107111457B CN107111457B CN201580072388.9A CN201580072388A CN107111457B CN 107111457 B CN107111457 B CN 107111457B CN 201580072388 A CN201580072388 A CN 201580072388A CN 107111457 B CN107111457 B CN 107111457B
- Authority
- CN
- China
- Prior art keywords
- node
- cluster
- storage
- cross
- storage controller
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2089—Redundant storage control functionality
- G06F11/2092—Techniques of failing over between control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2017—Error 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 memory access, memory control or I/O control functionality is redundant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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/2071—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Hardware Redundancy (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
在从第一节点向第二节点的存储冗余交还期间,在由第一节点从第二节点的存储冗余接管之后,第二节点部分地通过接收来自第二节点的节点标识指示符而被初始化。节点标识指示符被包括在由第二节点在存储冗余交还的交还等待阶段期间发送的节点通告消息中。节点标识指示符包括由第一节点使用以确定第二节点是否是集群内接管伙伴的集群内节点连接性标识符。响应于确定第二节点是集群内接管伙伴,第一节点完成向第二节点交还存储资源。
Description
相关申请
本申请要求2014年11月13日提交的、题为“NON-DISRUPTIVE CONTROLLERREPLACEMENT IN A CROSS-CLUSTER REDUNDANCY CONFIGURATION(跨集群冗余配置中的非间断的控制器替换)”的美国专利申请No.14/541,119的优先权,该申请通过引用并入本文。
背景技术
所公开的主题的实施例一般地涉及存储网络领域,更特别地,涉及跨集群冗余配置内的存储控制器替换。
计算机集群实现分布式计算形式。计算机集群由节点集合组成,所述节点以协作的方式配置并通信地耦合,以共享资源并在某些方面作为单个***而操作。集群的部件通常包括多个服务器节点以及通过局域网(LAN)而互连的一个或多个集群管理节点,其中每个节点运行公共操作***的其自身的实例。集群经常被部署,以在通常比具有可比速度或可用性的单个计算机更成本高效的同时,将性能和可用性改进到优于集中式计算的性能和可用性。
存储集群是通常以包括多个互连的存储节点为特征的一种类型的网络化计算机集群。每个存储节点由耦合到诸如存储盘或固态驱动器(SSD)阵列的大容量存储单元的控制器组成,有时被称为“后台数据”的数据存储在大容量存储单元上。存储节点控制器执行类似服务器的功能,以用于优化对包括所存储的数据的存储资源的访问和使用。大容量存储单元可以是提供长期、非易失性数据存储的独立磁盘冗余阵列(RAID)。
确保对后台数据的连续、非中断访问是大多数存储集群的重要功能。所谓的高可用性(HA)存储经常用于在对给定存储节点的操作的中断的事件中确保对后端数据的非中断访问。中断可能由于硬件或软件故障,或由于存储节点的维护(例如,替换)。HA配置可以定义集群(HA集群),或者可以是集群配置特征,诸如在以其他方式定义的集群内的一个或多个HA对。在任一情况下,基本的HA存储配置由在***控制代码和有关配置设置的管理下执行互相备份作用的至少两个稍独立的存储节点组成。简单地,当节点之一故障时,另一节点立即承担对其HA伙伴节点的操作和存储的控制。
分布式数据存储的与日俱增的规模已经唤起在集群内备份冗余以外扩大对存储数据的保护及非中断访问的需求。这种需求正在通过集群间的数据冗余的普及而得以满足。诸如在数据中心内的、可能物理上相隔几十或甚至几百千米的集群之间的存储冗余,使用诸如通过数据镜像的数据复制。以这种方式,数据及对数据的非中断访问被保护,以防止可能例如由功率损失而导致的全站故障。
附图说明
可以通过参考随附的附图更好地理解实施例。
图1是描绘了根据本公开的实施例的、诸如可以在存储集群内用于备份冗余的高可用性(HA)控制器对的框图;
图2是图示了根据本公开的实施例的存储节点的框图;
图3是描绘了根据本公开的实施例的跨集群存储冗余配置的框图;
图4是图示了根据本发明的实施例的、由高可用性(HA)对在存储控制器替换期间及其后执行的操作的流程图;
图5是描绘了根据本发明的实施例的、由跨集群存储冗余配置的成员节点在存储控制器替换后执行的操作的流程图;以及
图6描绘了用于实现图1-图5中所示的实施例的示例计算机***。
具体实施方式
以下描述包括体现所公开的主题的技术的示例***、方法、技术、指令序列及计算机程序产品。然而,应当理解,所描述的实施例可以在没有这些特定细节中的一个或多个的情况下被实践。没有详细示出众所周知的指令实例、协议、结构和技术,以免混淆描述。如本文中所使用的,具有或者不具有附加描述符的术语“节点”(例如,存储节点、控制节点等)可以指代集群配置标识符或诸如图2中所描绘的控制器设备。
被配置为HA对的集群存储广泛用于提供分布式存储,同时防止成员设备中的***硬件和/或软件故障。节点接管(通常称为“故障转移”)是在存储节点故障或异常终止时由HA对使用以提供对所存储的数据的非中断访问的标准机制。本质上,故障转移使备份节点诸如通过执行存储冗余接管来承担对先前由故障节点控制的存储设备和网络连接的控制,使得备份节点可以提供非中断的数据可用性。在故障节点恢复时,可以执行存储冗余交还以将对存储设备和网络连接的控制交还给此时已恢复的故障节点。
跨集群数据冗余被设计为防止诸如滚动硬件故障之类的较大规模的故障,并且有时以“灾难恢复”冗余或“站点恢复”冗余的措辞被提及。同步数据镜像及非易失性随机存取存储器(NVRAM)写缓存复制可以用于在两个站点之间维持一致的操作状态和聚合数据的版本,不同于给定集群的本地节点,这两个站点不共享数据存储设备。在一个实施例中,本公开涉及在跨集群冗余配置内维持针对控制器替换的HA操作连续性。
A.高可用性集群环境
图1是描绘了一对节点105a和105b的示意性框图,节点105a和105b作为高可用性(HA)集群对100被互连、且被配置为提供与大容量存储设备上的信息的组织和访问有关的存储服务。节点105a和105b包括协作以提供HA故障转移冗余以及分布式存储***架构的各种功能部件。为此,节点105a和105b中的每一个被配置为网络元件(N模块104a和104b)及数据存储元件(D模块106a和106b)。N模块104a和104b中的每一个包括使得相应的节点104a和104b能够例如通过计算机网络116连接到客户端102的功能,而D模块106a和106b中的每一个连接到一个或多个存储设备,诸如分别在存储阵列125a和125b内的存储驱动器115a-m和115b-n。节点105a和105b通过集***换结构120而互连,集***换结构120在所描绘的实施例中可以是千兆以太网交换机。
存储阵列125a和125b中的每一个上的信息存储被优先地实施为被称为存储卷的一个或多个可寻址区域,其驻留在物理存储驱动器115a-m和115b-n的集合上,物理存储驱动器115a-m和115b-n的集合协作以定义一个或多个卷上的卷块编号空间的整体逻辑布置。尽管不是必然的,但每个逻辑卷通常与其自身的文件***相关联。逻辑卷/文件***内的存储驱动器可以包括固态驱动器(SSD)和/或磁盘的任何组合,并且通常被组织为一个或多个组,其中每个组可以***作为独立磁盘冗余阵列(RAID)。
如图1中所进一步描绘的,节点105a和105b还跨集群互连118而耦合,集群互连118提供节点之间的附加通信路径。集群互连118可以是光纤信道(FC)、无限带宽技术或另一适当的传送介质。集群互连118可以用于传送节点105a与节点105b之间的“心跳”信号,这些信号用于监测每个节点的活动状态。集群心跳信号还跨集***换结构120发送,在集***换结构120上N模块104与D模块106之间的通信被说明性地传送。节点故障由通过集群互连和存储层二者的心跳丢失来指示。集群互连118还充当存储接管互连。也就是说,如果心跳信号终止(例如,“超时”),那么故障转移/接管进程通过集群互连118开始。
客户端102可以是被配置为根据信息递送的客户端/服务器模型与节点105a和105b交互的通用计算机。也就是说,客户端102可以或直接或经由托管服务器请求节点的服务,并且该节点通过经由网络116交换分组来响应客户端服务请求。当访问以文件和目录的形式的信息时,客户端可以通过传输控制协议/因特网协议(TCP/IP)发出包括基于文件的访问协议的分组,所述基于文件的访问协议诸如通用因特网文件***(CIFS)协议或网络文件***(NFS)协议。备选地,当访问以块的形式的信息时,客户端可以发出包括基于块的访问协议的分组,所述基于块的访问协议诸如通过TCP封装的小型计算机***接口(SCSI)协议(iSCSI)和通过光纤信道封装的SCSI(FCP)。
诸如HA对100的HA集群对的用途是在诸如控制器替换的维护事件以及诸如硬件或软件故障的意外事件期间,提供操作连续性和非中断的存储资源可用性。在正常集群操作期间,存储控制器节点根据HA配置被标识为驱动器115a-m的“归属(home)”,存储控制器节点诸如连接到存储驱动器115a-m、并具有对存储驱动器115a-m的主要操作控制的节点105a。如此,HA节点105a还在初始化时被标识为“当前所有者”,并且主要负责服务针对包含在存储驱动器115a-m上的卷的块的数据请求。类似地,存储节点105b主要负责表示为存储阵列125b内的存储驱动器115b-n的SSD和/或盘。HA对100被配置为使得在故障或维护停机的情况下,节点105a或105b中的任一节点可以接管另一节点的数据服务能力。如本文所使用的,“接管”可以指代一个HA节点伙伴由另一伙伴的计划接管,或其中接管是由运行时故障或其他意外事件引起的“故障转移”序列。
HA伙伴节点能够借助于对存储设备的共享访问和节点之间写缓存复制,接管另一控制器节点的管理服务。在所描绘的实施例中,节点105a和105b具有对存储阵列125a和125b的共享操作访问。此外,HA对100被配置为使得NVRAM写缓存内容(参照图2所描绘和描述的)在节点105a与105b之间被复制。
如参照图3所进一步详细描绘和说明的,HA对100可以被配置在具有至少一个其他HA对的跨集群配置中,该至少一个其他HA对具有其自身管理的存储阵列。如图1中所示的,节点105a和105b进一步包括冗余管理模块122a和122b,冗余管理模块122a和122b通常包含有节点的相应的存储操作***实例。如参考图3-图5所进一步说明的,管理模块122a和122b包括指令,该指令当由HA节点中的处理器执行时,使得属于跨集群配置的HA对中的个体节点中的任何一个既能够在接管序列之后非间断地识别HA伙伴节点、又能够在HA对交还序列之后高效地更新节点配置信息。
B.存储***节点
图2是提供了表示节点105a或105b中的任一个的控制器节点105的更详细说明的框图。如图2中所描绘的,节点105包括将处理器202a和202b、存储器210、网络适配器208、集群访问适配器214、NVRAM 204、存储适配器218及本地存储装置220互连的***总线225。NVRAM 204可以通过缓存输入的客户端I/O请求而用于I/O分级。本地存储装置210包括诸如磁盘或SSD的一个或多个存储设备,其可以由节点105利用以在本地将配置信息存储在诸如配置表212内。集群访问适配器214包括适于将节点105耦合到HA对100所属的集群的其他节点的多个端口。虽然本领域技术人员将明白,在本文所描述的集群架构内可以利用其他协议和互连,但在所描绘的实施例中,以太网可以用作集群协议和互连介质。
节点105进一步被描绘为执行存储操作***206的双处理器控制器,存储操作***206优选地实现诸如文件***的高级模块,以将信息逻辑地组织为命名数据容器的层次结构,该层次结构诸如SSD或盘上的目录、文件和称为虚拟盘(有时被称为“块”)的特定类型的文件。然而,本领域普通技术人员将明白,节点105可以备选地包括单个或多于两个的处理器***。在一个实施例中,一个处理器202a执行节点上的N模块104a的功能,而另一处理器202b执行D模块106a的功能。
存储器210包括由处理器和适配器可寻址的存储位置,以用于存储与所公开的实施例相关联的软件程序代码和数据结构。处理器和适配器可以进而包括被配置为执行程序代码和操纵数据结构的处理元件和/或逻辑电路***。除了其他以外,存储操作***206通过是调用存储操作来功能地组织节点105以便支持由节点实现的存储服务,存储操作***206的一些部分通常驻留在存储器中、并由处理元件执行。本领域技术人员将明白,包括各种计算机可读介质的其他处理和存储装置可以用于存储和执行与本文所描述的实施例有关的程序指令。在所描绘的实施例中,存储操作***206进一步包括跨集群冗余管理模块207,跨集群冗余管理模块207包括程序指令,该程序指令当由一个或多个处理器执行时实现参考图3、图4和图5所描绘和描述的功能中的一项或多项。
网络适配器208包括多个端口,多个端口适于通过点对点链接、广域网、在公共网络上实现的虚拟专用网络或共享局域网将节点105耦合到一个或多个客户端102。网络适配器208因此可以包括将节点105通信地耦合到网络116(图1)所需要的结构和电路***以及逻辑构造。在一个实施例中,网络116可以是以太网网络或FC网络。每个客户端102可以直接地或经由主机服务器通过网络116通过根据诸如TCP/IP之类的预先限定的协议交换数据的离散帧或分组而与节点105通信。
存储适配器218与存储操作***206协同工作,以代表客户端102访问存储阵列125a和125b内的存储资源(例如,所请求的信息)。信息可以存储在存储阵列125a和125b中、在任何类型的所附接的可写存储设备介质(诸如磁带、光介质、电子随机存取存储器、SSD及适于存储包括数据和元数据的信号的任何其他类似介质)的阵列上。在所描绘的实施例中,信息被存储在存储阵列125a和125b的存储驱动器115上。存储适配器218进一步包括具有I/O接口电路***(未描绘)的多个端口,I/O接口电路***通过诸如FC链接拓扑的I/O互连通信地耦合到驱动器115。
C.跨集群冗余
图3是描绘了跨集群存储***300的框图,跨集群存储***300包括形成集群A与群集B内的HA对的存储节点。集群A包括第一存储控制器节点对(A1和A2),以及第二节点对(A3和A4)。节点对A1/A2和A3/A4也是集群A内的子集群,形成相应的HA集群对。***300进一步包括两个附加的HA集群对B1/B2和B3/B4,其是集群B的成员,集群B可以物理上远离集群A。尽管被通信地耦合诸如以镜像数据和复制NVRAM内容,但集群A和集群B中的每一个内的控制器节点不与另一集群中的节点共享存储阵列设备的操作控制。
如参考图1和图2所说明的,诸如对A1/A2和B1/B2的HA对通过经由对存储设备的共享操作访问和NVRAM I/O分级缓存的复制提供操作连续性,来最小化由于***故障或维护的停机时间。除集群内冗余之外,所描绘的实施例通过与另一集群中的HA对相关联地配置属于一个集群的HA对而提供跨集群数据保护和操作连续性。通常,这样配置的关联在***启动期间建立,并维持到***为重新配置而关闭为止。图3将HA对的跨集群配置图示为包括第一跨集群配置350和第二跨集群配置355。所描绘的配置350和355每个包括四个节点,这四个节点被分组并划分成集群A和集群B中的每一个中的一个HA对,这是在维持跨集群镜像的同时维持两个集群中的集群内HA冗余所需要的最小数目的HA对和最小总数目的控制节点。
跨集群配置350包括HA对A1/A2,HA对A1/A2通过包括光纤信道(FC)交换机302和304的FC交换网络共享对存储阵列306a和306b的操作访问。配置350包括对应的“伙伴”HA对B1/B2,HA对B1/B2通过包括FC交换机312和314的FC交换网络共享对存储阵列316a和316b的操作访问。跨集群配置355包括HA对A3/A4(包括存储控制器节点325a和325b),HA对A3/A4通过包括FC交换机322和324的FC交换网络共享对存储阵列326a和326b的操作访问。跨集群配置355还包括HA对B3/B4(包括存储控制器节点335a和335b),HA对B3/B4通过包括FC交换机332和334的FC交换网络共享对存储阵列336a和336b的操作访问。
配置350和配置355的配置和操作基本上是类似的。为了说明的目的,将描述配置350的集群内HA操作和跨集群冗余操作。在正常运行时操作期间,控制器节点A1 305a和A2305b中的每一个控制其自身分别分配的存储阵列306a和306b的子集。例如,HA对A1/A2可以在集群A内被配置为使得控制器节点305a经由交换机302具有对存储阵列306a的操作控制。对存储阵列306a和306b的共享访问,连同NVRAM I/O分级缓存内容的复制(图3中未示出),使得在节点305a故障或离线的情况下,节点305b能够承担对存储阵列306a的操作控制以维持操作连续性。类似于HA对A1/A2的操作,在正常运行时操作期间,控制器节点B1 315a和B2315b中的每一个控制其自身分别分配的存储阵列316a和316b的子集。例如,HA对B1/B2可以在集群B内被配置为使得控制器节点315a经由交换机312具有对存储阵列316a的操作控制。对存储阵列316a和316b的共享访问,连同NVRAM I/O分级缓存内容的复制(图3中未示出),使得在节点315a故障或离线的情况下,节点315b能够承担对存储阵列316a的操作控制以维持操作连续性。
HA对A1/A2和B1/B2在配置350内互相编程并以其他方式被配置为提供跨集群数据冗余和操作连续性。每个节点除了其集群内HA伙伴关系之外,还具有与其两个跨集群伙伴中的每一个的配置指定的关系。在所描绘的示例中,节点A1可以通过具有跨集群“伙伴”关系的配置与节点B1相关联,并进一步通过具有“辅助”(即,备份)跨集群伙伴联系的配置与节点B2相关联。在这样的情况下,节点B1将是节点A1的相互跨集群伙伴,而节点A2将是节点B1的辅助跨集群伙伴。在所描述的实施例中,HA节点对A3/A4和B3/B4可以被类似配置,以形成配置355内的跨集群伙伴和辅助伙伴。
类似于上文所描述的HA对机制,由相应的跨集群冗余伙伴关系和辅助伙伴关系提供的操作连续性部分地通过在相应的伙伴之间同步复制NVRAM I/O分级缓存内容来实现。可以通过经由长距离FC连接342和344在相应的后端存储设备306a、b与316a、b之间同步镜像所存储的数据聚合来在诸如节点A1与节点B1的跨集群伙伴之间复制数据。在一个实施例中,RAID级别的数据镜像可以用于执行跨集群后端存储复制。如所描绘的实施例中所示的,控制节点305a、305b、315a及315b分别包括跨集群冗余管理模块362a、362b、364a及364b。如参考图4和图5所进一步详细描绘和说明的,管理模块包括使得相应的控制器节点能够在跨集群配置中非间断地执行接管/交还HA操作的逻辑。
图4是图示了根据本公开的实施例的由跨集群配置350内的HA对A1/A2在存储控制器替换期间及存储控制器替换后执行的操作的流程图。开始于步骤402处并继续进行到步骤404,HA对A1/A2开始接管进程,在接管进程中节点A1承担对A2先前控制的后端存储阵列306b及对应存储连接的控制。在接管之前,包括长距离FC互连342和344的跨集群配置互连由成员节点A1、A2、B1及B2使用,以镜像每个相应的HA伙伴的NVRAM的日志数据。从A2的这样的NVRAM复制连同其对后端存储306B的共享访问,使得节点A1能够自动地响应于来自A2的故障心跳信号,或如在示例实施例中那样响应于节点A2将被关闭以用于控制器替换的管理员信号而立即承担对A2的进行中的控制器节点功能的控制。
A2节点控制器305b可以包括图2中所描绘的一个或多个部件,包括处理器及相关联的存储器元件,并且还包括NVRAM卡。一旦控制器被替换并通电,如步骤406处所示的,过程继续交还程序,在交还程序中具有新控制器的节点A2将与节点A1进行协商,以再次承担对A2被配置为在正常操作期间所管理的存储设备和连接的控制。早在启动引导过程中,节点A2初始化其与包括交换机302和304的FC结构的连接性接口。在初始化(结构发现)期间,A2通过从交换机302和304获得以交换机的相应全球通用名称(WWN)形式的标识符来确定其集群内存储连接性(步骤410)。WWN或全球通用标识符(WWID)是用在包括光纤信道、先进技术附件或串行附接的SCSI的存储技术中的唯一标识符。在所描绘的实施例中,节点A2确定/发现本地光纤信道交换机302和304的WWN。所发现的WWN可以是例如依据序列号来标识交换机的全球通用节点名称。
节点A2 305b通过多播指示节点A2的身份的节点通告来通报其重新进入到跨集群配置350的FC互连上。如在步骤412处所示的,节点通告多播优选地与交还等待阶段重合,在交还等待阶段期间A2还不具有对其资源的访问,资源诸如在存储阵列306内记录A2的控制器设备ID及跨集群配置ID的邮箱根磁盘。此时,在节点A2具有对其唯一跨集群配置ID的访问之前,过程在步骤414处继续,其中A2向跨集群配置350的所有成员节点(即,A1、B1和B2)多播其节点通告。根据所描绘的实施例,节点通告包括节点标识信息,节点标识信息包括A2在步骤410处获得的交换机标识符。
步骤408描绘了节点A1接收到来自跨集群配置350的任何给定成员节点的任何给定节点通告。通常,节点通告将包括集群ID、节点***ID及节点配置ID。集群ID标识该节点所属的集群,使得在所描绘的实施例中节点A1和A2将具有相同的集群ID,而节点B1和B2也将具有相同的集群ID。节点***ID是单独地标识控制器硬件的数字或字母数字代码。在所描绘的实施例中,节点***ID对于节点A2将发生改变,因为其控制器已被替换。节点配置ID是依据其功能、连接性及与跨集群配置中的其他节点的相互关系来标识节点的代码。因此,不管节点的控制器是否被替换,节点配置ID与给定“节点”相关联地保持相同。
给定跨集群配置350的四节点成员关系,在步骤408处诸如所示的A1的任何成员节点可以接收来自至少三个成员节点中的任何节点的节点通告消息。如上文所说明的,所有成员节点具有相对于其他成员中的每个成员的所定义的作用,并且节点配置ID定义了这一作用。然后,当诸如A2的节点在控制器替换后重新启动时,其不具有对存储在邮箱根磁盘上的其节点配置ID的访问,对其节点配置ID的访问有待由节点A1返还。在针对A2的启动的交还等待阶段期间,节点A1接收到来自A2的多播(步骤408),该多播包括由节点A2在步骤410处获得的交换机标识符信息。如步骤416处所示的,节点A1确定在来自节点A2的多播中所包括的集群内标识符(在这一情况下的交换机标识符)是否匹配或以其他方式对应于其自身的集群内连接性信息,以确定A2是否是其HA对伙伴。响应于确定包含在A2的节点通告消息中的交换机标识符匹配其自身的集群内连接性信息(例如,匹配其连接到哪个本地交换机的其自身的对应记录),A1开始交还存储资源(步骤418),并且该过程以A2在跨集群配置内恢复在线结束。
图5是描绘了根据本公开的实施例的由跨集群配置350的成员节点A1、A2、B1和B2中的一个或多个在节点A2控制器替换后执行的操作的流程图。参考图5所描绘和描述的步骤可以与参考图4所描述的步骤和特征组合,以实现针对集群化存储节点的非间断存储控制器替换,集群化存储节点被配置为HA对并被合并到跨集群冗余域中。如所示的,该过程开始于步骤502处,并且然后继续完成存储资源(对存储设备和网络连接的控制)从节点A1到节点A2的交还。接下来,如步骤504处所示的,节点A2访问其邮箱根磁盘,针对其本身及跨集群配置350的其他三个成员的配置信息存储在其邮箱根磁盘上。如参考图4所描述的,已经重新启动的具有其新的控制器的节点A2已被节点A1识别为A1的HA集群伙伴。然而,节点A2还未相对于跨集群配置350内的节点A1、B1和B2重新建立其作用(作为HA伙伴、跨集群伙伴或辅助跨集群伙伴)。在步骤506和508处,A2读取在A2的邮箱根磁盘中本地存储的针对跨集群配置350的配置信息的副本。该配置信息与上文参考图4所描述的节点通告标识符信息一致。即,本地存储的配置信息包括针对每个成员的集群ID、节点***ID、节点配置ID,以及按照所描述的实施例的集群内连接性ID。
节点***ID对应于节点的控制器的设备标识符,通常表示为包含在控制内的NVRAM卡的序列号。在所描绘的示例中,在A2内本地存储的跨集群配置信息的副本将包括被替换为节点***ID的控制器的标识符。如在步骤508处所示的,A2将本地记录的节点***ID与其新近安装的控制器设备的标识符进行比较(步骤510)。如果如开始于步骤512处所示的那样,A2确定本地存储的控制器标识符与新近安装的控制器的标识符不同,那么A2生成要被多播到其他跨集群配置成员的控制器替换消息。
控制器替换消息包括被替换的A2控制器的标识符(即,当前本地存储的A2的节点***ID)及替换的A2控制器的对应标识符,两者都与A2的节点配置ID相关联,如先前所说明的,A2的节点配置ID在控制器替换后保持不变。在接收到多播控制器替换消息之后,接收者成员节点A1、B1和B2中的每一个将指定的节点配置ID用作密钥,以标识哪个成员节点的节点***ID需要替换(步骤516)。在如步骤518处所示的替换了跨集群配置信息的其本地存储副本中的节点***ID(即,控制器设备ID)时,每个成员节点向多播发送者A2发送ACK。当确认接收到来自所有成员节点的ACK回复的A2更新其自身的本地配置副本以用新的控制器ID替换先前的控制器ID时,该过程完成(步骤520、522和524)。
图6描绘了具有跨集群冗余管理单元610的示例计算机***。该计算机***包括处理器602(可能包括多个处理器、多个核心、多个节点,和/或实现多线程等)。计算机***包括存储器604,其可以是***存储器(例如,缓存、SRAM、DRAM、零电容器RAM、双晶体管RAM、eDRAM、EDO RAM、DDR RAM、EEPROM、NRAM、RRAM、SONOS、PRAM等中的一个或多个)或上文已描述的机器可读介质的可能实现中的任何一个或多个。计算机***还包括互连605(例如,PCI、ISA、PCI-Express、NuBus等)、网络接口606(例如,以太网接口、帧中继接口、SONET接口、无线接口等)及一个或多个存储设备608(例如,光存储装置、磁存储装置等)。冗余管理单元610体现实现上文参考图1-图5所描述的特征的功能。冗余管理单元610可以执行支持管理HA对的接管/交还阶段的操作,使得当被配置在集群化的环境中时执行接管的节点可以高效地识别其HA接管伙伴。冗余管理单元610可以执行如下操作:该操作支持由被配置在跨集群配置中的HA对的成员节点在HA对中的一个中的存储控制器的替换后执行的操作。这些功能中的任何一项可以被部分地(或完全地)实现在硬件中和/或在处理器602上。例如,功能可以使用专用集成电路来实现,可以在处理器602中所实现的逻辑中实现,可以在***设备或卡上的协同处理器中实现等。另外,实现可以包括更少的部件或者包括未在图6中图示的附加部件(例如,附加的网络接口、***设备等)。
如本领域技术人员将理解的,所公开的主题的方面可以被体现为***、方法或计算机程序产品。因此,所公开的主题的实施例可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合软件和硬件方面的实施例的形式,这些实施例在本文中可以通常都被称为“电路”、“模块”或“***”。此外,所公开的主题的实施例可以采取计算机程序产品的形式,该计算机程序产品体现在其上体现有计算机可读程序代码的一个或多个计算机可读介质中。
可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以例如是,但不限于:电子的、磁的、光的、电磁的、红外的或半导体的***、装置或设备,或者前述各项的任何适当组合。计算机可读存储介质的更具体的示例(非穷举的列表)将包括以下:具有一个或多个导线的电气连接,便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存),光纤,便携式压缩碟只读存储器(CD-ROM),光存储设备,磁存储设备,或前述各项的任何时代那个组合。在本文档的上下文中,计算机可读存储介质可以是可以包含或存储用于由指令执行***、装置或设备使用或者结合指令执行***、装置或设备来使用的程序的任何有形介质。
计算机可读信号介质可以包括其中体现有计算机可读程序代码(例如,在基带中或作为载波的一部分)的传播数据信号。这样的传播信号可以采取包括但不限于电磁、光或其任何适当组合的各种形式中的任何形式。计算机可读信号介质可以是任何计算机可读介质,计算机可读介质不是计算机可读存储介质且可以传达、传播或传送用于由指令执行***、装置或设备使用或者结合指令执行***、装置或设备来使用的程序。
体现在计算机可读介质上的程序代码可以使用任何合适介质来传输,这些介质包括但不限于无线、电缆、光纤线缆、RF等,或前述各项的任何适当组合。
用于执行针对所公开的主题的多个方面的操作的计算机程序代码可以以一个或多个编程语言的任何组合来编写,这些编程语言包括诸如Java、Smalltalk、C++等的面向对象编程语言及诸如“C”编程语言或类似编程语言的传统过程编程语言。程序代码可以完全地在用户的计算机上执行、部分地在用户的计算机上执行、作为单独软件包来执行、部分地在用户的计算机上且部分地在远程计算机上执行或完全在远程计算机或服务器上执行。在后一情境中,远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型的网络而连接到用户的计算机,或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。
虽然参考各种实现和利用对实施例进行了描述,但是应理解的是这些实施例是说明性的并且所公开的主题的范围不限于这些实施例。一般而言,如本文所描述的用于非间断地替换存储控制器的技术可以利用与任何硬件***或软件***一致的设施来实现。许多变化、修改、添加和改进是可能的。
Claims (20)
1.一种用于在存储集群环境内管理节点的方法,所述方法包括:
在从第一节点向第二节点的存储冗余交还期间,在存储冗余接管之后初始化所述第二节点,
其中所述存储冗余交还响应于如下而被执行:在所述第一节点响应于所述第二节点故障执行了针对所述第二节点的所述存储冗余接管之后,在对所述第二节点的硬件修改之后,所述第二节点变得可用于初始化,
其中初始化所述第二节点包括:
从所述第二节点接收包括集群内节点连接性标识符的节点标识指示符,以及
基于所述集群内节点连接性标识符,来确定所述第二节点是否是针对所述第一节点的集群内接管伙伴,以及
响应于确定所述第二节点是针对所述第一节点的所述集群内接管伙伴,执行存储资源从所述第一节点向所述第二节点的交还。
2.根据权利要求1所述的方法,其中所述确定所述第二节点是否是集群内接管伙伴包括:将从所述第二节点接收的所述集群内节点连接性标识符与所述第一节点的集群内连接性信息进行比较。
3.根据权利要求1所述的方法,进一步包括:在所述存储冗余交还的交还等待阶段期间,接收由所述第二节点发送的节点通告消息,所述节点通告消息包括所述节点标识指示符。
4.根据权利要求1所述的方法,其中所述第一节点和所述第二节点经由一个或多个交换机耦合到存储设备,并且其中所述集群内节点连接性标识符包括所述一个或多个交换机中的交换机的标识符。
5.根据权利要求1所述的方法,其中所述初始化所述第二节点进一步包括:引导所述第二节点,并且其中所述接收出现在所述引导的交还阶段期间。
6.根据权利要求1所述的方法,其中所述第一节点和所述第二节点被配置为第一存储集群中的第一高可用性HA存储控制器对,并且其中所述存储集群环境进一步包括被配置为第二存储集群中的第二高可用性HA存储控制器对的第三节点和第四节点,所述方法进一步包括:
响应于执行存储资源从所述第一节点向所述第二节点的所述交还,
读取由所述第二节点本地存储的跨集群配置信息的副本,
确定由所述跨集群配置信息的所述副本指定的存储控制器设备标识符不同于与所述第二节点内的存储控制器设备相关联的标识符,以及
响应于确定由所述跨集群配置信息的所述副本指定的所述存储控制器设备标识符不同于与所述第二节点内的所述存储控制器设备相关联的所述标识符,向所述第一节点、所述第三节点及所述第四节点发送存储控制器替换消息,以指示存储控制器设备替换针对所述第二节点而被执行了,其中所述第一节点、所述第二节点、所述第三节点和所述第四节点属于基于所述跨集群配置信息被配置的跨集群存储冗余配置。
7.根据权利要求6所述的方法,进一步包括:
基于所述存储控制器替换消息,确定所述第一节点、所述第三节点及所述第四节点具有所述跨集群配置信息的修改的本地存储的副本;以及
响应于确定所述第一节点、所述第三节点及所述第四节点具有所述跨集群配置信息的修改的本地存储的副本,修改由所述第二节点本地存储的所述跨集群配置信息的所述副本。
8.根据权利要求6所述的方法,其中所述存储控制器替换消息指定与节点配置标识符相关联的控制器设备标识符,所述方法进一步包括:
替换由所述第一节点、所述第三节点和所述第四节点本地存储的所述跨集群配置信息的副本内的控制器设备标识符。
9.一种非暂态机器可读介质,其上存储有用于执行方法的指令,所述指令包括程序代码,所述程序代码当由至少一个机器执行时使得所述机器:
在从第一节点向第二节点的存储冗余交还期间,在存储冗余接管之后初始化所述第二节点,
其中所述存储冗余交还响应于如下而被执行:在所述第一节点响应于所述第二节点故障执行了针对所述第二节点的所述存储冗余接管之后,在对所述第二节点的硬件修改之后,所述第二节点变得可用于初始化,
其中用于初始化所述第二节点的所述程序代码包括用于以下的程序代码:
从所述第二节点接收包括集群内节点连接性标识符的节点标识指示符,以及
基于所述集群内节点连接性标识符,来确定所述第二节点是否是针对所述第一节点的集群内接管伙伴,以及
响应于确定所述第二节点是针对所述第一节点的所述集群内接管伙伴,执行存储资源从所述第一节点向所述第二节点的交还。
10.根据权利要求9所述的非暂态机器可读介质,其中所述硬件修改对应于针对所述第二节点的存储控制器替换。
11.根据权利要求9所述的非暂态机器可读介质,其中用于初始化所述第二节点的所述程序代码包括:用于引导所述第二节点的程序代码,并且其中所述接收出现在所述引导的交还阶段期间。
12.根据权利要求9所述的非暂态机器可读介质,其中所述第一节点和所述第二节点被配置为第一存储集群中的第一高可用性HA存储控制器对,并且其中所述存储集群环境进一步包括:被配置为第二存储集群中的第二高可用性HA存储控制器对的第三节点和第四节点,所述程序代码进一步包括用于以下的程序代码:
响应于执行存储资源从所述第一节点向所述第二节点的所述交还,
读取由所述第二节点本地存储的跨集群配置信息的副本,
确定由所述跨集群配置信息的副本指定的存储控制器设备标识符不同于与所述第二节点内的存储控制器设备相关联的标识符,以及
响应于确定由所述跨集群配置信息的所述副本指定的所述存储控制器设备标识符不同于与所述第二节点内的所述存储控制器设备相关联的所述标识符,向所述第一节点、所述第三节点及所述第四节点发送存储控制器替换消息,以指示存储控制器设备替换针对所述第二节点而被执行,其中所述第一节点、所述第二节点、所述第三节点和所述第四节点属于基于所述跨集群配置信息被配置的跨集群存储冗余配置。
13.根据权利要求12所述的非暂态机器可读介质,进一步包括用于以下的程序代码:
基于所述存储控制器替换消息,确定所述第一节点、所述第三节点及所述第四节点具有所述跨集群配置信息的修改的本地存储的副本;以及
响应于确定所述第一节点、所述第三节点及所述第四节点具有所述跨集群配置信息的修改的本地存储的副本,修改由所述第二节点本地存储的所述跨集群配置信息的所述副本。
14.根据权利要求12所述的非暂态机器可读介质,其中所述存储控制器替换消息指定与节点配置标识符相关联的控制器设备标识符,所述程序代码进一步包括用于以下的程序代码:
替换由所述第一节点、所述第三节点和所述第四节点本地存储的所述跨集群配置信息的副本内的控制器设备标识符。
15.一种计算设备,包括:
至少一个处理器;以及
耦合到所述处理器的存储器,所述处理器被配置为能够执行存储在所述存储器中的程序代码以用于:
在从第一节点向第二节点的存储冗余交还期间,初始化所述第二节点,
其中所述存储冗余交还响应于如下而被执行:在所述第一节点响应于所述第二节点故障执行了针对所述第二节点的存储冗余接管之后,在对所述第二节点的硬件修改之后,所述第二节点变得可用于初始化,
其中通过以下来初始化所述第二节点:
从所述第二节点接收包括集群内节点连接性标识符的节点标识指示符,以及
基于所述集群内节点连接性标识符,来确定所述第二节点是否是针对所述第一节点的集群内接管伙伴,以及
响应于确定所述第二节点是针对所述第一节点的所述集群内接管伙伴,执行存储资源从所述第一节点向所述第二节点的交还。
16.根据权利要求15所述的计算设备,其中所述硬件修改对应于针对所述第二节点的存储控制器替换。
17.根据权利要求15所述的计算设备,其中用于初始化所述第二节点的所述程序代码包括:由所述处理器可执行以引导所述第二节点的程序代码,并且其中所述接收出现在所述引导的交还阶段期间。
18.根据权利要求15所述的计算设备,其中所述第一节点和所述第二节点被配置为第一存储集群中的第一高可用性HA存储控制器对,并且其中存储集群环境包括:被配置为第二存储集群中的第二高可用性HA存储控制器对的第三节点和第四节点,其中所述程序代码进一步包括由所述处理器可执行以用于以下的程序代码:
响应于执行存储资源从所述第一节点向所述第二节点的所述交还:
读取由所述第二节点本地存储的跨集群配置信息的副本,
确定由所述跨集群配置信息的副本指定的存储控制器设备标识符不同于与所述第二节点内的存储控制器设备相关联的标识符,以及
响应于确定由所述跨集群配置信息的副本指定的所述存储控制器设备标识符不同于与所述第二节点内的所述存储控制器设备相关联的所述标识符,向所述第一节点、所述第三节点及所述第四节点发送存储控制器替换消息,其中所述第一节点、所述第二节点、所述第三节点和所述第四节点属于基于所述跨集群配置信息被配置的跨集群存储冗余配置。
19.根据权利要求15所述的计算设备,其中存储控制器替换消息指示所述第二节点的存储控制器被替换以寻址所述第二节点的故障。
20.根据权利要求15所述的计算设备,其中存储控制器替换消息指定与节点配置标识符相关联的控制器设备标识符,所述程序代码进一步包括使得所述处理器进行以下操作的程序代码:
替换由所述第一节点、第三节点和第四节点本地存储的跨集群配置信息的副本内的控制器设备标识符。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/541,119 | 2014-11-13 | ||
US14/541,119 US9507678B2 (en) | 2014-11-13 | 2014-11-13 | Non-disruptive controller replacement in a cross-cluster redundancy configuration |
PCT/US2015/060345 WO2016077562A1 (en) | 2014-11-13 | 2015-11-12 | Non-disruptive controller replacement in a cross-cluster redundancy configuration |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107111457A CN107111457A (zh) | 2017-08-29 |
CN107111457B true CN107111457B (zh) | 2020-02-28 |
Family
ID=54705845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580072388.9A Active CN107111457B (zh) | 2014-11-13 | 2015-11-12 | 跨集群冗余配置中的非间断的控制器替换 |
Country Status (5)
Country | Link |
---|---|
US (3) | US9507678B2 (zh) |
EP (1) | EP3218793B1 (zh) |
JP (1) | JP6317856B2 (zh) |
CN (1) | CN107111457B (zh) |
WO (1) | WO2016077562A1 (zh) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015116227A1 (en) * | 2014-02-03 | 2015-08-06 | Empire Technology Development Llc | Encrypted communication between paired devices |
US20160077937A1 (en) * | 2014-09-16 | 2016-03-17 | Unisys Corporation | Fabric computer complex method and system for node function recovery |
US9842033B2 (en) | 2014-11-12 | 2017-12-12 | Netapp, Inc. | Storage cluster failure detection |
US9507678B2 (en) * | 2014-11-13 | 2016-11-29 | Netapp, Inc. | Non-disruptive controller replacement in a cross-cluster redundancy configuration |
US9753822B1 (en) * | 2015-07-24 | 2017-09-05 | EMC IP Holding Company LLC | Automatic non-disruptive connection recovery of a fixed topology fabric in a data storage system |
US10154090B1 (en) * | 2015-09-22 | 2018-12-11 | EMC IP Holding Company LLC | Distributed cache coherency protocol for reduced latency across WAN links |
US10261690B1 (en) * | 2016-05-03 | 2019-04-16 | Pure Storage, Inc. | Systems and methods for operating a storage system |
US10365981B2 (en) * | 2016-08-19 | 2019-07-30 | Samsung Electronics Co., Ltd. | Adaptive multipath fabric for balanced performance and high availability |
US10761743B1 (en) | 2017-07-17 | 2020-09-01 | EMC IP Holding Company LLC | Establishing data reliability groups within a geographically distributed data storage environment |
US10817388B1 (en) | 2017-07-21 | 2020-10-27 | EMC IP Holding Company LLC | Recovery of tree data in a geographically distributed environment |
CN109286507B (zh) * | 2017-07-21 | 2022-11-11 | 伊姆西Ip控股有限责任公司 | 发现方法、计算***以及计算机可读介质 |
US10880040B1 (en) | 2017-10-23 | 2020-12-29 | EMC IP Holding Company LLC | Scale-out distributed erasure coding |
CN109726600B (zh) * | 2017-10-31 | 2023-07-14 | 伊姆西Ip控股有限责任公司 | 针对超融合基础设施提供数据保护的***和方法 |
US10382554B1 (en) | 2018-01-04 | 2019-08-13 | Emc Corporation | Handling deletes with distributed erasure coding |
US10817374B2 (en) | 2018-04-12 | 2020-10-27 | EMC IP Holding Company LLC | Meta chunks |
US11233850B2 (en) | 2018-04-17 | 2022-01-25 | Hewlett Packard Enterprise Development Lp | Replicating data over a public network |
US10579297B2 (en) | 2018-04-27 | 2020-03-03 | EMC IP Holding Company LLC | Scaling-in for geographically diverse storage |
US10936196B2 (en) | 2018-06-15 | 2021-03-02 | EMC IP Holding Company LLC | Data convolution for geographically diverse storage |
US11023130B2 (en) | 2018-06-15 | 2021-06-01 | EMC IP Holding Company LLC | Deleting data in a geographically diverse storage construct |
JP6720250B2 (ja) | 2018-07-11 | 2020-07-08 | 株式会社日立製作所 | ストレージシステム及び構成情報制御方法 |
US11036419B1 (en) | 2018-07-12 | 2021-06-15 | Cisco Technology, Inc. | Distributed storage resource reservation for replication, disaster recovery and data protection across multiple sites |
US10944819B2 (en) * | 2018-10-26 | 2021-03-09 | Hewlett Packard Enterprise Development Lp | Replication of an encrypted volume |
US11436203B2 (en) * | 2018-11-02 | 2022-09-06 | EMC IP Holding Company LLC | Scaling out geographically diverse storage |
US10901635B2 (en) | 2018-12-04 | 2021-01-26 | EMC IP Holding Company LLC | Mapped redundant array of independent nodes for data storage with high performance using logical columns of the nodes with different widths and different positioning patterns |
US10931777B2 (en) | 2018-12-20 | 2021-02-23 | EMC IP Holding Company LLC | Network efficient geographically diverse data storage system employing degraded chunks |
US11119683B2 (en) | 2018-12-20 | 2021-09-14 | EMC IP Holding Company LLC | Logical compaction of a degraded chunk in a geographically diverse data storage system |
US10892782B2 (en) | 2018-12-21 | 2021-01-12 | EMC IP Holding Company LLC | Flexible system and method for combining erasure-coded protection sets |
US10997204B2 (en) * | 2018-12-21 | 2021-05-04 | Elasticsearch B.V. | Cross cluster replication |
US11023331B2 (en) | 2019-01-04 | 2021-06-01 | EMC IP Holding Company LLC | Fast recovery of data in a geographically distributed storage environment |
US10942827B2 (en) | 2019-01-22 | 2021-03-09 | EMC IP Holding Company LLC | Replication of data in a geographically distributed storage environment |
US10936239B2 (en) | 2019-01-29 | 2021-03-02 | EMC IP Holding Company LLC | Cluster contraction of a mapped redundant array of independent nodes |
US10942825B2 (en) | 2019-01-29 | 2021-03-09 | EMC IP Holding Company LLC | Mitigating real node failure in a mapped redundant array of independent nodes |
US10846003B2 (en) | 2019-01-29 | 2020-11-24 | EMC IP Holding Company LLC | Doubly mapped redundant array of independent nodes for data storage |
US10866766B2 (en) | 2019-01-29 | 2020-12-15 | EMC IP Holding Company LLC | Affinity sensitive data convolution for data storage systems |
US10944826B2 (en) | 2019-04-03 | 2021-03-09 | EMC IP Holding Company LLC | Selective instantiation of a storage service for a mapped redundant array of independent nodes |
US11029865B2 (en) | 2019-04-03 | 2021-06-08 | EMC IP Holding Company LLC | Affinity sensitive storage of data corresponding to a mapped redundant array of independent nodes |
US11121727B2 (en) | 2019-04-30 | 2021-09-14 | EMC IP Holding Company LLC | Adaptive data storing for data storage systems employing erasure coding |
US11113146B2 (en) | 2019-04-30 | 2021-09-07 | EMC IP Holding Company LLC | Chunk segment recovery via hierarchical erasure coding in a geographically diverse data storage system |
US11119686B2 (en) | 2019-04-30 | 2021-09-14 | EMC IP Holding Company LLC | Preservation of data during scaling of a geographically diverse data storage system |
US11748004B2 (en) | 2019-05-03 | 2023-09-05 | EMC IP Holding Company LLC | Data replication using active and passive data storage modes |
US11209996B2 (en) | 2019-07-15 | 2021-12-28 | EMC IP Holding Company LLC | Mapped cluster stretching for increasing workload in a data storage system |
US11023145B2 (en) | 2019-07-30 | 2021-06-01 | EMC IP Holding Company LLC | Hybrid mapped clusters for data storage |
US11449399B2 (en) | 2019-07-30 | 2022-09-20 | EMC IP Holding Company LLC | Mitigating real node failure of a doubly mapped redundant array of independent nodes |
US11228322B2 (en) | 2019-09-13 | 2022-01-18 | EMC IP Holding Company LLC | Rebalancing in a geographically diverse storage system employing erasure coding |
US11449248B2 (en) | 2019-09-26 | 2022-09-20 | EMC IP Holding Company LLC | Mapped redundant array of independent data storage regions |
US11435910B2 (en) | 2019-10-31 | 2022-09-06 | EMC IP Holding Company LLC | Heterogeneous mapped redundant array of independent nodes for data storage |
US11119690B2 (en) | 2019-10-31 | 2021-09-14 | EMC IP Holding Company LLC | Consolidation of protection sets in a geographically diverse data storage environment |
US11288139B2 (en) | 2019-10-31 | 2022-03-29 | EMC IP Holding Company LLC | Two-step recovery employing erasure coding in a geographically diverse data storage system |
US11435957B2 (en) | 2019-11-27 | 2022-09-06 | EMC IP Holding Company LLC | Selective instantiation of a storage service for a doubly mapped redundant array of independent nodes |
US11144220B2 (en) | 2019-12-24 | 2021-10-12 | EMC IP Holding Company LLC | Affinity sensitive storage of data corresponding to a doubly mapped redundant array of independent nodes |
US11231860B2 (en) | 2020-01-17 | 2022-01-25 | EMC IP Holding Company LLC | Doubly mapped redundant array of independent nodes for data storage with high performance |
US11507308B2 (en) | 2020-03-30 | 2022-11-22 | EMC IP Holding Company LLC | Disk access event control for mapped nodes supported by a real cluster storage system |
CN111597024B (zh) * | 2020-05-14 | 2022-02-18 | 科东(广州)软件科技有限公司 | 跨域集群处理方法、装置、电子设备及存储介质 |
US11288229B2 (en) | 2020-05-29 | 2022-03-29 | EMC IP Holding Company LLC | Verifiable intra-cluster migration for a chunk storage system |
US11693983B2 (en) | 2020-10-28 | 2023-07-04 | EMC IP Holding Company LLC | Data protection via commutative erasure coding in a geographically diverse data storage system |
US11847141B2 (en) | 2021-01-19 | 2023-12-19 | EMC IP Holding Company LLC | Mapped redundant array of independent nodes employing mapped reliability groups for data storage |
US11625174B2 (en) | 2021-01-20 | 2023-04-11 | EMC IP Holding Company LLC | Parity allocation for a virtual redundant array of independent disks |
EP4063974A1 (en) * | 2021-03-23 | 2022-09-28 | ABB Schweiz AG | Controlling an industrial process using virtualized instances of control software |
US11354191B1 (en) | 2021-05-28 | 2022-06-07 | EMC IP Holding Company LLC | Erasure coding in a large geographically diverse data storage system |
US11449234B1 (en) | 2021-05-28 | 2022-09-20 | EMC IP Holding Company LLC | Efficient data access operations via a mapping layer instance for a doubly mapped redundant array of independent nodes |
CN115695453A (zh) * | 2022-10-31 | 2023-02-03 | 浪潮云信息技术股份公司 | 一种提高镜像仓库稳定性的方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7788522B1 (en) * | 2007-05-31 | 2010-08-31 | Oracle America, Inc. | Autonomous cluster organization, collision detection, and resolutions |
WO2011149665A1 (en) * | 2010-05-25 | 2011-12-01 | Cisco Technology, Inc. | Keep-alive hiatus declaration |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6006342A (en) * | 1997-12-11 | 1999-12-21 | International Business Machines Corporation | Failover and failback system for a direct access storage device |
US6807179B1 (en) * | 2000-04-18 | 2004-10-19 | Advanced Micro Devices, Inc. | Trunking arrangement in a network switch |
US6804703B1 (en) * | 2000-06-22 | 2004-10-12 | International Business Machines Corporation | System and method for establishing persistent reserves to nonvolatile storage in a clustered computer environment |
US6609213B1 (en) * | 2000-08-10 | 2003-08-19 | Dell Products, L.P. | Cluster-based system and method of recovery from server failures |
US6938122B2 (en) * | 2001-01-23 | 2005-08-30 | Emc Corporation | Remote mirroring in a switched environment |
ATE480822T1 (de) | 2001-02-13 | 2010-09-15 | Candera Inc | Failover-verarbeitung in einem speicherungssystem |
US6708175B2 (en) * | 2001-06-06 | 2004-03-16 | International Business Machines Corporation | Program support for disk fencing in a shared disk parallel file system across storage area network |
US7013004B1 (en) * | 2001-09-24 | 2006-03-14 | Bellsouth Intellectual Property Corp. | Systems and methods to compare operational statuses of switch feature packages |
US20030158933A1 (en) * | 2002-01-10 | 2003-08-21 | Hubbert Smith | Failover clustering based on input/output processors |
US20060105775A1 (en) * | 2002-03-16 | 2006-05-18 | Von Kaenel Tim A | Method, system, and program for network design, analysis, and optimization |
JP4319017B2 (ja) * | 2003-12-02 | 2009-08-26 | 株式会社日立製作所 | ストレージシステムの制御方法、ストレージシステム、及び記憶装置 |
US20050283641A1 (en) * | 2004-05-21 | 2005-12-22 | International Business Machines Corporation | Apparatus, system, and method for verified fencing of a rogue node within a cluster |
JP2006074286A (ja) * | 2004-08-31 | 2006-03-16 | Fujitsu Ltd | 伝送装置 |
US7702947B2 (en) * | 2005-11-29 | 2010-04-20 | Bea Systems, Inc. | System and method for enabling site failover in an application server environment |
US7797570B2 (en) * | 2005-11-29 | 2010-09-14 | Netapp, Inc. | System and method for failover of iSCSI target portal groups in a cluster environment |
US7839523B2 (en) * | 2005-12-13 | 2010-11-23 | Xerox Corporation | System and method for resolving a hardware identifier to a network address of networked device |
JP2007279890A (ja) * | 2006-04-04 | 2007-10-25 | Hitachi Ltd | バックアップシステム及びバックアップ方法 |
US8090908B1 (en) * | 2006-04-26 | 2012-01-03 | Netapp, Inc. | Single nodename cluster system for fibre channel |
US7613947B1 (en) | 2006-11-30 | 2009-11-03 | Netapp, Inc. | System and method for storage takeover |
US7898937B2 (en) * | 2006-12-06 | 2011-03-01 | Cisco Technology, Inc. | Voting to establish a new network master device after a network failover |
US7886182B1 (en) * | 2007-04-19 | 2011-02-08 | Network Appliances, Inc. | Enhanced coordinated cluster recovery |
US8327186B2 (en) * | 2009-03-10 | 2012-12-04 | Netapp, Inc. | Takeover of a failed node of a cluster storage system on a per aggregate basis |
US8145825B2 (en) * | 2009-03-20 | 2012-03-27 | Spectra Logic Corporation | Global spare |
US8930527B2 (en) * | 2009-05-26 | 2015-01-06 | Oracle International Corporation | High availability enabler |
US9195528B1 (en) * | 2010-02-24 | 2015-11-24 | Symantec Corporation | Systems and methods for managing failover clusters |
US8688642B2 (en) * | 2010-02-26 | 2014-04-01 | Symantec Corporation | Systems and methods for managing application availability |
US9535805B2 (en) * | 2010-03-04 | 2017-01-03 | Microsoft Technology Licensing, Llc | Resilient routing for session initiation protocol based communication systems |
US8874961B2 (en) * | 2010-03-22 | 2014-10-28 | Infosys Limited | Method and system for automatic failover of distributed query processing using distributed shared memory |
US8738961B2 (en) * | 2010-08-17 | 2014-05-27 | International Business Machines Corporation | High-availability computer cluster with failover support based on a resource map |
US8412672B1 (en) * | 2010-09-08 | 2013-04-02 | Netapp, Inc. | High availability network storage system incorporating non-shared storage suitable for use with virtual storage servers |
US8365008B2 (en) * | 2010-10-13 | 2013-01-29 | International Business Machines Corporation | Providing unsolicited global disconnect requests to users of storage |
US8484163B1 (en) | 2010-12-16 | 2013-07-09 | Netapp, Inc. | Cluster configuration backup and recovery |
US8510267B2 (en) * | 2011-03-08 | 2013-08-13 | Rackspace Us, Inc. | Synchronization of structured information repositories |
US10108630B2 (en) * | 2011-04-07 | 2018-10-23 | Microsoft Technology Licensing, Llc | Cluster unique identifier |
US8856295B2 (en) * | 2012-01-10 | 2014-10-07 | Oracle International Corporation | System and method for providing an enterprise deployment topology with thick client functionality |
EP2804351A4 (en) * | 2012-01-11 | 2015-07-22 | Nec Corp | COMPUTER SYSTEM, CONTROLLER, SWITCH, COMMUNICATION METHOD, AND RECORDING MEDIUM HAVING STORED A NETWORK MANAGEMENT PROGRAM |
US9116862B1 (en) * | 2012-01-17 | 2015-08-25 | Amazon Technologies, Inc. | System and method for data replication using a single master failover protocol |
US8832372B2 (en) | 2012-05-24 | 2014-09-09 | Netapp, Inc. | Network storage systems having clustered raids for improved redundancy and load balancing |
US9367412B2 (en) | 2012-06-25 | 2016-06-14 | Netapp, Inc. | Non-disruptive controller replacement in network storage systems |
US8904231B2 (en) | 2012-08-08 | 2014-12-02 | Netapp, Inc. | Synchronous local and cross-site failover in clustered storage systems |
US8904117B1 (en) * | 2012-12-21 | 2014-12-02 | Symantec Corporation | Non-shared write-back caches in a cluster environment |
CN104798349B (zh) * | 2013-01-30 | 2018-08-07 | 慧与发展有限责任合伙企业 | 响应于端口故障的故障转移 |
US9203699B2 (en) * | 2014-02-11 | 2015-12-01 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Constructing and verifying switch fabric cabling schemes |
US9613119B1 (en) * | 2013-03-14 | 2017-04-04 | Nutanix, Inc. | Unique identifiers for data replication, migration, failover operations and failback operations |
US9912544B2 (en) * | 2014-10-28 | 2018-03-06 | Dell Products L.P. | System and method for master switch election |
US9507678B2 (en) * | 2014-11-13 | 2016-11-29 | Netapp, Inc. | Non-disruptive controller replacement in a cross-cluster redundancy configuration |
-
2014
- 2014-11-13 US US14/541,119 patent/US9507678B2/en active Active
-
2015
- 2015-11-12 EP EP15801581.8A patent/EP3218793B1/en active Active
- 2015-11-12 CN CN201580072388.9A patent/CN107111457B/zh active Active
- 2015-11-12 JP JP2017526077A patent/JP6317856B2/ja active Active
- 2015-11-12 WO PCT/US2015/060345 patent/WO2016077562A1/en active Application Filing
-
2016
- 2016-11-28 US US15/361,625 patent/US10282262B2/en active Active
-
2019
- 2019-03-14 US US16/353,120 patent/US11422908B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7788522B1 (en) * | 2007-05-31 | 2010-08-31 | Oracle America, Inc. | Autonomous cluster organization, collision detection, and resolutions |
WO2011149665A1 (en) * | 2010-05-25 | 2011-12-01 | Cisco Technology, Inc. | Keep-alive hiatus declaration |
Also Published As
Publication number | Publication date |
---|---|
WO2016077562A1 (en) | 2016-05-19 |
EP3218793B1 (en) | 2021-02-24 |
US20190213093A1 (en) | 2019-07-11 |
EP3218793A1 (en) | 2017-09-20 |
CN107111457A (zh) | 2017-08-29 |
JP6317856B2 (ja) | 2018-04-25 |
JP2018500648A (ja) | 2018-01-11 |
US20160140003A1 (en) | 2016-05-19 |
US11422908B2 (en) | 2022-08-23 |
US10282262B2 (en) | 2019-05-07 |
US20170075783A1 (en) | 2017-03-16 |
US9507678B2 (en) | 2016-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107111457B (zh) | 跨集群冗余配置中的非间断的控制器替换 | |
US11487632B2 (en) | Techniques for LIF placement in SAN storage cluster synchronous disaster recovery | |
US11163653B2 (en) | Storage cluster failure detection | |
US11409622B1 (en) | Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system without using an external mediator | |
US9928148B2 (en) | Configuration of peered cluster storage environment organized as disaster recovery group | |
US10693955B2 (en) | Techniques for SAN storage cluster synchronous disaster recovery | |
US8996477B2 (en) | Multiple node/virtual input/output (I/O) server (VIOS) failure recovery in clustered partition mobility | |
US9817721B1 (en) | High availability management techniques for cluster resources | |
JP2019219954A (ja) | クラスタストレージシステム、データ管理制御方法、データ管理制御プログラム | |
US11550679B2 (en) | Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system | |
US11709743B2 (en) | Methods and systems for a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system | |
US20160077752A1 (en) | Fibre Channel Storage Array Methods for Handling Cache-Consistency Among Controllers of an Array and Consistency Among Arrays of a Pool | |
US11934670B2 (en) | Performing various operations at the granularity of a consistency group within a cross-site storage solution | |
US20120066678A1 (en) | Cluster-aware virtual input/output server | |
US20120151095A1 (en) | Enforcing logical unit (lu) persistent reservations upon a shared virtual storage device | |
CN108205573B (zh) | 一种数据分布式存储方法及*** | |
CN113849136A (zh) | 一种基于国产平台的自动化fc块存储处理方法和*** | |
US10305987B2 (en) | Method to syncrhonize VSAN node status in VSAN cluster | |
EP3167372B1 (en) | Methods for facilitating high availability storage services and corresponding devices | |
US20230334026A1 (en) | Asynchronous metadata replication and migration between compute sites | |
TW201242271A (en) | Keeping a communication path smooth in a storage area network |
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 |