CN110413444B - 实现存储卷的一致性组的快照集 - Google Patents
实现存储卷的一致性组的快照集 Download PDFInfo
- Publication number
- CN110413444B CN110413444B CN201810390779.0A CN201810390779A CN110413444B CN 110413444 B CN110413444 B CN 110413444B CN 201810390779 A CN201810390779 A CN 201810390779A CN 110413444 B CN110413444 B CN 110413444B
- Authority
- CN
- China
- Prior art keywords
- snapshot
- consistency group
- storage
- snapshot set
- storage volume
- 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
- 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/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
-
- 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/0631—Configuration or reconfiguration of storage systems by allocating resources to 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Abstract
用于实现数据存储系统中的存储卷的一致性组的快照集的技术。对于一致性组的快照集中的每个快照,元数据被扩展以包括快照集标识符和一致性组标识符。一致性组的数据结构被增强以包括快照集列表,快照集列表包括一致性组的快照集标识符和指向存储卷列表的指针,存储卷列表包含具有快照集中的快照的存储卷的名称。通过扩展快照集中每个快照的元数据,并且利用快照集来增强每个一致性组的数据结构,可以容易地保持快照、快照集、一致性组和存储卷之间的关系,从而允许存储卷被添加到一致性组和/或从一致性组中被移除,而不必删除存储卷的快照和/或一致性组的快照集。
Description
背景技术
传统的数据存储系统出于各种目的在某些时间点(PIT)处创建存储卷的快照,包括但不限于备份大量数据、提供操作和/或灾难恢复、提高应用可用性、以及降低数据管理成本。存储卷的这样的快照通常用于记录数据存储系统的状态,以及提供一致性组的时间点(PIT)视图,该PIT视图表示存储在数据存储系统内的存储设备上的应用的存储卷集。通过保持存储在一致性组的存储卷集上的数据之间的一致性,这样的应用可以在数据存储系统的一个或多个PIT处使用存储卷的一致数据来成功地从故障(例如,数据库错误等)中恢复。存储卷的这样的一致数据也可以在事故、灾难或其他灾难性故障使得生产现场处的数据被丢失的情况下被用于数据恢复。
发明内容
在传统数据存储系统中,存储设备可以在数据存储系统的某些PIT处存储存储卷的快照,并且在相应的PIT处存储一致性组内的存储卷的快照集合(本文中也称为“快照集”)。然而,在这种传统数据存储系统上保持具有一个或多个关联快照的存储卷和/或具有一个或多个关联快照集的一致性组可能限制数据存储系统向一致性组添加存储卷以及从一致性组中移除存储卷的能力。例如,为了向一致性组添加具有一个或多个关联快照的存储卷,传统数据存储系统通常必须在向一致性组添加存储卷之前删除存储卷的所有快照。此外,为了向具有一个或多个关联快照集的一致性组添加存储卷(或从中移除存储卷),传统数据存储系统通常必须在向一致性组添加存储卷(或从中删除存储卷)之前删除一致性组的所有快照集。然而,在向一致性组添加存储卷(或从中移除存储卷)之前必须删除快照和/或快照集可以减少对数据存储系统可用的一致性数据的量,从而不利地影响数据存储系统在事故、灾难或其他灾难性故障的情况下实现数据恢复的能力。
本文中公开了用于实现数据存储系统中的存储卷的一致性组的快照集的技术。所公开的技术针对存储在数据存储系统上的存储卷的快照采用扩展元数据并且针对存储卷的一致性组采用增强数据结构。对于一致性组的快照集中的存储卷的每个快照,快照元数据被扩展以包括快照集的标识符(在本文中也被称为“快照集标识符”或“SSID”)和一致性组的标识符(在本文中也被称为“一致性组标识符”或“CGID”)。一致性组的数据结构被增强以包括快照集列表(本文中也称为“一致性组快照集列表”或“CGSSL”),快照集列表包括一致性组的每个快照集的SSID和指向存储卷列表的指针,该存储卷列表包含具有快照集中的关联快照的一个或多个存储卷的名称。通过扩展一致性组的快照集中的存储卷的每个快照的元数据,并且利用一个或多个关联快照集来增强每个一致性组的数据结构,可以更容易地在数据存储系统中保持快照、快照集、一致性组和存储卷之间的关系,由此允许存储卷被添加到一致性组和/或从一致性组中被移除,而不必首先删除存储卷的快照和/或一致性组的快照集。
在某些实施例中,一种实现数据存储系统中的存储卷的一致性组的快照集的方法包括在数据存储系统上形成存储卷的一致性组。一致性组具有数据结构。该方法还包括在第一时间点(PIT)处创建一致性组中的存储卷的第一快照集,并且为第一快照集中的每个快照生成第一快照元数据。第一快照元数据包括第一快照集的标识符和一致性组的标识符。该方法还包括将包括第一快照集节点的快照集列表并入一致性组的数据结构中。第一快照集节点包括第一快照集的标识符和指向具有第一快照集中的相应快照的存储卷的第一存储卷列表的第一指针。该方法还包括执行以下中的至少一项:(i)向一致性组添加附加存储卷,以及(ii)从一致性组中的存储卷中移除相应存储卷,而不删除一致性组中的第一快照集中的快照中的任何快照。
在某些方面,该方法包括:在已经向一致性组添加附加存储卷的情况下,在第二PIT处创建包括一致性组中的附加存储卷的存储卷的第二快照集,并且为第二快照集中的每个快照生成第二快照元数据。第二快照元数据包括第二快照集的标识符和一致性组的标识符。该方法还包括向快照集列表添加第二快照集节点。第二快照集节点包括第二快照集的标识符和指向具有在第二快照集中的相应快照的存储卷的第二存储卷列表的第二指针。
在某些另外的方面,附加存储卷的快照被存储在数据存储系统上的一致性组之外。该方法还包括在已经向一致性组添加附加存储卷的情况下,仅允许与附加存储卷的快照有关的读取请求或删除请求由数据存储系统来采取行动。
在某些其他方面,该方法包括在已经从一致性组中的存储卷中移除相应存储卷的情况下,仅允许与相应存储卷的快照有关的读取请求由数据存储系统来采取行动。该方法还包括如果(i)第一快照集被删除、刷新或恢复,(ii)一致性组从数据存储系统中被移除,或(iii)相应存储卷从数据存储系统中被移除,则删除相应存储卷的快照。相应存储卷初始地被存储在数据存储系统上的一致性组之外。该方法还包括随后从数据存储系统中移除相应存储卷。在从数据存储系统中移除相应存储卷之前,访问相应存储卷的快照的第一快照元数据以获取第一快照集的标识符和一致性组的标识符。该方法还包括:(i)在已经获取第一快照集的标识符和一致性组的标识符的情况下,访问被并入一致性组的数据结构中的快照集列表的第一快照集节点,(ii)使用被包括在第一快照集节点中的第一指针来访问第一存储卷列表,(iii)从第一存储卷列表中删除相应的存储卷名称,以及(iv)从一致性组中删除相应存储卷的快照,并且删除相应存储卷的快照的第一快照元数据。
在某些另外的方面,该方法包括在数据存储系统上形成存储卷的第二一致性组。第二一致性组具有第二数据结构。该方法还包括在第二PIT处创建第二一致性组中的存储卷的第二快照集,并且为第二快照集中的每个快照生成第二快照元数据。第二快照元数据包括第二快照集的标识符和第二一致性组的标识符。该方法还包括将包括快照集节点的第二快照集列表并入第二一致性组的第二数据结构中。快照集节点包括第二快照集的标识符和指向具有第二快照集中的相应快照的存储卷的第二存储卷列表的第二指针。
在某些另外的实施例中,一种用于实现数据存储系统中的存储卷的一致性组的快照集的系统包括至少一个存储器和至少一个处理器,至少一个处理器可操作以执行至少一个存储器中的指令以在数据存储系统上形成存储卷的一致性组。一致性组具有数据结构。该处理器还可操作以执行存储器中的指令以在第一时间点(PIT)处创建一致性组中的存储卷的第一快照集并且为第一快照集中的每个快照生成第一快照元数据。第一快照元数据包括第一快照集的标识符和一致性组的标识符。该处理器还可操作以执行存储器中的指令以将包括第一快照集节点的快照集列表并入一致性组的数据结构中。第一快照集节点包括第一快照集的标识符和指向具有第一快照集中的相应快照的存储卷的第一存储卷列表的第一指针。该处理器还可操作以执行存储器中的指令以执行以下中的至少一项:(i)向一致性组添加附加存储卷,以及(ii)从一致性组中的存储卷中移除相应存储卷组,而不删除一致性组中的第一快照集中的快照中的任何快照。
本发明的其他特征、功能和方面根据下面的详细描述将变得明显。
附图说明
从附图中所示的本发明的特定实施例的以下描述中,前述和其他目的、特征和优点将是显而易见的,在附图中,相同的附图标记贯穿不同的视图指代相同的部分。
图1是数据存储环境的框图,在该数据存储环境中可以采用被配置为实现存储卷的一致性组的快照集的示例性数据存储系统;
图2是传统数据存储系统的存储设备阵列的框图,其具有向一致性组添加存储卷(以及从中移除存储卷)的受限能力;
图3a是用于在图1的数据存储系统上存储的一致性组的快照集中的存储卷的快照的示例性扩展元数据的示图;
图3b是图3a的一致性组的示例性增强数据结构的示图;
图3c是图3a的一致性组的快照集列表的示图;
图4a、4b和4c是图示用于实现存储卷的一致性组的快照集的图1的数据存储系统的示例性功能的示图;以及
图5是实现在图1的数据存储系统上存储的存储卷的一致性组的快照集的示例性方法的流程图。
具体实施方式
本文中公开了用于实现数据存储系统中的存储卷的一致性组的快照集的技术。所公开的技术针对存储在数据存储系统上的存储卷的快照采用扩展元数据并且针对存储卷的一致性组采用增强数据结构。对于一致性组的快照集中的存储卷的每个快照,快照元数据被扩展以包括快照集的标识符(在本文中也被称为“快照集标识符”或“SSID”)和一致性组的标识符(在本文中也被称为“一致性组标识符”或“CGID”)。一致性组的数据结构被增强以包括快照集列表(本文中也称为“一致性组快照集列表”或“CGSSL”),快照集列表包括一致性组的每个快照集的SSID和指向存储卷列表的指针,该存储卷列表包含具有快照集中的关联快照的一个或多个存储卷的名称。通过扩展一致性组的快照集中的存储卷的每个快照的元数据,并且利用一个或多个关联快照集来增强每个一致性组的数据结构,可以更容易地在数据存储系统中保持快照、快照集、一致性组和存储卷之间的关系,由此允许存储卷被添加到一致性组和/或从一致性组中被移除,而不必首先删除存储卷的快照和/或一致性组的快照集。
图1描绘了数据存储环境100的说明性实施例,其中可以采用被配置为实现存储卷的一致性组的快照集的示例性数据存储系统104。如图1所示,数据存储环境100包括通过包括网络110的通信介质103可通信地耦合到数据存储系统104的多个主计算机102.1、102.2、...、102.n。例如,多个主计算机102.1、102.2、...、102.n中的每一个可以被配置为web服务器计算机、文件服务器计算机、电子邮件服务器计算机、企业服务器计算机、数据库服务器和/或任何其他合适的计算机或计算机化设备,用于在通信介质103上向数据存储系统104提供输入/输出(IO)请求(例如,小型计算机系统接口(SCSI)命令)。由多个主计算机102.1、102.2、...、102.n提供的这样的IO请求(例如,写入请求、读取请求、删除请求)可以指令数据存储系统104以代表相应的主计算机102.1、102.2、...、102.n向存储卷(例如,逻辑单元号(LUN)、虚拟卷(VVOL))存储数据块和/或从其检索数据块。
通信介质103可以被配置为将多个主计算机102.1、102.2、...、102.n与数据存储系统104互连,以使得它们能够传送和交换电子信号。如图1所示,通信介质103的至少一部分被示出为“云”,以指示通信介质103可以具有各种不同的拓扑,包括但不限于骨干式、轴辐式、环路式、不规则式或其任何合适的组合。通信介质103还可以包括但不限于铜基数据通信设备和布线、光纤设备和布线、无线设备或其任何合适的组合。另外,通信介质103可以被配置为支持基于存储区域网络(SAN)的通信、基于局域网(LAN)的通信、蜂窝通信、基于广域网(WAN)的通信、分布式基础设施通信、和/或任何其他合适的通信。
如图1所示,数据存储系统104可以包括至少一个存储装置106和计算机化快照集管理系统108,其中的每一个可以耦合到以太网子网112或任何其他合适的网络和/或子网。存储装置106可以包括存储处理电路114、至少一个存储器116和至少一个存储设备阵列118。存储处理电路114可以包括一个或多个物理存储处理器或引擎、数据移动器、引导器板、刀片、IO模块、存储驱动器控制器、交换机和/或任何其他合适的计算机硬件或其组合。与存储器116相关联的存储处理电路114可以被配置为处理来自主计算机102.1、102.2、...、102.n中的一个或多个的IO请求,并且将主机数据存储在由存储设备阵列118实现的独立磁盘冗余阵列(RAID)环境中。在某些实施例中,存储处理电路114和存储器116可以被配置为处理这样的IO请求,并且将主机数据存储在基于云的存储环境或任何其他合适的数据存储环境中。存储器116可以包括持久性存储器存储(例如,闪存、磁存储器)和/或非持久性高速缓存存储(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)),并且适应各种软件构建,包括但不限于操作系统代码和数据、数据存储系统代码和数据、以及快照集实现代码、数据和元数据。存储设备阵列118可以存储多个存储卷128.1、...、128p、130.1、...、130.q,其中的每一个可以被实现为LUN、VVOL或任何其他合适的存储单元或卷。
如图1进一步所示,计算机化快照集管理系统108可以包括一致性组控制器120、对象处理程序122、快照管理器124和一致性组快照集列表管理器126,其中的每一个可以使用任何合适的计算机或处理硬件、软件或其组合在计算机化快照集管理系统108上实现。一致性组控制器120可以被配置为管理对象处理程序122、快照管理器124和/或一致性组快照集列表管理器126的操作,以用于管理存储卷的快照,管理一致性组内的存储卷的快照集,以及提供用于与存储装置106通信的应用程序编程接口(API)。对象处理程序122可以被配置为在一致性组控制器120的引导下创建对象(例如,LUN、VVOL、快照、快照集)、修改对象、删除对象、向一致性组添加对象、从一致性组中移除对象、和/或获取存储在存储装置106的存储设备阵列118上的对象的属性(例如,标识符、名称)。快照管理器124可以被配置为在一致性组控制器120的引导下管理由对象处理程序122创建的存储卷(例如,LUN、VVOL)的快照的扩展元数据的创建、修改和/或删除。一致性组快照集列表管理器126可以被配置为在一致性组控制器120的引导下管理被存储在存储设备阵列118上的每个一致性存储卷组的一个或多个快照集列表和存储卷列表。存储设备阵列118可以包括一个或多个一致性组122.1、...、122.m,诸如多个存储卷128.1、...、128.p的一致性组122.1和多个存储卷130.1、...、130.q的一致性组122.m。
如本文中采用的,术语“快照”是指存储卷(例如,LUN、VVOL)或其他数据对象的时间点(PIT)复制及其相关联的快照元数据。这样的快照可以复制来自存储卷(例如,基本LUN)的数据的完整副本,或者通过存储数据的当前版本与存储卷的快照最后被取得的PIT处的数据的先前版本之间的差异来复制空间高效副本。这样的空间高效副本可以用于在远程数据存储系统上复制快照。如本文中采用的,术语“快照集”是指在某个PIT处取得的一致性组中的存储卷的一个或多个快照。如本文中采用的,术语“一致性组”是指被存储在存储装置上的存储卷集,针对该存储卷集期望保持被存储在存储卷上的数据之间的一致性。
图2描绘了被包括在传统数据存储系统中的存储装置的存储设备阵列200的说明性实施例,其具有向一致性组添加存储卷(以及从中移除存储卷)的受限能力。如图2所示,存储设备阵列200被配置为存储多个存储卷(例如,LUN),即LUN 204、LUN 206、LUN 208和LUN 210。LUN 204具有在第一PIT处取得的相关联的LUN快照204(1)。如图2进一步所示,存储设备阵列200保持在一致性组202中供应的LUN 208和LUN 210,该一致性组202包括多个快照集,即(i)包含分别在第一PIT处取得的LUN 208的LUN快照208(1)和LUN 210的LUN快照210(1)的快照集212,以及(ii)包含分别在第二PIT处取得的LUN 208的LUN快照208(2)和LUN 210的LUN快照210(2)的快照集214。
然而,包括图2的存储设备阵列200的传统数据存储系统的缺陷在于,其向一致性组202添加一个或多个存储卷(例如,LUN)以及从一致性组202中移除一个或多个存储卷(例如,LUN)的能力受到限制。例如,为了向一致性组202添加具有相关联的LUN快照204(1)的LUN 204,传统数据存储系统通常必须在向一致性组202添加LUN 204之前从存储设备阵列200中删除LUN快照204(1)。传统数据存储系统向一致性组202添加LUN 204的这种受限能力由与附图标记216相对应的数据路径上的“×”示出。此外,为了向具有快照集212和快照集214的一致性组202添加LUN 206,传统数据存储系统通常必须在向一致性组202添加LUN206之前从一致性组202中删除快照集212和快照集214。传统数据存储系统向一致性组202添加LUN 206的这种受限能力由与附图标记220相对应的数据路径上的“×”示出。同样,为了从具有快照集212和快照集214的一致性组202中移除LUN 210,传统数据存储系统通常必须在从一致性组202中移除LUN 210之前从一致性组202中删除快照集212和快照集214。传统数据存储系统从一致性组202中移除LUN 210的这种进一步受限的能力由与附图标记218相对应的数据路径上的“×”示出。然而,在向一致性组202添加一个或多个LUN(或从一致性组202中移除一个或多个LUN)之前必须删除快照和/或快照集可以减少对传统数据存储系统可用的一致数据的量,从而不利地影响数据存储系统在事故、灾难或其他灾难性故障的情况下实现数据恢复的能力。
在数据存储系统104(参见图1)的操作期间,通过针对一致性组的快照集中的存储卷的快照采用扩展元数据并且针对包括存储卷和快照集的一致性组采用增强数据结构,计算机化快照集管理系统108能够被用于避免在向一致性组添加一个或多个存储卷(或从一致性组中移除一个或多个存储卷)的同时对传统数据存储系统施加限制中的至少一些限制。对于一致性组的快照集中的存储卷的每个快照,计算机化快照集管理系统108扩展快照元数据以包括快照集的SSID和包含快照集的一致性组的CGID。此外,计算机化快照集管理系统108增强一致性组的数据结构以包括快照集列表(CGSSL),快照集列表(CGSSL)包括一致性组的每个快照集的SSID并且对于每个SSID包括指向存储卷列表的指针,该存储卷列表包含具有在快照集中的关联快照的一个或多个存储卷的名称。通过扩展一致性组的快照集中存储卷的每个快照的元数据,并且利用一个或多个关联快照集增强每个一致性组的数据结构,快照、快照集、一致性组和存储卷之间的关系可以更容易地被保持在数据存储系统104中,由此允许存储卷被添加到一致性组和/或从一致性组中被移除,而不必首先删除存储卷的快照和/或一致性组的快照集。
图3a是用于在图1的数据存储系统104上存储的一致性组的快照集中的存储卷的快照(在本文中也被称为“扩展快照元数据”)的示例性扩展元数据302的示图。如图3a所示,扩展快照元数据302包括由M位SSID 314和N位CGID 316组成的M+N位头部,其中“M”和“N”可以等于三十二(32)或任何其他合适的值或不同的值。快照元数据318可以包括(i)第一时间戳,其指示由主计算机102.1、102.2、...、102.n中的一个或多个提供的IO请求在取得快照的存储装置106处被暂停的时间,(ii)第二时间戳,其指示在存储装置106处取得快照的时间,和/或任何其他合适的快照元数据。
图3b是具有在图1的数据存储系统104上存储的一个或多个关联快照集的一致性组的示例性增强数据结构304(在本文中也被称为“增强一致性组数据结构”)的示图。如图3b所示,增强一致性组数据结构304包括一致性组(CG)数据结构320以及与CGSSL 308有关的附加条目,CGSSL 308包括多个一致性组快照集节点310.1、...、310.Q(在本文中也称为“CGSSN”)。CGSSL 308包括CGSSN 310.1等等直到CGSSN 310.Q,其中“Q”可以是任何合适的正整数值。CGSSN 310.1、...、CGSSN 310.Q中的每一个包括一致性组的快照集的SSID和指向存储卷列表的地址,该存储卷列表包含具有快照集中的快照的一个或多个存储卷的名称。例如,CGSSN 310.1包括一致性组的第一快照集的M位SSID 322.1和指向第一存储卷列表的P位指针324.1,第一存储卷列表包含具有第一快照集中的关联快照的一个或多个存储卷的名称;并且类似地,CGSSN 310.Q包括一致性组的第Q快照集的M位SSID 322.Q和指向第Q个存储卷列表的P位指针324.Q,第Q个存储卷列表包含具有第Q快照集中的关联快照的一个或多个存储卷的名称,其中“P”可以等于六十四(64)或任何其他合适的值。CG数据结构320可以包括与以下各项有关的条目:(i)第一组时间戳,其指示由主计算机102.1、102.2、...、102.n中的一个或多个提供的IO请求在取得第一至第Q个快照集的存储装置106处被暂停的时间,(ii)第二组时间戳,其指示在存储装置106处取得第一至第Q快照集的时间、和/或任何其他合适的CG数据结构条目。
图3c分别是由P位指针324.1、...、324.Q指向的“Q”个存储卷列表306的示图。如图3c所示,存储卷列表306包括由P位指针324.1指向的第一存储卷列表等等直到由P位指针324.Q指向的第Q个存储卷列表。由P位指针324.1指向的第一存储卷列表包括具有由M位SSID 322.1标识的第一快照集中的关联快照的第一多个存储卷的名称(例如,WWN LUN326.1、...、WWN LUN 326.X)等等直到具有由M位SSID 322.Q标识的第Q个快照集中的关联快照的第Q多个存储卷的名称(例如,WWN LUN 328.1、...、WWN LUN 328.Y),其中“X”和“Y”可以是任何合适的正整数值。例如,存储卷列表306中的存储卷的名称可以对应于包括全球名称(WWN)的端点地址,全球名称(WWN)中的每一个是由8字节编号组成的唯一标识符(例如,节点名称、端口名称)、或者任何其他合适的存储卷名称或标识符。
用于实现存储卷的一致性组的快照集的图1的数据存储系统104的操作还将参考以下说明性示例以及图4a、4b和4c来理解。图4a描绘了在第一PIT(本文中也称为“时间T1”)处在数据存储系统(例如,数据存储系统104)内的存储装置的存储设备阵列400。在时间T1处,存储设备阵列400被配置为存储多个存储卷,即LUN 414、LUN 416、LUN 418和LUN 420,其具有在时间T1处取得的关联的LUN快照420(1)。LUN 414和LUN 416在一致性组408中被供应,并且LUN 418在一致性组410中被供应。一致性组408包括快照集430,其包含各自在时间T1处取得的LUN 414的LUN快照414(1)和LUN 416的LUN快照416(1)。注意,LUN 420及其关联的LUN快照420(1)没有被包括在一致性组408和410中的任何一个中,也没有被包括在存储设备阵列400内的任何其他一致性组中。
图4a(续)分别描绘了快照集430中的LUN快照414(1)的扩展快照元数据414.1和LUN快照416(1)的扩展快照元数据416.1以及具有关联快照集430的一致性组408的增强一致性组数据结构408a。LUN快照414(1)的扩展快照元数据414.1包括快照集430的SSID430.1、一致性组408的CGID 408.1和其他快照元数据418.1。LUN快照416(1)的扩展快照元数据416.1包括快照集430的SSID430.1、一致性组408的CGID 408.1和其他快照元数据418.2。一致性组408的增强一致性组数据结构408a包括CG数据结构419.1和CGSSL 440.1。CGSSL 440.1包括单个节点,即CGSSN 450.1,其包含快照集430的SSID 430.1和指向快照集430中的分别具有关联的LUN快照414(1)、416(1)的LUN 414、416的名称的存储卷列表406.1的指针424.1。如图4a(续)所示,存储卷列表406.1可以包括LUN 414的全球名称(WWN)和LUN416的全球名称(WWN)。在一个实施例中,LUN快照420(1)(其是没有被包括在一致性组的快照集中的独立LUN快照)的扩展快照元数据420.1可以具有如扩展快照元数据414.1和扩展快照元数据416.1那样的格式,除了扩展快照元数据420.1的SSID和CGID中的每一个具有默认值0xFFFF或任何其他合适的默认值之外。在图4a(续)中,LUN快照420(1)的扩展快照元数据420.1包括具有默认值0xFFFF的SSID、具有相同默认值0xFFFF的CGID和快照元数据418.3。
图4b描绘了在第二PIT(本文中也称为“时间T2”)处在数据存储系统(例如,数据存储系统104)内的存储装置的存储设备阵列400。在时间T2处,数据存储系统操作以将LUN420添加到一致性组408,同时将LUN快照420(1)保持在一致性组408、410之外。数据存储系统还操作以将LUN 414从一致性组408中移除,同时将LUN快照414(1)保持在一致性组408中的快照集430中。数据存储系统还将LUN 418保持在一致性组410内。另外,数据存储系统操作以创建包含各自在时间T2处取得的LUN 416的LUN快照416(2)和LUN 420的LUN快照420(2)的快照集432。数据存储系统还操作以在时间T2出取得LUN 414的LUN快照414(2)。如LUN快照420(1)那样,LUN快照414(2)被保持在一致性组408、410之外。
图4b(续)描绘了LUN快照414(1)的扩展快照元数据414.1、LUN快照416(1)的扩展快照元数据416.1和LUN快照420(1)的扩展快照元数据420.1、以及分别在快照集432中的LUN快照416(2)的扩展快照元数据416.2和LUN快照420(2)的扩展快照元数据420.2。LUN快照416(2)的扩展快照元数据416.2包括快照集432的SSID 432.1、一致性组408的CGID408.1和其他快照元数据418.5。LUN快照420(2)的扩展快照元数据420.2包括快照集432的SSID432.1、一致性组408的CGID 408.1和其他快照元数据418.6。
图4b(续)还描绘了包括CG数据结构419.2和CGSSL 440.2的一致性组408的增强一致性组数据结构408b。CGSSL 440.2包括两个(2)节点,即CGSSN 450.1和CGSSN 450.2。CGSSN 450.1包含快照集430的SSID 430.1和指向存储卷列表406.1的指针424.1。CGSSN450.2包含快照集432的SSID 432.1和指向分别具有快照集432中的关联的LUN快照416(2)、420(2)的LUN 416、420的名称的存储卷列表406.2的指针424.2。如图4b(续)所示,存储卷列表406.2可以包括LUN 416的全球名称(WWN)和LUN 420的全球名称(WWN)。在一个实施例中,LUN快照414(2)(其是没有被包括在一致性组的快照集中的独立LUN快照)的扩展快照元数据414.2可以具有如扩展快照元数据414.1、416.1、416.2、420.2那样的格式,除了扩展快照元数据414.2的SSID和CGID中的每一个具有默认值0xFFFF或任何其他合适的默认值。在图4b(续)中,LUN快照414(2)的扩展快照元数据414.2包括具有默认值0xFFFF的SSID、具有相同默认值0xFFFF的CGID、以及快照元数据418.4。
在该示例中,数据存储系统操作以将LUN 420添加到一致性组408,同时将LUN快照420(1)保持在一致性组408之外并且将快照集430保持在一致性组408内。与传统数据存储系统不同,LUN 420可以被添加到一致性组408,而不必删除LUN快照420(1),和/或删除快照集430中的LUN快照414(1)和LUN快照416(1)。这是因为,数据存储系统提供(i)LUN快照414(1)的扩展快照元数据414.1,(ii)LUN快照416(1)的扩展快照元数据416.1,(iii)LUN快照420(1)的扩展快照元数据420.1,以及(iv)一致性组408的增强一致性组数据结构408b,它们一起允许LUN快照414(1)、416(1)、420(1)、快照集430、一致性组408以及LUN 414、416、420之间的关系在LUN 420正在被添加到一致性组408的同时以及在LUN 420已经被添加到LUN 420之后被保持存储设备阵列400中。注意,一旦LUN 420已经被添加到一致性组408,仅有与LUN快照420(1)有关的读取请求和/或删除请求将由数据存储系统来采取行动。
此外,数据存储系统操作以从一致性组408中移除LUN 414,同时将快照集430、432保持在一致性组408中。与传统数据存储系统不同,LUN 414可以从一致性组408中被移除,而不必删除快照集430中的LUN快照414(1)和LUN快照416(1)和/或快照集432中的LUN快照416(2)和LUN快照420(2)。这是因为,数据存储系统提供(i)LUN快照414(1)的扩展快照元数据414.1,(ii)LUN快照416(1)的扩展快照元数据416.1,(iii)LUN快照416(2)的扩展快照元数据416.2,(iv)LUN快照420(2)的扩展快照元数据420.2,以及(v)一致性组408的增强一致性组数据结构408b,它们一起允许LUN快照414(1)、416(1)、416(2)、420(2)、快照集430、432、一致性组408以及LUN 414、416、420之间的关系在LUN 414正从一致性组408中被移除的同时以及在LUN 414已经从一致性组中被移除之后被保持在存储设备阵列400中。注意,一旦LUN 414已经从一致性组408中被移除,则仅有与LUN快照414(1)有关的读取请求将由数据存储系统来采取行动。在一个实施例中,如果(i)快照集430被删除、刷新或恢复,(ii)一致性组408从存储设备阵列400中被移除,或者(iii)LUN 414从存储设备阵列400中被移除,则仅有与LUN快照414(1)有关的删除操作将由数据存储系统来采取行动。
图4c描绘了在第三PIT T3(本文中也称为“时间T3”)处在数据存储系统(诸如数据存储系统104)内的存储装置的存储设备阵列400。在时间T3处,数据存储系统操作以从存储设备阵列400中移除LUN 414(如由LUN 414上的“×”所示),从一致性组408中移除LUN 416,并且向一致性组410添加LUN 416。另外,数据存储系统操作以创建包含在时间T3处取得的LUN 420的LUN快照420(3)的快照集434,并且创建包含各自在时间T3处取得的LUN 416的LUN快照416(3)和LUN 418的LUN快照418(3)的快照集436。
图4c(续)描绘了LUN快照414(1)的扩展快照元数据414.1、LUN快照416(1)的扩展快照元数据416.1、LUN快照420(1)的扩展快照元数据420.1、LUN快照414(2)的扩展快照元数据414.2、LUN快照416(2)的扩展快照元数据416.2和LUN快照420(2)的扩展快照元数据420.2,以及快照集434中的LUN快照420(3)的扩展快照元数据420.3和分别在快照集436中的LUN快照416(3)的扩展快照元数据416.3和LUN快照418(3)的扩展快照元数据418.3。LUN快照416(3)的扩展快照元数据416.3包括快照集436的SSID436.1、一致性组410的CGID410.1和其他快照元数据418.7。LUN快照418(3)的扩展快照元数据418.3包括快照集436的SSID 436.1、一致性组410的CGID 410.1和其他快照元数据418.8。LUN快照420(3)的扩展快照元数据420.3包括快照集434的SSID 434.1、一致性组408的CGID 408.1和其他快照元数据418.9。
图4c(续)还描绘了包括CG数据结构419.3和CGSSL 440.3的一致性组408的增强一致性组数据结构408c。CGSSL 440.3包括三(3)个节点,即CGSSN 450.1、CGSSN 450.2和CGSSN 450.3。CGSSN 450.1包含快照集430的SSID 430.1和指向存储卷列表406.1的指针424.1。CGSSN 450.2包含快照集432的SSID 432.1和指向存储卷列表406.2的指针424.2。CGSSN 450.3包含快照集434的SSID 434.1和指向具有快照集434中的关联的LUN快照420(3)的LUN 420的名称的存储卷列表406.3的指针424.3。如图4c(续)所示,存储卷列表406.3可以包括LUN 420的全球名称(WWN)。另外,图4c(续)描绘了包括CG数据结构419.4和CGSSL440.4的一致性组410的增强一致性组数据结构410a。CGSSL 440.4包括单个节点,即CGSSN450.4,其包含快照集436的SSID 436.1和指向LUN 416和LUN 418的名称的存储卷列表406.4的指针424.4,其中LUN 416、418各自分别在快照集436中具有其关联的LUN快照416(3)、418(3)。如在图4c(续)所示,存储卷列表406.4可以包括LUN 416的全球名称(WWN)和LUN 418的全球名称(WWN)。
如本文中参考图4c所述,在时间T3处,数据存储系统操作以从存储设备阵列400中移除LUN 414(如由LUN 414上的“×”所示)。在移除LUN 414之前,数据存储系统访问LUN快照414(1)的扩展快照元数据414.1,以确定CGID 408.1和SSID 430.1的值。在已经确定CGID408.1和SSID 430.1的值的情况下,数据存储系统访问增强一致性组数据结构408c内的CGSSL 440.3的CGSSN 450.1,使用指针424.1导航到存储卷列表406.1,并且从存储卷列表406.1中删除LUN 414的名称(如WWN LUN 414上的“×”所示)。此外,数据存储系统从一致性组408的快照集430中移除LUN快照414(1)(如由LUN快照414(1)上的“×”所示),并且删除LUN快照414(1)的扩展快照元数据414.1(如扩展快照元数据414.1上的“×”所示)。数据存储系统还访问LUN快照414(2)的扩展快照元数据414.2,以确定CGID和SSID的值。在已经确定CGID和SSID的值各自为默认值0xFFFF的情况下,数据存储系统确定LUN快照414(2)是独立LUN快照,从存储设备阵列400中移除LUN快照414(2)(如LUN快照414(2)上的“×”所示),并且删除LUN快照414(2)的扩展快照元数据414.2(如扩展快照元数据414.2上的“×”所示)。
在该示例中,数据存储系统操作以从一致性组408中移除LUN416,并且将LUN 416添加到一致性组410,同时将快照集430、432、434保持在一致性组408内。与传统数据存储系统不同,LUN 416可以从一致性组408中被移除(或添加到一致性组410),而不必删除快照集430中的LUN快照414(1)和LUN快照416(1)、删除快照集432中的LUN快照416(2)和LUN快照420(2)和/或删除快照集434中的LUN快照420(3)。这是因为,数据存储系统提供(i)LUN快照414(1)的扩展快照元数据414.1,(ii)LUN快照416(1)的扩展快照元数据416.1,(iii)LUN快照416(2)的扩展快照元数据416.2,iv)LUN快照420(2)的扩展快照元数据420.2,(v)LUN快照420(3)的扩展快照元数据420.3,以及(vi)一致性组408的增强一致性组数据结构408c,它们一起允许LUN快照414(1)、416(1)、416(2)、420(2)、420(3)、快照集430、432、434、一致性组408以及LUN 414、416、420之间的关系在LUN 416正在被从一致性组408中被移除(或者被添加到一致性组410)的同时以及在LUN 416已经从一致性组408中被移除(或者已经被添加到一致性组410)之后被保持在存储设备阵列400中。注意,一旦LUN 416已经被添加到一致性组410中,仅有与LUN快照416(1)和LUN快照416(2)有关的读取请求将由数据存储系统来采取行动。在一个实施例中,如果(i)快照集430被删除、刷新或恢复,(ii)一致性组408从存储设备阵列400中被移除,或(iii)LUN 416从存储设备阵列400中被移除,则与LUN快照416(1)有关的删除操作将由数据存储系统来执行。类似地,如果(i)快照集432被删除、刷新或恢复,(ii)一致性组408从存储设备阵列400中被移除,或(iii)LUN416从存储设备阵列400中被移除,则与LUN快照416(2)有关的删除操作将由数据存储系统来执行。
下面参考图5描述实现数据存储系统中的存储卷的一致性组的快照集的示例性方法。如框502所示,在数据存储系统上形成存储卷的一致性组,其中一致性组具有数据结构。如框504所示,创建一致性组中的存储卷的快照集。如框506所示,为快照集中的每个快照生成快照元数据,其中快照元数据包括快照集的第一标识符和一致性组的第二标识符。如框508所示,将包括至少一个快照集节点的快照集列表并入一致性组的数据结构中,其中快照集节点包括快照集的第一标识符和指向具有快照集中的相应快照的存储卷的存储卷列表的指针。如框510所示,执行以下中的一项或多项:(i)从一致性组中的存储卷中移除相应存储卷,以及(ii)向一致性组添加附加存储卷,而不删除快照集中的快照中的任何快照。
已经描述了以上说明性实施例,可以做出和/或实践其他备选实施例或变型。例如,本文中描述了可以删除、刷新和/或恢复一致性组的快照集中的存储卷的快照。在某些实施例中,如果从一致性组中移除具有快照集中的快照的存储卷,并且对该快照集执行刷新操作,则(i)从该快照集中删除被移除的存储卷的快照(以及从具有快照集中的快照的存储卷列表中删除被移除的存储卷的名称),以及(ii)对快照集中的其余快照执行刷新操作。在另外的实施例中,如果对快照集执行删除操作,则删除快照集中的所有快照(并且包括快照集的SSID的CGSSN以及由被包括在CGSSN中的指针指向的存储卷列表从一致性组的CGSSL中被删除)。
在其他实施例中,如果要对包括被移除的存储卷的快照的快照集执行恢复操作,则诸如经由数据存储系统的图形用户界面(GUI)向数据存储系统的用户提供以下选项:(i)丢弃被移除的存储卷的快照,或者(ii)将被移除的存储卷添加回到一致性组。如果用户选择丢弃被移除的存储卷的快照,则(i)从快照集中删除被移除的存储卷的快照(并且从具有快照集中的快照的存储卷列表中删除被移除的存储卷的名称),以及(ii)对快照集中的其余快照执行恢复操作。如果用户选择将被移除的存储卷添加回到一致性组,则对快照集中的所有快照执行恢复操作,包括之前从一致性组被移除并且随后被添加回到一致性组的存储卷的快照(并且包括快照集的SSID的CGSSN以及由被包括在CGSSN中的指针指向的存储卷列表将被更新以反映存储卷到一致性组的添加)。
注意,所公开的系统和方法或其部分可以被实施为包括一个或多个非暂态计算机可读存储介质(诸如磁盘、磁带、紧凑盘、DVD、光盘、闪存驱动器、固态驱动器(SSD)、安全数字(SD)芯片或设备、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等)的计算机程序产品。可以使用任何数目的计算机可读介质。该介质可以用指令编码,这些指令当在一个或多个计算机或其他处理器上被执行时执行本文中描述的过程。这样的介质可以被认为是制造品或机器,并且可以从一台机器可移植到另一台机器。
虽然已经具体示出和描述了本发明的各种实施例,但是本领域技术人员将理解,可以在不脱离由所附权利要求限定的本发明的范围的情况下进行其形式和细节方面的各种改变。
Claims (17)
1.一种实现数据存储系统中的存储卷的一致性组的快照集的方法,包括:
在所述数据存储系统上形成存储卷的一致性组,所述一致性组具有数据结构;
在第一时间点PIT处创建所述一致性组中的所述存储卷的第一快照集;
为所述第一快照集中的每个快照生成第一快照元数据,所述第一快照元数据包括所述第一快照集的标识符和所述一致性组的标识符;
将包括第一快照集节点的快照集列表并入所述一致性组的所述数据结构中,所述第一快照集节点包括所述第一快照集的所述标识符和指向具有所述第一快照集中的相应快照的所述存储卷的第一存储卷列表的第一指针;
向所述一致性组添加附加存储卷,而不删除所述一致性组中的所述第一快照集中的所述快照中的任何快照,所述附加存储卷的快照被存储在所述数据存储系统上的所述一致性组之外;以及
在已经向所述一致性组添加所述附加存储卷的情况下,仅允许与所述附加存储卷的所述快照有关的读取请求或删除请求由所述数据存储系统来采取行动。
2.根据权利要求1所述的方法,还包括:
在已经向所述一致性组添加所述附加存储卷的情况下,在第二PIT处创建包括所述一致性组中的所述附加存储卷的所述存储卷的第二快照集。
3.根据权利要求2所述的方法,还包括:
为所述第二快照集中的每个快照生成第二快照元数据,所述第二快照元数据包括所述第二快照集的标识符和所述一致性组的所述标识符。
4.根据权利要求3所述的方法,还包括:
向所述快照集列表添加第二快照集节点,所述第二快照集节点包括所述第二快照集的标识符和指向具有所述第二快照集中的相应快照的存储卷的第二存储卷列表的第二指针。
5.根据权利要求1所述的方法,还包括:
从所述一致性组中的所述存储卷中移除相应存储卷,而不删除所述一致性组中的所述第一快照集中的所述快照中的任何快照;以及
在已经从所述一致性组中的所述存储卷中移除所述相应存储卷的情况下,仅允许与所述相应存储卷的所述快照有关的读取请求由所述数据存储系统来采取行动。
6.根据权利要求5所述的方法,还包括:
如果(i)所述第一快照集被删除、刷新或恢复,(ii)所述一致性组从所述数据存储系统中被移除,或(iii)所述相应存储卷从所述数据存储系统中被移除,则删除所述相应存储卷的所述快照。
7.根据权利要求5所述的方法,其中所述相应存储卷初始地被存储在所述数据存储系统上的所述一致性组之外,并且其中所述方法还包括:
随后从所述数据存储系统中移除所述相应存储卷。
8.根据权利要求7所述的方法,还包括:
在从所述数据存储系统中移除所述相应存储卷之前,访问所述相应存储卷的所述快照的所述第一快照元数据以获取所述第一快照集的所述标识符和所述一致性组的所述标识符。
9.根据权利要求8所述的方法,还包括:
在已经获取所述第一快照集的所述标识符和所述一致性组的所述标识符的情况下,访问被并入所述一致性组的所述数据结构中的所述快照集列表的所述第一快照集节点,并且使用被包括在所述第一快照集节点中的所述第一指针来访问所述第一存储卷列表。
10.根据权利要求9所述的方法,还包括:
从所述第一存储卷列表中删除所述相应存储卷的名称。
11.根据权利要求10所述的方法,还包括:
从所述一致性组中删除所述相应存储卷的所述快照,并且删除所述相应存储卷的所述快照的所述第一快照元数据。
12.根据权利要求1所述的方法,还包括:
在所述数据存储系统上形成存储卷的第二一致性组,所述第二一致性组具有第二数据结构;
在第二PIT处创建所述第二一致性组中的所述存储卷的第二快照集;
为所述第二快照集中的每个快照生成第二快照元数据,所述第二快照元数据包括所述第二快照集的标识符和所述第二一致性组的标识符;以及
将包括快照集节点的第二快照集列表并入所述第二一致性组的所述第二数据结构中,所述快照集节点包括所述第二快照集的所述标识符和指向具有所述第二快照集中的相应快照的所述存储卷的第二存储卷列表的第二指针。
13.一种用于实现数据存储系统中的存储卷的一致性组的快照集的系统,包括:
至少一个存储器;以及
至少一个处理器,可操作以执行所述至少一个存储器中的指令以:
在所述数据存储系统上形成存储卷的一致性组,所述一致性组具有数据结构;
在第一时间点PIT处创建所述一致性组中的所述存储卷的第一快照集;
为所述第一快照集中的每个快照生成第一快照元数据,所述第一快照元数据包括所述第一快照集的标识符和所述一致性组的标识符;
将包括第一快照集节点的快照集列表并入所述一致性组的所述数据结构中,所述第一快照集节点包括所述第一快照集的所述标识符和指向具有所述第一快照集中的相应快照的所述存储卷的第一存储卷列表的第一指针;
向所述一致性组添加附加存储卷,而不删除所述一致性组中的所述第一快照集中的所述快照中的任何快照,所述附加存储卷的快照被存储在所述数据存储系统上的所述一致性组之外;以及
在已经向所述一致性组添加所述附加存储卷的情况下,仅允许与所述附加存储卷的所述快照有关的读取请求或删除请求由所述数据存储系统来采取行动。
14.根据权利要求13所述的系统,其中所述至少一个处理器还可操作以执行所述至少一个存储器中的所述指令以:
从所述一致性组中的所述存储卷中移除相应存储卷,而不删除所述一致性组中的所述第一快照集中的所述快照中的任何快照;以及
在已经从所述一致性组中的所述存储卷中移除所述相应存储卷的情况下,仅允许与所述相应存储卷的所述快照有关的读取请求由所述数据存储系统来采取行动。
15.根据权利要求13所述的系统,其中所述至少一个处理器还可操作以执行所述至少一个存储器中的所述指令以:
在所述数据存储系统上形成存储卷的第二一致性组,所述第二一致性组具有第二数据结构;
在第二PIT处创建所述第二一致性组中的所述存储卷的第二快照集;
为所述第二快照集中的每个快照生成第二快照元数据,所述第二快照元数据包括所述第二快照集的标识符和所述第二一致性组的标识符;以及
将包括快照集节点的第二快照集列表并入所述第二一致性组的所述第二数据结构中,所述快照集节点包括所述第二快照集的所述标识符和指向具有所述第二快照集中的相应快照的所述存储卷的第二存储卷列表的第二指针。
16.一种非暂态计算机可读介质,所述非暂态计算机可读介质存储一组指令以实现数据存储系统中的存储卷的一致性组的快照集,所述一组指令在由计算机化电路执行时使得所述计算机化电路执行以下方法:
在所述数据存储系统上形成存储卷的一致性组,所述一致性组具有数据结构;
在第一时间点PIT处创建所述一致性组中的所述存储卷的第一快照集;
为所述第一快照集中的每个快照生成第一快照元数据,所述第一快照元数据包括所述第一快照集的标识符和所述一致性组的标识符;
将包括第一快照集节点的快照集列表并入所述一致性组的所述数据结构中,所述第一快照集节点包括所述第一快照集的所述标识符和指向具有所述第一快照集中的相应快照的所述存储卷的第一存储卷列表的第一指针;
向所述一致性组添加附加存储卷,而不删除所述一致性组中的所述第一快照集中的所述快照中的任何快照,其中所述附加存储卷的快照被存储在所述数据存储系统上的所述一致性组之外;以及
在已经向所述一致性组添加所述附加存储卷的情况下,仅允许与所述附加存储卷的所述快照有关的读取请求或删除请求由所述数据存储系统来采取行动。
17.根据权利要求16所述的非暂态计算机可读介质,还包括:
从所述一致性组中的所述存储卷中移除相应存储卷,而不删除所述一致性组中的所述第一快照集中的所述快照中的任何快照;以及
在已经从所述一致性组中的所述存储卷中移除所述相应存储卷的情况下,仅允许与所述相应存储卷的所述快照有关的读取请求由所述数据存储系统来采取行动。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810390779.0A CN110413444B (zh) | 2018-04-27 | 2018-04-27 | 实现存储卷的一致性组的快照集 |
US15/991,262 US10838825B2 (en) | 2018-04-27 | 2018-05-29 | Implementing snapshot sets for consistency groups of storage volumes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810390779.0A CN110413444B (zh) | 2018-04-27 | 2018-04-27 | 实现存储卷的一致性组的快照集 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413444A CN110413444A (zh) | 2019-11-05 |
CN110413444B true CN110413444B (zh) | 2023-05-09 |
Family
ID=68291151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810390779.0A Active CN110413444B (zh) | 2018-04-27 | 2018-04-27 | 实现存储卷的一致性组的快照集 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10838825B2 (zh) |
CN (1) | CN110413444B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107870922B (zh) | 2016-09-23 | 2022-02-22 | 伊姆西Ip控股有限责任公司 | 一种用于数据去重的方法、设备和系统 |
US11010351B1 (en) * | 2018-10-31 | 2021-05-18 | EMC IP Holding Company LLC | File system replication between software defined network attached storage processes using file system snapshots |
US11789971B1 (en) * | 2019-12-02 | 2023-10-17 | Amazon Technologies, Inc. | Adding replicas to a multi-leader replica group for a data set |
US11055017B1 (en) * | 2020-01-27 | 2021-07-06 | International Business Machines Corporation | Throttling a point-in-time snapshot copy operation within a data consistency application |
US11762807B2 (en) * | 2021-01-21 | 2023-09-19 | Dell Products, L.P. | Method and apparatus for deterministically identifying sets of snapshots on a storage system |
CN115098297B (zh) * | 2022-06-20 | 2023-07-25 | 上海道客网络科技有限公司 | 一种云原生存储数据卷的一致性快照生成方法和系统 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6993539B2 (en) * | 2002-03-19 | 2006-01-31 | Network Appliance, Inc. | System and method for determining changes in two snapshots and for transmitting changes to destination snapshot |
US7672979B1 (en) * | 2005-04-22 | 2010-03-02 | Symantec Operating Corporation | Backup and restore techniques using inconsistent state indicators |
CN103559100B (zh) * | 2005-06-29 | 2016-12-28 | 伊姆西公司 | 利用服务器保存客户端数据的方法及服务器 |
US9218138B1 (en) | 2012-03-30 | 2015-12-22 | Emc Corporation | Restoring snapshots to consistency groups of mount points |
US9047169B1 (en) | 2012-03-30 | 2015-06-02 | Emc Corporation | Resizing snapshot mount points |
US8850145B1 (en) | 2012-03-30 | 2014-09-30 | Emc Corporation | Managing consistency groups in storage systems |
US9063892B1 (en) | 2012-03-31 | 2015-06-23 | Emc Corporation | Managing restore operations using data less writes |
US9075755B1 (en) | 2012-03-31 | 2015-07-07 | Emc Corporation | Optimizing data less writes for restore operations |
US20150032982A1 (en) * | 2013-07-26 | 2015-01-29 | Fusion-Io, Inc. | Systems and methods for storage consistency |
US20160042090A1 (en) * | 2014-08-06 | 2016-02-11 | Commvault Systems, Inc. | Preserving the integrity of a snapshot on a storage device via ephemeral write operations in an information management system |
US10025843B1 (en) | 2014-09-24 | 2018-07-17 | EMC IP Holding Company LLC | Adjusting consistency groups during asynchronous replication |
CN104360914B (zh) * | 2014-10-22 | 2017-10-13 | 浪潮(北京)电子信息产业有限公司 | 增量快照方法和装置 |
US10275317B2 (en) * | 2016-01-21 | 2019-04-30 | Druva Technologies Pte. Ltd. | Time-based data retirement for globally de-duplicated archival storage |
CN107179964A (zh) * | 2016-03-11 | 2017-09-19 | 中兴通讯股份有限公司 | 快照的读写方法及装置 |
CN106648993B (zh) * | 2016-12-30 | 2019-07-19 | 杭州宏杉科技股份有限公司 | 一致性组快照管理的方法及装置 |
US10416905B2 (en) * | 2017-02-09 | 2019-09-17 | Hewlett Packard Enterprise Development Lp | Modifying membership of replication groups via journal operations |
US10241869B2 (en) * | 2017-03-08 | 2019-03-26 | International Business Machines Corporation | Managing a deletion of a volume referenced by a snapshot of a consistency group |
CN107656992B (zh) * | 2017-09-14 | 2021-09-21 | 上海交通大学 | 面向多插入源的快照版本管理方法 |
-
2018
- 2018-04-27 CN CN201810390779.0A patent/CN110413444B/zh active Active
- 2018-05-29 US US15/991,262 patent/US10838825B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10838825B2 (en) | 2020-11-17 |
US20190332499A1 (en) | 2019-10-31 |
CN110413444A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413444B (zh) | 实现存储卷的一致性组的快照集 | |
US10698773B2 (en) | Replicating a source data set to a target data store | |
CN109313538B (zh) | 内联去重 | |
EP3062226B1 (en) | Data replication method and storage system | |
US8204858B2 (en) | Snapshot reset method and apparatus | |
US11080237B2 (en) | Stale data detection | |
JP2009505255A (ja) | ランダム・アクセス媒体内の記憶域プールにおいてアクティブ・ファイルを含む集合体を維持するための方法、システム、およびプログラム(ランダム・アクセス媒体内の記憶域プールにおけるアクティブ・ファイルを含む集合体の維持) | |
US11010082B2 (en) | Mechanisms for performing accurate space accounting for volume families | |
US10095585B1 (en) | Rebuilding data on flash memory in response to a storage device failure regardless of the type of storage device that fails | |
CN111164584B (zh) | 用于管理针对低延迟存储装置的分布式快照的方法及其设备 | |
US11151056B2 (en) | Efficient virtualization layer structure for a data storage system | |
JP2020506444A (ja) | 期限切れバックアップ処理方法及びバックアップサーバ | |
US11003554B2 (en) | RAID schema for providing metadata protection in a data storage system | |
CN111522514B (zh) | 集群文件系统、数据处理方法、计算机设备及存储介质 | |
US10732840B2 (en) | Efficient space accounting mechanisms for tracking unshared pages between a snapshot volume and its parent volume | |
KR101589122B1 (ko) | 네트워크 분산 파일 시스템 기반 iSCSI 스토리지 시스템에서의 장애 복구 방법 및 시스템 | |
US11327844B1 (en) | Automated cloud recovery to provide a full usable application image | |
US11194760B1 (en) | Fast object snapshot via background processing | |
US10846005B2 (en) | Method, apparatus and computer program product for determining ownership of a data segment | |
CN111338845B (zh) | 一种细粒度的本地数据保护方法 | |
WO2015020636A1 (en) | Method and apparatus of storage system which stores information for relationship between logical volumes and operations |
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 |