CN109726600A - 针对超融合基础设施提供数据保护的系统和方法 - Google Patents

针对超融合基础设施提供数据保护的系统和方法 Download PDF

Info

Publication number
CN109726600A
CN109726600A CN201711050097.7A CN201711050097A CN109726600A CN 109726600 A CN109726600 A CN 109726600A CN 201711050097 A CN201711050097 A CN 201711050097A CN 109726600 A CN109726600 A CN 109726600A
Authority
CN
China
Prior art keywords
layer destination
stocking system
destination
layer
stocking
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
CN201711050097.7A
Other languages
English (en)
Other versions
CN109726600B (zh
Inventor
鄢彪
肖丹
陈南
王明
廖思捷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201711050097.7A priority Critical patent/CN109726600B/zh
Priority to US15/814,854 priority patent/US10678759B2/en
Publication of CN109726600A publication Critical patent/CN109726600A/zh
Application granted granted Critical
Publication of CN109726600B publication Critical patent/CN109726600B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Human Computer Interaction (AREA)

Abstract

本发明涉及针对超融合基础设施提供数据保护的系统和方法。公开了在高可用性集群环境中提供数据保护的技术。这些技术采用多层数据保护,包括在第一层目的地储存系统处为源储存系统提供完整数据保护的第一层数据保护,以及在第二层目的地储存系统的集群之中为源储存系统提供分布式数据保护的第二层数据保护。通过在高可用性集群环境中为源储存系统采用多层数据保护,该技术可以提供:(i)在第一层目的地储存系统处的完整数据保护,以及(ii)在第二层目的地储存系统的集群处的分布式数据保护,减少由于源储存系统和/或第一层目的地储存系统故障引起的数据丢失的机会,并且消除从第一层目的地储存系统到第二层目的地储存系统的集群的数据瓶颈。

Description

针对超融合基础设施提供数据保护的系统和方法
技术领域
本申请涉及提供数据保护,具体地,涉及针对超融合基础设施提供数据保护的系统和方法。
背景技术
用于在数据储存系统环境中实现数据保护的常规系统通常采用被已知为数据复制(replication)的数据储存技术,其中在源储存系统上的一个组织的数据被拷贝(或复制)并存储在目的地储存系统中。例如,目的地储存系统可以与源储存系统处于相同的物理位置中,或者处于远程于源储存系统的物理位置中。这样的常规系统可以被配置为响应于在源储存系统处诸如达到低空闲储存阈值、检测到内部组件的故障等等之类的缺陷而自动执行数据复制。以这种方式,可以减少对这种常规系统的用户造成错误的负担或机会。
发明内容
在近年来,当数据储存系统环境内的一个或多个数据储存系统故障时,已经采用高可用性集群数据保护来提供持续的服务。高可用性集群是一组数据储存系统、计算机、设备和/或网络节点,其可以检测运行诸如输入/输出(I/O)(例如,读/写(R/W)应用的特定应用的储存系统上的硬件故障和/或软件错误,并在故障转移过程中自动重新启动在另一个储存系统上的该特定应用,这是在很少或根本没有系统管理员干预的情况下进行的。作为故障转移过程的一部分,在数据储存系统组之间运行的专用软件可以在重新启动特定应用之前诸如通过恢复和/或导入数据、安装一个或多个文件系统等等来配置相应储存系统。结果,可以以较少的停机时间在数据储存系统组内实现高可用性集群数据保护。
然而,在高可用性集群环境内实现常规数据复制技术可能是有问题的,因为这种常规技术通常仅涉及单层数据保护。例如,可以将源储存系统处的组织的数据拷贝(或复制)并存储在目的地储存系统处,导致在单个目的地储存系统层处的完整数据保护。然而,如果目的地储存系统随后经历硬件故障和/或软件错误、崩溃、脱机或以其他方式变成无效,则源储存系统处的数据可能不再受到完整数据保护的。此外,如果源储存系统和单个目的地储存系统都变成无效,则存储在源和目的地储存系统上的任何数据以及运行在源储存系统上的特定应用可能不再是可访问的。
本文公开了用于在高可用性集群环境中提供数据保护的技术。这样的技术特别适用于使用诸如“云”中的数据储存系统、计算机、设备和/或网络节点的集群或组进行操作的融合或超融合基础设施。所公开的技术采用多层(例如,至少两层)数据保护,包括在目的地储存系统处为源储存系统提供完整数据保护的第一层数据保护(本文中也称为“第一层目的地储存系统”),以及在目的地储存系统的集群之中提供分布式数据保护的第二层数据保护(本文中也称为“第二层目的地储存系统”)。
在源储存系统和第一层目的地储存系统中的一个或两者经历硬件故障和/或软件错误、崩溃、脱机或以其他方式变成无效的情况下,可以有效地促进多层中的目的地储存系统中的至少一个来承担源储存系统和/或第一层目的地储存系统的角色。此外,源储存系统、第一层目的地储存系统和/或第二层目的地储存系统可以参与数据收集过程以确保在源储存系统处保留数据,同时在第一层目的地储存系统处进行完整数据保护。通过在高可用性集群环境中为源储存系统采用多层数据保护,所公开的技术可以提供(i)在第一层目的地储存系统处的完整数据保护,以及(ii)在第二层目的地储存系统的集群处的分布式数据保护,从而减少由于源储存系统和第一层目的地储存系统中的一个或两者的故障所引起的数据丢失的机会,并且消除从第一层目的地储存系统到第二层目的地储存系统的集群的数据瓶颈。
在某些实施例中,在高可用性集群网络环境中提供数据保护的方法包括:提供源储存系统、在第一层目的地储存中的第一层目的地储存系统和在第二层目的地储存中的第二层目的地储存系统的集群。源储存系统存储包括多个数据片的数据,所述第一层目的地储存系统存储包括所述多个数据片的数据的副本,并且所述第二层目的地储存系统的集群存储分别分布在所述第二层目的地储存系统之中的所述多个数据片的副本。该方法还包括:响应于所述源储存系统变成无效,将所述第一层目的地储存系统促进成为源储存系统的角色,以及将所述第二层目的地储存系统的集群中的选择的第二层目的地储存系统促进成为第一层目的地储存系统的角色。
在某些另外的实施例中,在高可用性集群网络环境中提供数据保护的方法包括:提供源储存系统、在第一层目的地储存中的第一层目的地储存系统以及在第二层目的地储存中的第二层目的地储存系统的集群。所述源储存系统存储包括多个数据片的数据,所述第一层目的地储存系统存储包括所述多个数据片的数据的副本,并且所述第二层目的地储存系统的集群存储分别分布在所述第二层目的地储存系统之中的所述多个数据片的副本。该方法还包括响应于所述源储存系统和所述第一层目的地储存系统中的每一个变成无效,将所述第二层目的地储存系统的集群中所选择的任一个第二层目的地储存系统促进成为源储存系统的角色,并且将所述第二层目的地储存系统的集群中所选择的另外任一个第二层目的地储存系统促进成为第一层目的地储存系统的角色。
在某些另外的实施例中,用于在高可用性集群网络环境中提供数据保护的系统包括:源储存系统、在第一层目的地储存中的第一层目的地储存系统,以及在第二层目的地储存中的第二层目的地储存系统的集群。所述源储存系统存储包括多个数据片的数据,所述第一层目的地储存系统存储包括所述多个数据片的数据的副本,并且所述第二层目的地储存系统的集群存储分别分布在所述第二层目的地储存系统之中的所述多个数据片的副本。所述第一层目的地储存系统和所述第二层目的地储存系统的集群被配置为一致地操作以检测所述源储存系统变成无效,以将所述第一层目的地储存系统促进成为源储存系统的角色,以及将所述集群中的第二层目的地储存系统中的选择的第二层目的地储存系统促进成为第一层目的地储存系统的角色。
本发明的其他特征、功能和方面将从下面的详细描述中变得显而易见。
附图说明
通过对如附图中所图示的本发明的特定实施例的以下描述,前述和其他的目的、特征和优点将变得显而易见,附图中相同的附图标记贯穿不同的视图指示相同的部分。
图1a是示例性数据储存系统环境的框图,其中可以向源储存系统提供(i)在第一层目的地储存系统处的完整数据保护,以及(ii)在第二层储存系统的集群处的分布式数据保护;
图1b是包括在图1a的数据储存系统环境中的源储存系统、第一层目的地储存系统和第二层目的地储存系统中的示例性方案的框图;
图1c是可以在图1b的示例性储存系统的本地存储器内实现的专用代码和数据的功能框图;
图2是图示出用于在图1a的数据储存系统环境内向图1a的源储存系统提供如下内容的示例性技术的图:(i)在第一层目的地储存系统处的完整数据保护,以及(ii)在第二层目的地储存系统的集群处的分布式数据保护;
图3a和图3b是图示出用于在源储存系统变成无效(inoperative)的情况下在图1a的数据储存系统环境内保持完整数据保护的示例性技术的图;
图4a和图4b是图示出用于在源储存系统和第一层目的地储存系统二者都变成无效的情况下、在图1a的数据储存系统环境内保持完整数据保护的示例性技术的图;
图5a是由图1a的数据储存系统环境中包括的相应储存系统所采用的示例性块数据结构;
图5b是由图1a的数据储存系统环境中包括的相应储存系统所采用的示例性系统状态数据结构;
图6是在源储存系统和/或第一层目的地储存系统变成无效的情况下、在图1a的数据储存系统环境内保持完整数据保护的示例性方法的流程图;
图7是在图1a的数据储存系统环境内将第二层目的地储存系统中的一个第二层目的地储存系统有效促进来承担源储存系统或第一层目的地储存系统的角色的示例性方法的流程图;以及
图8是在图1a的数据储存系统环境内提供(i)在第一层目的地储存系统处的完整数据保护以及(ii)在第二层目的地储存系统的集群处的分布式数据保护的示例性方法的流程图。
具体实施方式
本文公开了在高可用性集群环境中提供数据保护的技术。所公开的技术采用多层(例如,至少两层)数据保护,包括在目的地储存系统处为源储存系统提供完整数据保护的第一层数据保护(本文中也称为“第一层目的地储存系统”),以及在目的地储存系统的集群之中提供分布式数据保护的第二层数据保护(本文中也称为“第二层目的地储存系统”)。通过在高可用性集群环境中采用多层数据保护,所公开的技术可以提供(i)在第一层目的地储存系统处的完整数据保护,以及(ii)在第二层目的地储存系统的集群处的分布式数据保护,从而减少由于源储存系统和第一层目的地储存系统中的一个或两者的故障所引起的数据丢失的机会,并且消除从第一层目的地储存系统到第二层目的地储存系统的集群的数据瓶颈。
图1a描绘了示例性数据储存系统环境100的说明性实施例,其中可以向示例性源储存系统104提供(i)在示例性目的地储存系统106处的完整数据保护,以及(ii)在示例性目的地储存系统108.1、108.2、...、108.m的集群108处的分布式数据保护。如图1a中所示,数据储存系统环境100可以包括由通信介质103可通信地耦合到源储存系统104的多个主机计算机102.1、102.2、...、102.n,通信介质103包括至少一个网络110。例如,多个主机计算机102.1、102.2、...、102.n中的每一个可以被配置为web服务器计算机、文件服务器计算机、电子邮件服务器计算机、企业服务器计算机和/或用于通过网络110向源储存系统104提供输入/输出(I/O)请求(例如,小型计算机系统接口(SCSI)命令)的任何其他合适的计算机或计算机化设备。由多个主机计算机102.1,102.2...,102.n提供的这种I/O请求可以引导源储存系统104代表相应主机计算机102.1、102.2、...、102.n来存储和/或取回(retrieve)来自逻辑储存单元(LUN)和/或虚拟卷(VVOL)的数据块。
包括网络110的通信介质103可以被配置为将多个主机计算机102.1、102.2、...、102.n和源储存系统104互连,并且将源储存系统104、目的地储存系统106以及目的地储存系统108.1、108.2、...、108.m的集群108互连,以使相应主机计算机和/或储存系统能够通信和交换信令。如图1a中所示,通信介质103的至少一部分被图示为“云”,以指示通信介质103可以具有各种不同的拓扑,包括但不限于主干拓扑、集线器和辐条拓扑、环路拓扑、不规则拓扑、或其任何合适的组合。通信介质103还可以包括但不限于基于铜的数据通信设备和布线、基于光纤的设备和布线、无线设备、或其任何合适的组合。此外,通信介质103可以被配置为支持基于储存区域网络(SAN)的通信、基于局域网(LAN)的通信、蜂窝通信、基于广域网(WAN)的通信、分布式基础设施通信等等、或其任何合适的组合。
图1b描绘了示例性数据储存系统120的详细视图。注意,源储存系统104、目的地储存系统106和集群108内的目的地储存系统108.1、108.2、...、108.m中的每一个可以至少部分地被配置成类似于数据储存系统120。如图1b中所示,数据储存系统120可以包括通信接口122、本地存储器124、专用处理电路126和一个或多个数据储存设备128.1、...、128.q。通信接口122可以被配置为将数据储存系统120连接到网络110(参见图1a),使得能够适当地访问一个或多个主机计算机102.1、102.2、...、102.n、源储存系统104、目的地储存系统106和/或目的地储存系统108.1、108.2、...、108.m。通过网络110的这种访问可以是基于储存区域网络(SAN)、基于因特网协议(IP)、基于蜂窝、基于电缆、基于光纤、基于云、无线等等、或其任何合适的组合。
数据储存系统120内的本地存储器124(参见图1b)可以被配置为包括易失性储存(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))以及非易失性储存(例如,磁存储器、闪速存储器)。如图1b中所示,本地存储器124可以被配置为存储包括专用代码和数据130以及其他代码和数据132的各种软件构造。专用代码和数据130可以包括一个或多个指令集,其引导专用处理电路126以实现涉及源储存系统104、目的地储存系统106和/或目的地储存系统108.1、108.2、...、108.m的多层数据复制储存技术,以及数据映射(参见图1c,附图标记130.11)和状态表(参见图1c,附图标记130.12)。其他代码和数据132可以包括一个或多个指令集,其引导专用处理电路126执行涉及相应数据储存设备128.1、...、128.q的输入/输出(I/O)(例如,读和/或写(R/W))操作,以及涉及例如管理工具、实用程序、其他用户级应用等等的各种其他操作。专用处理电路126(参见图1b)被配置为根据存储在本地存储器124中的专用代码和数据130和/或其他代码和数据132进行操作。注意,专用处理电路68可以使用运行专用软件的一个或多个处理器(或核)、一个或多个专用集成电路(ASIC)、一个或多个现场可编程门阵列(FPGA)、一个或多个分立组件、数字电路、模拟电路等、或其任何合适的组合以各种方式来实现。
在使用运行专用软件的一个或多个处理器来实现专用处理电路126的上下文中,计算机程序产品可以被配置为将专用代码和数据130以及其他代码和数据132的全部或一部分递送到专用处理电路126。这样的计算机程序产品可以包括一个或多个非瞬态计算机可读存储介质,诸如磁盘、磁带、光盘(CD)、数字通用盘(DVD)、光盘、闪存驱动器、固态驱动器(SSD)、安全数字(SD)芯片或设备、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。非瞬态计算机可读存储介质可以用指令集进行编码,当由一个或多个处理器执行时,执行本文所描述的过程和/或方法。这种介质可以被认为是制品,并且可以从一个数据储存系统传送到另一个数据储存系统。
数据储存系统120内的数据储存设备128.1、...、128.q(见图1b)可以包括一个或多个易失性存储器、非易失性存储器、软盘驱动器、硬盘驱动器(HDD)、固态驱动器(SSD)、磁带驱动器、光驱、网络附接储存(NAS)设备、储存区域网络(SAN)设备等。每个数据储存设备128.1、...、128.q可以本地附接到相应数据储存系统的I/O信道,同时也可以通过网络110访问。此外,每个数据储存设备128.1、...、128.q可以是单个独立的组件,或是诸如一组驱动器(例如,廉价磁盘(RAID)组的冗余阵列)之类的数据储存设备的系统,其作为一个统一的储存设备一起逻辑地运行以通过冗余提供所期望级别的数据保护。这样的RAID组可以被配置为存储大量数据,以供一个或多个处理器访问,所述数据是可操作的以处理用于分布的请求以及主机I/O请求。
图1c描绘了可以通过在数据储存系统120(参见图1b)的专用处理电路126上运行本地存储器124中的专用代码和数据130来执行的多个功能130.1-130.10。根据本文所描述的过程和/或方法,多个功能130.1-130.10中的一个或多个可以由源储存系统104、目的地储存系统106和目的地储存系统108.1、108.2、...、108.m中的一个或多个来执行,以在数据储存系统环境100(见图1a)内提供高可用性数据保护。如图1c中所示,多个功能130.1-130.10可以包括复制接口功能130.1、复制监视器功能130.2、复制促进器功能130.3、集群系统选择器功能130.4、数据收集器功能130.5、数据分派器功能130.6、数据接收器功能130.7、映射同步器功能130.8、映射管理器功能130.9和地址解析器功能130.10。可以执行复制接口功能130.1(参见图1c)以接收来自用于发送/接收数据的相应储存系统104、106和108.1、108.2、...、108.m中的一个或多个的请求,从而促进相应储存系统在数据储存系统环境100内承担不同的角色,等等。
可以执行复制监视器功能130.2(参见图1c)以检测、获取和/或存储相应储存系统104、106以及108.1、108.2、...、108.m的状态(例如,角色、健康状况和/或负载状态)。在某些实施例中,有关储存系统104、106和108.1、108.2、...、108.m的状态信息例如可以以周期性间隔分布在相应储存系统之中,以用于存储在状态表130.12中。在任何储存系统104、106和108.1、108.2、...、108.m检测到源储存系统104或目的地储存系统106已经变成无效的情况下(例如,通过监视由源储存系统104或目的地储存系统106生成的健康信号),检测到无效状况的储存系统可以触发复制促进器功能130.3,有效地促进数据储存系统环境100内的另一数据储存系统来承担源目的地储存系统104或目的地储存系统106的角色。在某些另外的实施例中,复制监视器功能130.2可以向集群系统选择器功能130.4提供合适的应用编程接口(API)。
如本文所述,可以执行复制促进器功能130.3(参见图1c),以促进数据储存系统环境100内的另一数据储存系统在源储存系统104或目的地储存系统106被确定为无效时承担源储存系统104或目的地储存系统106的角色。在某些实施例中,当源储存系统104被确定为无效时,复制促进器功能130.3可以(i)促进目的地储存系统106承担源储存系统104的角色,以在数据储存系统环境100内提供持续服务,以及(ii)促进集群108内的目的地储存系统108.1、108.2、...、108.m之一以承担目的地储存系统106的先前角色,以在数据储存系统环境100内维护多层数据保护。
可以执行集群系统选择器功能130.4(参见图1c)以(i)协商或选择云中的一个或多个目的地储存系统以用于包括在集群108中,(ii)协商或选择在集群108内的相应目的地储存系统,以用于在目的地储存系统106变成无效的情况下,促进成为目的地储存系统106的角色,以及(iii)协商或选择集群108内的另一个相应目的地储存系统,以在源储存系统104和目的地储存系统106都变成无效的情况下促进成为源储存系统104。在某些实施例中,用于促进的集群108内的相应目的地储存系统的选择可以至少部分地基于数据储存系统环境100内的相应目的地储存系统的当前状态(例如,其当前角色、健康状态,负载状态),如状态表130.12中所指示。
可以执行数据收集器功能130.5(参见图1c)以至少部分地基于数据储存系统环境100内的相应储存系统104、106和108.1、108.2、...、108.m的当前角色,而从源储存系统104、目的地储存系统106和目的地储存系统108.1、108.2、...、108.m中的一个或多个收集数据。此外,可以执行数据分派器功能130.6(也参见图1c)以在源储存系统104、目的地储存系统106和/或目的地储存系统108.1、108.2、...、108.m之间分布、拷贝和/或复制数据,以确保数据在源储存系统106处可用、同时在目的地储存系统106处进行完整数据保护。注意,还可以执行数据分派器功能130.6以(i)在集群108内的目的地储存系统108.1、108.2、...、108.m之中分布、拷贝或复制数据之前对数据进行适当地分片,以及(ii)更新数据映射130.11,然后由映射管理器功能130.9管理数据映射130.11。
可以执行数据接收器功能130.7(参见图1c)以接收由数据分派器功能130.6分布的数据,并将接收到的数据储存在数据储存设备128.1、...、128.q中的一个或多个中(参见图1b)。可以执行映射管理器功能130.9(参见图1c)以管理由源储存系统104、目的地储存系统106和在集群108内的目的地储存系统108.1、108.2、...、108.m所维护的数据映射130.11。可以执行映射同步器功能130.8(见图1c),以确保由相应储存系统104、106、108.1、108.2、...、108.m维护的所有数据映射130.11之间的一致性。注意,在常规操作模式期间,可以根据由相应储存系统104、106、108.1、108.2、...、108.m维护的数据映射130.11,来在相应储存系统104、106、108.1、108.2、...、108.m之中收集和分布数据。可以执行地址解析器功能130.10(参见图1c)以在R/W操作的逻辑地址和相应的数据储存设备128.1、...、128.q的物理地址之间进行转换。
本文中所公开的用于在高可用性集群环境中提供数据保护的技术特别适用于使用诸如云中的数据储存系统、计算机、设备和/或网络节点的集群或组进行操作的超融合基础设施。这种超融合基础设施通常被配置为在子组件级别处提供附加的集成。例如,超融合基础设施可以包括多个客户端计算机、服务器计算机、储存计算机、网络节点和/或具有如环境的功能性所需要而承担和执行不同角色的能力的任何其他合适的计算机和/或计算机化的设备或节点。本文中所公开的技术可以在数据储存系统环境100内采用多个(例如,至少两个)数据保护层,包括在目的地储存系统106处为源储存系统104提供完整的数据保护的第一层数据保护(本文中也称为“第一层目的地储存系统”)以及在目的地储存系统108.1、108.2、...、108.m的集群108之中提供分布式数据保护的第二层数据保护(本文中也称为“第二层目的地储存系统”)。
在源储存系统104和第一层目的地储存系统106中的一个或两者经历硬件故障和/或软件错误、崩溃、脱机或以其他方式变成无效的情况下,可以有效地促进多个层中的至少一个目的地储存系统106、108.1、108.2、...、108.m来承担源储存系统104和/或第一层目的地储存系统106的角色。此外,源储存系统104、第一层目的地储存系统106和/或第二层目的地储存系统108.1、108.2、...、108.m可以参与数据收集过程以确保数据在源储存系统104处可用,同时在第一层目的地储存系统106处进行完整数据保护。通过在高可用性集群环境中为源储存系统采用多层数据保护,所公开的技术可以提供(i)在第一层目的地储存系统处的完整数据保护,以及(ii)在第二层目的地储存系统的集群处的分布式数据保护,从而减少由于源储存系统和第一层目的地储存系统中的一个或两者的故障所引起的数据丢失的机会,并且消除从第一层目的地储存系统到第二层目的地储存系统的集群的数据瓶颈。
参考以下说明性示例和图2、图3a、图3b、图4a、图4b将进一步理解所公开的用于在高可用性集群环境中提供数据保护的技术。在每个说明性示例中,提供了示例性数据储存系统环境,其包括源储存系统104、第一层目的地储存中的目的地储存系统106和第二层目的地储存中的目的地储存系统108.1、108.2、108.3的集群108。此外,如实现本文所描述的多层数据复制储存技术的功能性的需要的,专用代码和数据130(参见图1b和1c)中包括的指令集可以由源储存系统104、目的地储存系统106和/或集群108内的相应目的地储存系统108.1、108.2、108.3一致地执行。
在第一示例中,参考图2,提供了数据储存系统环境200,其包括源储存系统104、在第一层目的地储存202.1中的目的地储存系统106和在第二层目的地储存202.2中的目的地储存系统108.1、108.2、108.3的集群108。第一层目的地储存202.1和第二层目的地储存202.2在数据储存系统环境200内提供多层目的地储存202。在该第一示例中,假设源储存系统104、目的地储存系统106以及目的地储存系统108.1、108.2、108.3正在在线操作。
如图2中所示,在常规操作模式中,将包括多个数据片[A1,A2,A3,A4]、[B1,B2,B3,B4]和[C1,C2,C3,C4]的数据204.1存储在源储存系统104上。此外,执行存储在源储存系统104上的数据204.1到第一层目的地储存系统106的复制,如方向箭头206所图示。在执行了数据204.1到第一层目的地储存系统106的复制之后,将包括多个数据片[A1,A2,A3,A4]、[B1,B2,B3,B4]和[C1,C2,C3,C4]的拷贝的数据204.2存储在第一层目的地储存系统106上。可以理解,存储在第一层目的地储存系统106上的数据204.2是存储在源储存系统104上的数据204.1的拷贝或复制。然后执行存储在第一层目的地储存系统106上的数据204.2到集群108内的相应第二层目的地储存系统108.1、108.2、108.3的复制,如方向箭头208.1、208.2、208.3所图示。具体地说,对数据204.2进行分片以获得分开的数据片[A1,A2,A3,A4]、[B1,B2,B3,B4]和[C1,C2,C3,C4]的拷贝。进一步,将数据片[A1,A2,A3,A4]复制并分布到第二层目的地储存系统108.1(如方向箭头208.1所图示),将数据片[B1,B2,B3,B4]复制并分布到第二层目的地储存系统108.2(如方向箭头208.2所图示),将数据片[C1,C2,C3,C4]复制并分布给第二层目的地储存系统108.3(如由方向箭头208.3所图示)。
在已经执行了数据204.2到相应第二层目的地储存系统108.1、108.2、108.3的复制之后,将包括数据片[A1,A2,A3,A4]的拷贝的数据单元204.a存储在第二层目的地储存系统108.1上,将包括数据片[B1,B2,B3,B4]的拷贝的数据单元204.b存储在第二层目的地储存系统108.2上,将包括数据片[C1,C2,C3,C4]的拷贝的数据单元204.c存储在第二层目的地储存系统108.3上。应当理解,存储在第二层目的地储存系统108.1上的数据单元204.a是包括在数据204.2中的数据片[A1,A2,A3,A4]的拷贝或复制,存储在第二层目的地储存系统108.2上的数据单元204.b是包括在数据204.2中的数据片[B1,B2,B3,B4]的拷贝或复制,并且存储在第二层目的地储存系统108.3上的数据单元204.c是包括在数据204.2中的数据片[C1,C2,C3,C4]的拷贝或复制。结果,在第一层目的地储存系统106处为源储存系统104上的数据204.1提供完整数据保护,并且在多个第二层目的地储存系统108.1、108.2、108.3处提供分布式数据保护。
在第二示例中,参考图3a和图3b,提供了数据储存系统环境300,其包括源储存系统104、在第一层目的地储存302.1中的目的地储存系统106和在第二层目的地储存层302.2中的目的地储存系统108.1、108.2、108.3的集群108。第一层目的地储存302.1和第二层目的地储存302.2在数据储存系统环境300内提供多层目的地储存302。在该第二示例中,假设源储存系统104、目的地储存系统106以及目的地储存系统108.1、108.2、108.3最初正在在线操作。在在线操作时,将包括多个数据片[A1,A2,A3,A4]、[B1,B2,B3,B4]和[C1,C2,C3,C4]的数据304.1存储在源储存系统104上,并且将包括多个数据片[A1,A2,A3,A4]、[B1,B2,B3,B4]和[C1,C2,C3,C4]的拷贝或复制的数据304.2存储在第一层目的地储存系统106上。另外,将包括数据片[A1,A2,A3,A4]的拷贝或复制的数据单元304.a存储在第二层目的地储存系统108.1上,将包括数据片[B1,B2,B3,B4]的拷贝或复制的数据单元304.b存储在第二层目的地储存系统108.2上,以及将包括数据片[C1,C2,C3,C4]的拷贝或复制的数据单元304.c存储在第二层目的地储存系统108.3上。
在随后的时间,源储存系统104变成无效,如源储存系统104上的叉(X)和存储在源储存系统104上的数据304.1上的叉(X)所指示(见图3a)。一旦源储存系统104变成无效,则如方向箭头306所图示的,促进第一层目的地储存系统106来承担源储存系统的角色。此外,如方向箭头308所图示,选择和促进第二层目的地储存系统108.1来承担第一层目的地储存系统的角色。图3b描绘了在完成将第一层目的地储存系统106促进成为源储存系统的角色以及将第二层目的地储存系统108.1促进成为第一层目的地储存系统的角色时的数据储存系统环境300。注意,在图3b中未示出源储存系统104,因为它已经变成无效。还要注意的是,在该第二示例中,一旦已经将第二层目的地储存系统108.1促进成为第一层目的地储存系统的角色,则只有两个第二层目的地储存系统108.2、108.3保留在第二层目的地储存302.2中。然而,应当理解,可以执行集群系统选择器功能130.4(参见图1c)以根据环境300的功能性需求,来选择云中的一个或多个附加的目的地储存系统以包括在第二层目的地储存302.2中。
如图3b中所示,数据304.2(其是原始存储在源储存系统104上的数据304.1的拷贝或复制)在其促进成为源储存系统的角色之后被维护在目的地储存系统106上的储存中。因此,处于其源储存系统的角色中的目的地储存系统106,可以以可忽略的停机时间在数据储存系统环境300内提供持续服务。然而,只有数据单元304.a(其是数据片[A1,A2,A3,A4]的拷贝或复制)在其促进成为第一层目的地储存系统的角色之后被维持在目的地储存系统108.1上的储存中。因此,执行数据收集器功能130.5(参见图1c)以分别收集存储在目的地储存系统108.1、目的地储存系统108.2和目的地储存系统108.3上的数据单元304.a、数据单元304.b和数据单元304.c,以形成数据304.3并在第一层目的地储存302.1中重新获得完整数据保护。为此,包括数据片[A1,A2,A3,A4]的数据单元304.a从目的地储存系统108.1被收集并且并入到数据304.3中,如方向箭头310所图示。此外,包含数据片[B1,B2,B3,B4]的数据单元304.b从目的地储存系统108.2被收集并且并入到数据304.3中,如方向箭头312所图示;并且包括数据片[C1,C2,C3,C4]的数据单元304.c从目的地储存系统108.3被收集并且并入到数据304.3中,如方向箭头314所图示。结果,将数据304.3(其是存储在目的地储存系统106上的数据304.2的拷贝或复制)存储在第一层目的地储存302.1中的目的地储存系统108.1上,从而在数据储存系统环境300内为处于其源储存系统的角色中的目的地储存系统106提供完整数据保护。
在第三示例中,参考图4a和图4b,提供了数据储存系统环境400,其包括源储存系统104、在第一层目的地储存402.1中的目的地储存系统106,以及在第二层目的地储存402.2中的目的地储存系统108.1、108.2、108.3的集群108。第一层目的地储存402.1和第二层目的地储存402.2在数据储存系统环境400内提供多层目的地储存402。在该第三示例中,假设源储存系统104、目的地储存系统106以及目的地储存系统108.1、108.2、108.3最初正在在线操作。在在线操作时,将包括多个数据片[A1,A2,A3,A4]、[B1,B2,B3,B4]和[C1,C2,C3,C4]的数据404.1存储在源储存系统104上,并且将包括多个数据片[A1,A2,A3,A4]、[B1,B2,B3,B4]和[C1,C2,C3,C4]的拷贝或复制的数据404.2存储在第一层目的地储存系统106上。此外,将包括数据片[A1,A2,A3,A4]的拷贝或复制的数据单元404.a存储在第二层目的地储存系统108.1上,将包括数据片[B1,B2,B3,B4]的拷贝或复制的数据单元404.b存储在第二层目的地储存系统108.2上,以及将包括数据片[C1,C2,C3,C4]的拷贝或复制的数据单元404.c存储在第二层目的地储存系统108.3上。
在随后的时间处,源储存系统104变成无效,如源储存系统104上的叉(X)和存储在源储存系统104上的数据404.1上的叉(X)所指示(见图4a);并且第一层目的地储存系统106也变成无效,如目的地储存系统106上的叉(X)和存储在目的地储存系统104上的数据404.2上的叉(X)所指示(参见图4a)。一旦源储存系统104变成无效,则如方向箭头406所图示的,选择并促进第二层目的地储存系统108.2来承担源储存系统的角色。另外,一旦第一层目的地储存系统106变成无效,则如方向箭头408所图示的,选择和促进第二层目的地储存系统108.1来承担第一层目的地储存系统的角色。图4b描绘了在完成将第二层目的地储存系统108.2促进成为源储存系统的角色以及将第二层目的地储存系统108.1促进成为第一层目的地储存系统的角色时的数据储存系统环境400。注意,在图4b中未示出源储存系统104和目的地储存系统106,因为它们已经变成无效。此外,还要注意的是,在该第三示例中,一旦已经将第二层目的地储存系统108.2和第二层目的地储存系统108.1分别促进成为源储存系统的角色和第一层目的地储存系统的角色,则只有单个第二层目的地储存系统108.3保留在第二层目的地储存402.2中。然而,应当理解,可以执行集群系统选择器功能130.4(参见图1c),以根据环境400的功能性需求来选择云中的一个或多个附加的目的地储存系统以包括在第二层目的地储存402.2中。
如图4b中所示,只有数据单元404.b(其是数据片[B1,B2,B3,B4]的拷贝或复制)在其促进成为源储存系统的角色之后被维护在目的地储存系统108.2上的储存中。因此,执行数据收集器功能130.5(参见图1c),以分别收集存储在目的地储存系统108.1、目的地储存系统108.2和目的地储存系统108.3上的数据单元404.a、数据单元404.b和数据单元404.c,以形成数据404.3并确保在处于其源储存系统的角色中的目的地储存系统108.2处的数据可用性。为此,包括数据片[A1,A2,A3,A4]的数据单元404.a从目的地储存系统108.1被收集并且并入到数据404.3中,如方向箭头414所图示。另外,包括数据片[B1,B2,B3,B4]的数据单元404.b从目的地储存系统108.2被收集并且并入到数据404.3中,如方向箭头410所图示;并且包括数据片[C1,C2,C3,C4]的数据单元404.c从目的地储存系统108.3被收集并且并入到数据404.3中,如方向箭头418所图示。结果,将数据404.3(其是原始存储在目的地储存系统106上的数据404.2的拷贝或复制)存储在目的地储存系统108.2上,从而在数据储存系统环境400内确保在处于其源储存系统的角色中的目的地储存系统108.2处的数据可用性。
类似地,只有数据单元404.a(其是数据片[A1,A2,A3,A4]的拷贝或复制)在其促进成为第一层目的地储存系统的角色之后被维护在目的地储存系统108.1上的储存中。因此,进一步执行数据收集器功能130.5(参见图1c)以分别收集存储在目的地储存系统108.1、目的地储存系统108.2和目的地储存系统108.3上的数据单元404.a、数据单元404.b和数据单元404.c,以形成数据404.4并在第一层目的地储存402.1中重新获得完整数据保护。为此,包括数据片[A1,A2,A3,A4]的数据单元404.a从目的地储存系统108.1被收集并且并入到数据404.4中,如方向箭头416所图示。此外,包括数据片[B1,B2,B3,B4]的数据单元404.b从目的地储存系统108.2被收集并且并入到数据404.4中,如方向箭头412所图示;并且包括数据片[C1,C2,C3,C4]的数据单元404.c从目的地储存系统108.3被收集并且并入到数据404.4中,如方向箭头420所图示。结果,将数据404.4(其也是原始存储在目的地储存系统106上的数据404.2的拷贝或复制)存储在目的地储存系统108.1上,从而在数据储存系统环境400内在处于其第一层目的地储存系统的角色中的目的地储存系统108.1处重新获得完整数据保护。
如本文参照图1a所述,在常规操作模式期间,可以根据由相应储存系统104、106、108.1、108.2、...、108.m维护的数据映射130.11(见图1c)来在源储存系统104、第一层目的地储存系统106和第二层目的地储存系统108.1、108.2、...、108.m的集群108之中收集和分布数据。图5a描绘了可用于实现由相应储存系统104、106、108.1、108.2、...、108.m维护的数据映射130.11的示例性块数据结构500a。如图5a中所示,对于每个数据片(诸如示例性数据片[A1,A2,A3,A4]、[B1,B2,B3,B4]和[C1,C2,C3,C4];参见图2),块数据结构500a可以包括(i)数据片的长度(DLen),(ii)存储在相应储存系统104、106、108.1,108.2,…108.m之中的数据片的拷贝的总数(Count),(iii)LUN或VVOL上的数据片的逻辑块地址(LBA)的开始,以及例如(iv)用于存储数据片的一个或多个物理地址的数据地址表502。如图5a中所示,数据地址表502可以记录用于识别存储数据片的拷贝的相应储存系统104、106、108.1、108.2、...、108.m的一个或多个标识符(SID1、SID2、...、SIDp)以及与所识别的储存系统104、106、108.1、108.2、...、108.m相关联的相应数据储存设备128.1、...、128.q上的数据片的一个或多个物理地址(PID1、PID2、...、PIDp)。注意,数据地址表502可以记录数据片的单个物理地址,或者在存储在相应储存系统104、106、108.1、108.2、...、108.m中具有数据片的“p”个拷贝的情况下可以记录直至数据片的“p”个物理地址。
如本文中进一步描述的,可以将源储存系统104、第一层目的地储存系统106和第二层目的地储存系统108.1、108.2、...、108.m的集群108的状态分布在相应储存系统104、106、108.1、108.2、...、108.m之中,并存储在相应的状态表130.12中(参见图1c)。图5b描绘了可用于实现由相应储存系统104、106、108.1、108.2、...、108.m维护的状态表130.12的示例性系统状态数据结构500b。如图5b中所示,系统状态数据结构500b包括相应储存系统104、106、108.1、108.2、...、108.m的健康状态的指示,相应储存系统104、106、108.1、108.2、...、108.m在数据储存系统环境100内正在承担的角色(例如,源储存系统、第一层目的地储存系统、第二层目的地储存系统),相应储存系统104、106、108.1、108.2、...、108.m的中央处理单元(CPU)利用率,相应储存系统104、106、108.1、108.2、...、108.m所经历的I/O负载以及与相应储存系统104、106、108.1、108.2、...、108.m的容量有关的信息。注意,在数据储存系统环境100内和/或包括在集群108中对用于促进的相应储存系统的选择可以至少部分地基于如系统状态数据中所维护的相应储存系统的当前状态结构500b。
参考图1a和图6,在此描述在一个或多个储存系统脱机的情况下在数据储存系统环境100内维护完整数据保护的示例性第一方法。如框602中所描绘的(参见图6),在数据储存系统环境100(参见图1a)内的源储存系统104(本文中也称为“SRC系统”)、第一层目的地储存系统106(本文中也称为“FL-DST系统”)和第二层目的地储存系统108.1、108.2、...、108.m(本文中也称为“SL-DST系统”)的集群108中的至少一个储存系统被检测为脱机。如框604中所描绘的,在相应储存系统104、106、108.1、108.2、...、108.m之中发起故障转移过程。如框606中所描绘的,确定SRC系统是否被检测为脱机。在SRC系统被检测为脱机的情况下,进一步确定FL-DST系统是否也被检测为脱机,如框610中所描绘的。如果FL-DST系统也被检测为脱机,则从第二层目的地储存系统108.1、108.2、...、108.m的集群108中选择第一SL-DST系统,并且将其促进为在数据储存系统环境100内承担SRC系统的角色,如框613中所描绘的。此外,从第二层目的地储存系统108.1、108.2、...、108.m的集群108中选择第二SL-DST系统,并且将其促进为在数据储存系统环境100内承担FL-DST系统的角色,如框614中所描绘的。处于其SRC系统的角色中的第一SL-DST系统、处于其FL-DST系统的角色中的第二SL-DST系统、集群108中的剩余SL-DST系统然后在数据储存系统环境100内在其适当的角色中继续常规操作。
否则,如果FL-DST系统未被检测为脱机(即FL-DST系统当前正在在线操作),那么将FL-DST系统促进为在数据储存环境100内承担SRC系统的角色,如框612中所描绘的。此外,从第二层目的地储存系统108.1、108.2、...、108.m的集群108中选择SL-DST系统,并且将其促进为在数据储存系统环境100内承担FL-DST系统的角色,如框616中所描绘的。处于其SRC系统的角色中的FL-DST系统,处于其SL-DST系统的角色中的FL-DST系统、以及集群108中的剩余SL-DST系统然后在数据储存系统环境100内在其适当的角色中继续常规操作。
在SRC系统没有被检测为脱机的情况下(参见框606),进一步确定FL-DST系统是否被检测为脱机,如框608中所描绘的。在FL-DST系统被检测为脱机的情况下,从第二层目的地储存系统108.1、108.2、...、108.m的集群108中选择SL-DST系统,并且将其促进为在数据储存系统环境100内承担FL-DST系统的角色,如框618中所描绘的。SRC系统、处于其FL-DST系统的角色中的SL-DST系统以及集群108中的剩余SL-DST系统然后在数据储存系统环境100内在其适当的角色中继续常规操作。否则,如果FL-DST系统未被检测为脱机(即FL-DST系统当前正在在线操作),那么在框602中被检测为脱机的储存系统对应于第二层储存系统108.1、108.2、...、108.m的集群108之中的SL-DST系统中的一个。然后将存储在脱机SL-DST系统上的数据进行备份并存储在相应储存系统104、106、108.1、108.2、...、108.m之中,如框620中所描绘的。SRC系统、FL-DST系统、以及集群108中的剩余SL-DST系统然后在数据储存系统环境100内继续常规操作。
参考图1a和图7,在此描述在数据储存系统环境100内促进第一层目的地储存系统106(“FL-DST系统”)和/或至少一个第二层目的地储存系统(“SL-DST系统”)的示例性第二方法。如框702中所描绘的(参见图7),在源储存系统(“SRC系统”)、FL-DST系统和SL-DST系统之中接收一个或多个请求,以在数据储存系统环境100内促进FL-DST系统和/或一个或多个SL-DST系统(参见图1a)。如框704中所描绘的,在SRC系统、FL-DST系统和SL-DST系统中的至少一些之中协商接收到的用于促进的请求。如框706中所描绘的,确定是否要促进FL-DST系统承担SRC系统的角色,并且是否要促进SL-DST系统之一承担FL-DST系统的角色。在要促进FL-DST系统承担SRC系统的角色并且要促进SL-DST系统承担FL-DST系统的角色的情况下,促进FL-DST系统承担SRC系统的角色,如框708中所描绘的,并且将相应SL-DST系统促进成为FL-DST系统的角色,如框710中所描绘的。然后根据在第一层目的地储存中维护完整数据保护的需要,将剩余的SL-DST系统的数据拷贝或复制到处于其FL-DST系统的角色中的相应SL-DST系统。处于其SRC系统的角色中的FL-DST系统、处于其FL-DST系统的角色中的SL-DST系统、以及集群108中的剩余SL-DST系统然后在数据储存系统环境100内在其适当的角色中继续常规操作。
否则,第二种方法从框706进行到框714,其中将第一SL-DST系统促进成为SRC系统的角色。此外,将第二SL-DST系统促进成为FL-DST系统的角色,如框716中所描绘的。如框718中所描绘的,然后根据确保在SRC系统处的数据可用性的需要,将来自剩余SL-DST系统的数据拷贝或复制到处于其SRC系统的角色中的第一SL-DST系统。此外,如框720中所描绘的,根据在第一层目的地储存处维护完整数据保护的需要,将来自剩余的SL-DST系统的数据拷贝或复制到处于其FL-DST系统的角色中的第二SL-DST系统。处于其SRC系统的角色中的第一SL-DST系统、处于其FL-DST系统的角色中的第二SL-DST系统、以及集群108中的剩余SL-DST系统然后在数据储存系统环境100内在其适当的角色中继续常规操作。
参考图1a和图8,在此描述在数据储存系统环境100内提供在第一层目的地储存系统106(“FL-DST系统”)处的完整数据保护以及在第二层目的地储存系统108.1、108.2、...、108.m(“SL-DST系统”)的集群108处的分布式数据保护的示例性第三方法。在该第三种方法中,注意(i)在框802和804中指定的操作由源储存系统104(“SRC系统”)执行,(ii)在框806、808、810、812、814和816中指定的操作由FL-DST系统执行,(iii)在框818和820中指定的操作在第一SL-DST系统中执行,(iv)在框822和824中指定的操作在第二SL-DST系统,以及(v)在框826和828中指定的操作在第三SL-DST系统中执行。
如框802中所描绘的(参见图8),在数据储存系统环境100(参见图1a)内,I/O(R/W)应用在SRC系统上运行,所述SRC系统存储包括多个数据片的数据。如框804中所描绘的,由SRC系统存储的数据被拷贝或复制,并随后在FL-DST系统处被分派和接收,如框806中所描绘的。如框808中所描绘的,接收到的包括多个数据片的数据由FL-DST系统存储。此外,将数据进行分片以获得包括至少第一数据片、第二数据片和第三数据片的相应数据片,如框810中所描绘的。然后从FL-DST系统分派第一数据片、第二数据片和第三数据片,以分别在第一SL-DST系统、第二SL-DST系统和第三SL-DST系统处进行递送,如框812中所描绘的。然后确定是否要将相应数据片分派到第一SL-DST系统,如框814中所描绘的。在要将相应数据片分派到第一SL-DST系统(即,相应数据片对应于第一数据片)的情况下,在第一SL-DST系统处分派和接收第一数据片,如框818中所描绘的。此外,第一数据片由第一SL-DST系统存储,如框820中所描绘的。
进一步确定是否要将相应数据片分派到第二SL-DST系统,如框816中所描绘的。在要将相应数据片分派到第二SL-DST系统的情况下(即,相应数据片对应于第二数据片)的情况下,在第二SL-DST系统处分派和接收第二数据片,如框822中所描绘的。然后第二数据片由第二SL-DST系统存储,如框824中所描绘的。否则,将相应数据片分派到第三SL-DST系统并且在第三SL-DST系统处接收(即,相应数据片对应于第三数据片),如框826中所描绘的。第三数据片然后由第三SL-DST系统存储,如框828中所描绘的。SRC系统、FL-DST系统以及集群108中的第一、第二和第三SL-DST系统然后在数据储存系统环境100内在其适当的角色中开始常规操作。
已经描述了所公开的系统和方法的上述说明性实施例,可以进行其他替代实施例、修改和/或变型。例如,本文中所描述的是,已经促进了第二层目的地储存系统在数据储存系统环境中承担源储存系统的角色,可以执行数据收集器功能以确保在处于其源储存系统的角色中的第二层目的地储存系统处的数据可用性。在某些替代实施例中,这样的数据收集器功能的执行可以被推迟直到在源储存系统处接收针对至少一些数据的I/O请求时的较晚时间。
虽然已经具体示出和描述了本发明的各种实施例,但是本领域技术人员将会理解,在不脱离由所附权利要求所限定的本发明的范围的情况下,可以在形式和细节上进行各种改变。

Claims (20)

1.一种在高可用性集群网络环境中提供数据保护的方法,包括:
提供源储存系统、在第一层目的地储存中的第一层目的地储存系统和在第二层目的地储存中的第二层目的地储存系统的集群,所述源储存系统存储包括多个数据片的数据,所述第一层目的地储存系统存储包括所述多个数据片的所述数据的副本,并且所述第二层目的地储存系统的集群存储分别分布在所述第二层目的地储存系统之中的所述多个数据片的副本;以及
响应于所述源储存系统变成无效:
将所述第一层目的地储存系统促进成为源储存系统的角色;以及
将所述集群中的所述第二层目的地储存系统中的选择的第二层目的地储存系统促进成为第一层目的地储存系统的角色。
2.根据权利要求1所述的方法,还包括:
复制包括所述多个数据片的所述数据以用于存储在所述第一层目的地储存系统上;以及
将包括所述多个数据片的所述数据的所述副本存储在所述第一层目的地储存系统上。
3.根据权利要求1所述的方法,还包括:
复制包括所述多个数据片的所述数据以用于存储在所述第二层目的地储存系统上;以及
对复制的所述数据进行分片以获得所述多个数据片的副本。
4.根据权利要求3所述的方法,还包括:
将所述多个数据片的所述副本分布在相应第二层目的地储存系统之中;以及
存储分别分布在所述第二层目的地储存系统之中的所述多个数据片的所述副本。
5.根据权利要求1所述的方法,还包括:
获取所述集群中的所述第二层目的地储存系统中的每个第二层目的地储存系统的状态;以及
基于所述集群中的所述第二层目的地储存系统中的选择的所述第二层目的地储存系统的状态,选择所述第二层目的地储存系统中的选择的所述第二层目的地储存系统作为第一层目的地储存系统的所述角色。
6.根据权利要求1所述的方法,还包括:
从所述集群中的所述第二层目的地储存系统中的剩余的第二层目的地储存系统中收集数据片;
将收集的所述数据片提供给处于第一层目的地储存系统的所述角色中的、所述第二层目的地储存系统中的选择的所述第二层目的地储存系统,以复制包括所述多个数据片的所述数据;以及
将包括所述多个数据片的复制的所述数据存储在所述第二层目的地储存系统中的选择的所述第二层目的地储存系统上。
7.一种在高可用性集群网络环境中提供数据保护的方法,包括:
提供源储存系统、在第一层目的地储存中的第一层目的地储存系统和在第二层目的地储存中的第二层目的地储存系统的集群,所述源储存系统存储包括多个数据片的数据,所述第一层目的地储存系统存储包括所述多个数据片的所述数据的副本,并且所述第二层目的地储存系统的所述集群存储分别分布在所述第二层目的地储存系统之中的所述多个数据片的副本;以及
响应于所述源储存系统和所述第一层目的地储存系统中的每一个都变成无效:
将所述集群中的所述第二层目的地储存系统中的选择的第一第二层目的地储存系统促进成为源储存系统的角色;以及
将所述集群中的所述第二层目的地储存系统中的选择的第二第二层目的地储存系统促进成为第一层目的地储存系统的角色。
8.根据权利要求7所述的方法,还包括:
获取所述集群中的所述第二层目的地储存系统中的每个第二层目的地储存系统的状态;
基于所述集群中的所述第二层目的地储存系统中的选择的所述第一第二层目的地储存系统的所述状态,选择所述第二层目的地储存系统中的选择的所述第一第二层目的地储存系统作为源储存系统的角色;以及
基于所述集群中的所述第二层目的地储存系统中的选择的所述第二第二层目的地储存系统的所述状态,选择所述第二层目的地储存系统中的选择的所述第二第二层目的地储存系统作为第一层目的地储存系统的角色。
9.根据权利要求7所述的方法,还包括:
从所述集群中的所述第二层目的地储存系统中的剩余的第二层目的地储存系统中收集数据片;
将收集的所述数据片提供给处于源储存系统的所述角色中的、所述第二层目的地储存系统中的选择的所述第一第二层目的地储存系统,以复制包括所述多个数据片的所述数据;以及
将包括所述多个数据片的复制的所述数据存储在所述第二层目的地储存系统中的选择的所述第一第二层目的地储存系统上。
10.根据权利要求9所述的方法,还包括:
从所述集群中的所述第二层目的地储存系统中的剩余的第二层目的地储存系统中收集其他数据片;
将收集的所述其他数据片提供给处于第一层目的地储存系统的所述角色中的、所述第二层目的地储存系统中的选择的所述第二第二层目的地储存系统,以复制包括所述多个数据片的所述数据;以及
将包括所述多个数据片的复制的所述数据存储在所述第二层目的地储存系统中的选择的所述第二第二层目的地储存系统上。
11.一种用于在高可用性集群网络环境中提供数据保护的系统,包括:
源储存系统,所述源储存系统存储包括多个数据片的数据;
在第一层目的地储存中的第一层目的地储存系统,所述第一层目的地储存系统存储包括所述多个数据片的所述数据的副本;以及
在第二层目的地储存中的第二层目的地储存系统的集群,所述第二层目的地储存系统的所述集群存储分别分布在所述第二层目的地储存系统之中的所述多个数据片的副本,
其中所述第一层目的地储存系统和第二层目的地储存系统的所述集群被配置为一致地操作:
以检测所述源储存系统变成无效;
在已经检测到所述源储存系统变成无效的情况下,以将所述第一层目的地储存系统促进成为源储存系统的角色;以及
在已经将所述第一层目的地储存系统促进成为源储存系统的所述角色的情况下,以将所述集群中的所述第二层目的地储存系统中的选择的第二层目的地储存系统促进成为第一层目的地储存系统的角色。
12.根据权利要求11所述的系统,其中所述第一层目的地储存系统可操作地复制包括所述多个数据片的所述数据以用于存储在所述第二层目的地储存系统上,并且对复制的所述数据进行分片以获得所述多个数据片的所述副本。
13.根据权利要求12所述的系统,其中所述第一层目的地储存系统还可操作以将所述多个数据片的所述副本分布在所述集群中的相应第二层目的地储存系统之中。
14.根据权利要求13所述的系统,其中所述第二层目的地储存系统可操作以存储分别分布在所述第二层目的地储存系统之中的所述多个数据片的所述副本。
15.根据权利要求11所述的系统,其中所述第一层目的地储存系统和第二层目的地储存系统的所述集群进一步被配置为一致地操作以获得所述集群中的所述第二层目的地储存系统中的每个第二层目的地储存系统的状态,并且基于所述集群中的所述第二层目的地储存系统中的选择的所述第二层目的地储存系统的所述状态,选择所述第二层目的地储存系统中的选择的所述第二层目的地储存系统作为第一层目的地储存系统的所述角色。
16.根据权利要求11所述的系统,其中所述第一层目的地储存系统和第二层目的地储存系统的所述集群进一步被配置为一致地操作以从所述集群中的所述第二层目的地储存系统中的剩余的第二层目的地储存系统中收集数据片,并且将收集的所述数据片提供给处于第一层目的地储存系统的所述角色中的、所述第二层目的地储存系统中的选择的所述第二层目的地储存系统,以复制包括所述多个数据片的所述数据。
17.根据权利要求16所述的系统,其中所述第二层目的地储存系统中的选择的所述第二层目的地储存系统可操作以存储包括所述多个数据片的复制的所述数据。
18.一种具有存储指令集的非暂态计算机可读介质的计算机程序产品,所述指令集在由计算机化电路执行时使所述计算机化电路执行以下方法:
将包括多个数据片的数据存储在源储存系统上;
将包括所述多个数据片的所述数据的副本存储在第一层目的地储存中的第一层目的地储存系统上;
将所述多个数据片的副本分布在第二层目的地储存中的第二层目的地储存系统的集群中;
将所述多个数据片的分布式副本存储在所述第二层目的地储存中的相应第二层目的地储存系统上;以及
一致地操作所述第一层目的地储存系统和所述第二层目的地储存系统的所述集群:
以检测所述源储存系统变成无效;
在已经检测到所述源储存系统变成无效的情况下,以将所述第一层目的地储存系统促进成为源储存系统的角色;以及
在已经将所述第一层目的地储存系统促进成为源储存系统的所述角色的情况下,以将所述集群中的所述第二层目的地储存系统中的选择的第二层目的地储存系统促进成为第一层目的地储存系统的角色。
19.根据权利要求18所述的方法,其中所述第一层目的地储存系统和第二层目的地储存系统的所述集群的一致操作包括:获得所述集群中的所述第二层目的地储存系统中的每个第二层目的地储存系统的状态,并且基于所述集群中的所述第二层目的地储存系统中的选择的所述第二层目的地储存系统的所述状态,选择所述第二层目的地储存系统中的选择的所述第二层目的地储存系统作为第一层目的地储存系统的所述角色。
20.根据权利要求18所述的方法,其中所述第一层目的地储存系统和第二层目的地储存系统的所述集群的一致操作进一步包括:从所述集群中的所述第二层目的地储存系统中的剩余的第二层目的地储存系统中收集数据片,并且将收集的所述数据片提供给处于第一层目的地储存系统的所述角色中的、所述第二层目的地储存系统中的选择的所述第二层目的地储存系统,以复制包括所述多个数据片的所述数据。
CN201711050097.7A 2017-10-31 2017-10-31 针对超融合基础设施提供数据保护的系统和方法 Active CN109726600B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711050097.7A CN109726600B (zh) 2017-10-31 2017-10-31 针对超融合基础设施提供数据保护的系统和方法
US15/814,854 US10678759B2 (en) 2017-10-31 2017-11-16 Systems and methods of providing data protection for hyper-converged infrastructures

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711050097.7A CN109726600B (zh) 2017-10-31 2017-10-31 针对超融合基础设施提供数据保护的系统和方法

Publications (2)

Publication Number Publication Date
CN109726600A true CN109726600A (zh) 2019-05-07
CN109726600B CN109726600B (zh) 2023-07-14

Family

ID=66244843

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711050097.7A Active CN109726600B (zh) 2017-10-31 2017-10-31 针对超融合基础设施提供数据保护的系统和方法

Country Status (2)

Country Link
US (1) US10678759B2 (zh)
CN (1) CN109726600B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11262920B2 (en) 2020-03-13 2022-03-01 EMC IP Holding Company LLC Mapped raid (redundant array of independent disks) with drive health aware protection groups
US20210303164A1 (en) * 2020-03-25 2021-09-30 Pure Storage, Inc. Managing host mappings for replication endpoints
US11243697B1 (en) 2021-01-27 2022-02-08 International Business Machines Corporation Designing a computerized storage system having a prescribed reliability
CN114003350B (zh) * 2022-01-04 2022-03-25 北京志凌海纳科技有限公司 超融合系统的数据分配方法和系统

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135514A1 (en) * 2001-08-03 2003-07-17 Patel Sujal M. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US20060182050A1 (en) * 2005-01-28 2006-08-17 Hewlett-Packard Development Company, L.P. Storage replication system with data tracking
US20090177916A1 (en) * 2008-01-08 2009-07-09 Fujitsu Limited Storage system, controller of storage system, control method of storage system
CN102088491A (zh) * 2011-02-01 2011-06-08 西安建筑科技大学 一种面向分散式的云存储安全架构及其数据存取方法
CN102868754A (zh) * 2012-09-26 2013-01-09 北京联创信安科技有限公司 一种实现集群存储高可用性的方法、节点装置和系统
CN103176861A (zh) * 2011-12-26 2013-06-26 富泰华工业(深圳)有限公司 用于数据备份的存储系统及备份方法
CN103929500A (zh) * 2014-05-06 2014-07-16 刘跃 一种分布式存储系统的数据分片方法
CN104239164A (zh) * 2013-06-19 2014-12-24 国家电网公司 基于云存储的灾备切换系统
CN104317669A (zh) * 2014-10-17 2015-01-28 南京邮电大学 一种云端异构存储系统及其数据副本管理方法
CN104378423A (zh) * 2014-11-13 2015-02-25 普华基础软件股份有限公司 元数据集群分布式存储系统及读取、写入存储数据的方法
CN104391930A (zh) * 2014-11-21 2015-03-04 用友软件股份有限公司 分布式文件存储装置和方法
CN104424052A (zh) * 2013-09-11 2015-03-18 杭州信核数据科技有限公司 一种自动冗余的分布式存储系统及方法
CN106843750A (zh) * 2016-12-20 2017-06-13 中国科学院苏州生物医学工程技术研究所 分布式存储系统
CN107111457A (zh) * 2014-11-13 2017-08-29 Netapp股份有限公司 跨集群冗余配置中的非间断的控制器替换

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7651593B2 (en) * 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US7971091B1 (en) 2006-05-02 2011-06-28 Emc Corporation Network configuration backup and restore operations using continuous data protection
US7689597B1 (en) 2006-05-02 2010-03-30 Emc Corporation Mirrored storage architecture using continuous data protection techniques
US7765190B1 (en) 2006-05-02 2010-07-27 Emc Corporation Pseudosnapshot creation and implementation using continuous data protection
US7603395B1 (en) 2006-05-02 2009-10-13 Emc Corporation Using pseudosnapshots for continuous data protection systems to surface a copy of data
US9195408B2 (en) * 2009-10-30 2015-11-24 Cleversafe, Inc. Highly autonomous dispersed storage system retrieval method
US8452932B2 (en) * 2010-01-06 2013-05-28 Storsimple, Inc. System and method for efficiently creating off-site data volume back-ups
US8566354B2 (en) * 2010-04-26 2013-10-22 Cleversafe, Inc. Storage and retrieval of required slices in a dispersed storage network
US8812806B2 (en) * 2010-10-29 2014-08-19 Netapp, Inc. Method and system for non-disruptive migration
WO2016081942A2 (en) * 2014-11-21 2016-05-26 Security First Corp. Gateway for cloud-based secure storage
US20160188898A1 (en) * 2014-12-31 2016-06-30 Netapp, Inc. Methods and systems for role based access control in networked storage environment
US9830082B1 (en) 2015-09-08 2017-11-28 EMC IP Holding Company LLC Hybrid hyper-converged infrastructure and storage appliance
US9778865B1 (en) 2015-09-08 2017-10-03 EMC IP Holding Company LLC Hyper-converged infrastructure based on server pairs
US10459638B2 (en) * 2016-02-22 2019-10-29 Hitachi Ltd. Computer system that generates group information and redundant code based on user data and changes the group information and redundant code based on transmission data, control method for computer system, and recording medium

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135514A1 (en) * 2001-08-03 2003-07-17 Patel Sujal M. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US20060182050A1 (en) * 2005-01-28 2006-08-17 Hewlett-Packard Development Company, L.P. Storage replication system with data tracking
US20090177916A1 (en) * 2008-01-08 2009-07-09 Fujitsu Limited Storage system, controller of storage system, control method of storage system
CN102088491A (zh) * 2011-02-01 2011-06-08 西安建筑科技大学 一种面向分散式的云存储安全架构及其数据存取方法
CN103176861A (zh) * 2011-12-26 2013-06-26 富泰华工业(深圳)有限公司 用于数据备份的存储系统及备份方法
CN102868754A (zh) * 2012-09-26 2013-01-09 北京联创信安科技有限公司 一种实现集群存储高可用性的方法、节点装置和系统
CN104239164A (zh) * 2013-06-19 2014-12-24 国家电网公司 基于云存储的灾备切换系统
CN104424052A (zh) * 2013-09-11 2015-03-18 杭州信核数据科技有限公司 一种自动冗余的分布式存储系统及方法
CN103929500A (zh) * 2014-05-06 2014-07-16 刘跃 一种分布式存储系统的数据分片方法
CN104317669A (zh) * 2014-10-17 2015-01-28 南京邮电大学 一种云端异构存储系统及其数据副本管理方法
CN104378423A (zh) * 2014-11-13 2015-02-25 普华基础软件股份有限公司 元数据集群分布式存储系统及读取、写入存储数据的方法
CN107111457A (zh) * 2014-11-13 2017-08-29 Netapp股份有限公司 跨集群冗余配置中的非间断的控制器替换
CN104391930A (zh) * 2014-11-21 2015-03-04 用友软件股份有限公司 分布式文件存储装置和方法
CN106843750A (zh) * 2016-12-20 2017-06-13 中国科学院苏州生物医学工程技术研究所 分布式存储系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ZHANG JIAN-HUA等: ""Cloud Computing-based Data Storage and Disaster Recovery"", 《2011 INTERNATIONAL CONFERENCE ON FUTURE COMPUTER SCIENCE AND EDUCATION》 *
刘新国: ""支持集群存储容灾系统的设计与实现"", 《计算机安全》 *

Also Published As

Publication number Publication date
US20190129979A1 (en) 2019-05-02
CN109726600B (zh) 2023-07-14
US10678759B2 (en) 2020-06-09

Similar Documents

Publication Publication Date Title
US9697091B2 (en) System and method for datacenters disaster recovery
US11226777B2 (en) Cluster configuration information replication
US8261125B2 (en) Global write-log device for managing write logs of nodes of a cluster storage system
US8327186B2 (en) Takeover of a failed node of a cluster storage system on a per aggregate basis
JP5556816B2 (ja) 分散ストレージシステム、分散ストレージ方法および分散ストレージ用プログラムとストレージノード
US20190213092A1 (en) Cluster-wide service agents
US7249150B1 (en) System and method for parallelized replay of an NVRAM log in a storage appliance
CN109726600A (zh) 针对超融合基础设施提供数据保护的系统和方法
US10852984B2 (en) Mirror vote synchronization
US10289506B2 (en) Storage device health status synchronization
US20150347047A1 (en) Multilayered data storage methods and apparatus
TW200901025A (en) Method and system for a self managing and scalable grid storage
WO2010080696A1 (en) System and method for redundancy-protected aggregates
US20170116096A1 (en) Preserving coredump data during switchover operation
US8775734B2 (en) Virtual disks constructed from unused distributed storage
US10289501B2 (en) Storage aggregate restoration
CN112540873B (zh) 容灾方法、装置、电子设备及容灾系统

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