CN111164584B - 用于管理针对低延迟存储装置的分布式快照的方法及其设备 - Google Patents
用于管理针对低延迟存储装置的分布式快照的方法及其设备 Download PDFInfo
- Publication number
- CN111164584B CN111164584B CN201880062419.6A CN201880062419A CN111164584B CN 111164584 B CN111164584 B CN 111164584B CN 201880062419 A CN201880062419 A CN 201880062419A CN 111164584 B CN111164584 B CN 111164584B
- Authority
- CN
- China
- Prior art keywords
- storage
- ssd
- snapshot
- computing device
- data
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 101
- 238000000034 method Methods 0.000 title claims abstract description 30
- 239000007787 solid Substances 0.000 claims abstract description 3
- 238000013500 data storage Methods 0.000 claims description 29
- 230000015654 memory Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims 2
- 238000013403 standard screening design Methods 0.000 claims 2
- 239000004744 fabric Substances 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013523 data management Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0647—Migration 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/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/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- 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
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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
管理针对低延迟存储装置的分布式快照的方法、非瞬态计算机可读介质和计算设备包括:从一个或多个固态设备(SSD)获取一个或多个快照,其中所获取的一个或多个快照被存储在一个或多个SSD的快照分配容量中。使用所获取的一个或多个快照来发起从主要存储装置到次级存储装置的数据传输操作。确定所发起的数据传输操作是否被完成,以及当确定其被完成时,删除被存储在一个或多个SSD的快照分配容量中的所获取的一个或多个快照。
Description
相关申请的交叉引用
本申请要求2017年7月26日提交的美国专利申请序列号15/659,886的优先权,其全部内容通过引用并入于此。
技术领域
本技术涉及管理针对低延迟存储装置的分布式快照。
背景技术
随着高性能存储类存储器SSD变得可用,由于与管理快照相关联的开销量,以所要求的延迟级别提供具有高级别数据管理(特别是快照)的高级别存储功能变得越来越困难。在现有技术中,针对系统的典型开销部署高级数据管理特征,诸如10-100微秒范围内的快照。但是,将这些延迟添加到低延迟SSD会显著降低存储系统的性能。
附图说明
图1是具有示例性数据存储装置的网络环境的框图,每个数据存储装置包括节点计算设备;
图2是图1中所示的节点计算设备中的一个示例性节点计算设备的框图;
图3是用于管理针对低延迟存储装置的分布式快照的示例性方法的流程图;以及
图4是SSD的逻辑视图的示例性框图。
具体实施方式
图1中示出了可以实现本文所示出和描述的技术的一个或多个方面的集群网络环境100。集群网络环境100包括在集群构造104上耦合的数据存储装置102(1)-102(n),集群构造104有利于数据存储装置102(1)-102(n)(以及其中的一个或多个模块、组件等,例如诸如节点计算设备106(1)-106(n))之间的通信,但是在其他示例中,任何数目的其他元件或组件也可以被包括在集群网络环境100中。该技术提供许多优势,包括允许管理针对低延迟存储装置的分布式快照的方法、非瞬态计算机可读介质和设备。
在此示例中,节点计算设备106(1)-106(n)可以是主要或本地存储控制器、或次级或远程存储控制器,其向客户端设备108(1)-108(n)提供对被存储在数据存储设备110(1)-110(n)内的数据的访问。本文描述和图示的示例的数据存储装置102(1)-102(n)和/或节点计算设备106(1)-106(n)不限于任何特定的地理区,并且可以本地地和/或远程地被集群。因此,在一个示例中,数据存储装置102(1)-102(n)和/或节点计算设备106(1)-106(n)可以被分布在位于多个地理位置的多个存储系统上;而在另一示例中,集群网络可以包括驻留于相同地理位置(例如,在单个现场机架中)的数据存储装置102(1)-102(n)和/或节点计算设备106(1)-106(n)。
在所图示的示例中,客户端设备108(1)-108(n)中的一个或多个可以是例如个人计算机(PC)、用于存储的计算设备(例如,存储服务器)以及其他计算机或外围设备,其通过存储网络连接112(1)-112(n)被耦合到各个数据存储装置102(1)-102(n)。网络连接112(1)-112(n)可以包括例如局域网(LAN)或广域网(WAN),其利用网络附接存储(NAS)协议诸如用以交换数据分组的公共互联网文件系统(CIFS)协议或网络文件系统(NFS)协议、存储区域网络(SAN)协议,诸如小型计算机系统接口(SCSI)或光纤通道协议(FCP)、对象协议诸如S3等等。
图示地,客户端设备108(1)-108(n)可以是运行应用的通用计算机,并且可以使用用于信息交换的客户端/服务器模型来与数据存储装置102(1)-102(n)交互。即,客户端设备108(1)-108(n)可以请求来自数据存储装置102(1)-102(n)的数据(例如,由被配置为处理客户端设备108(1)-108(n)发布的I/O命令的网络存储控件所管理的数据存储设备110(1)-110(n)之一上的数据),并且数据存储装置102(1)-102(n)可以经由存储网络连接112(1)-112(n)向客户端设备108(1)-108(n)返回请求的结果。
例如,数据存储装置102(1)-102(n)的节点计算设备106(1)-106(n)可以包括被互连为集群的主机节点或网络,以向具有远程位置、云存储(例如,存储端点可以被存储在数据云内)等的企业提供数据存储和管理服务。这样的节点计算设备106(1)-106(n)可以是例如作为连接点、重新分配点或通信端点而被附接到构造104的设备。节点计算设备106(1)-106(n)中的一个或多个可以能够通过网络通信信道来发送、接收和/或转发信息,并且可以包括满足这些准则中的任何准则或全部准则的任何类型的设备。
在示例中,节点计算设备106(1)可以位于第一存储站上,并且节点计算设备106(n)可以位于第二存储站处。可以根据灾难恢复配置来配置节点计算设备106(1)和106(n),从而在灾难存储站处发生灾难的情况下,幸存节点向存储设备110(1)-110(n)提供切换访问(例如,在第二存储站处发生灾难的情况下,节点计算设备106(1)向客户端设备112(n)提供对存储设备110(n)的切换数据访问)。在其他示例中,可以根据归档配置来配置节点计算设备106(n),和/或可以基于另一类型的复制布置来配置节点计算设备106(1)-106(n)(例如,以有利于负载共享)。另外,尽管在图1中图示了两个节点计算设备,但是在其他示例中,可以以其他类型的配置或布置来包括任何数目的节点计算设备或数据存储装置。
如集群网络环境100中所图示的,节点计算设备106(1)-106(n)可以包括各种功能组件,这些功能组件协作以提供分布式存储架构。例如,节点计算设备106(1)-106(n)可以包括网络模块114(1)-114(n)和磁盘模块116(1)-116(n)。网络模块114(1)-114(n)可以被配置为允许节点计算设备106(1)-106(n)(例如,网络存储控制器)通过存储网络连接112(1)-112(n)来与客户端设备108(1)-108(n)连接,例如允许客户端设备108(1)-108(n)访问集群网络环境100中存储的数据。
此外,网络模块114(1)-114(n)可以通过集群构造104来提供与一个或多个其他组件的连接。例如,节点计算设备106(1)的网络模块114(1)可以通过经由集群构造104、通过节点计算设备106(n)的磁盘模块116(n)发送请求来访问数据存储设备110(n)。集群构造104可以包括例如被体现为Infiniband、光纤信道(FC)或以太网的一个或多个局域和/或广域计算网络,但是也可以使用支持其他协议的其他类型的网络。
磁盘模块116(1)-116(n)可以被配置为将诸如磁盘或磁盘阵列、SSD、闪存或一些其他形式的数据存储装置之类的数据存储设备110(1)-110(2)连接到节点计算设备106(1)-106(n)。通常,磁盘模块116(1)-116(n)根据诸如SCSI、FCP、SAS、NVMe、NVMe-oF之类的SAN协议来与数据存储设备110(1)-110(n)通信,但是也可以使用其他协议。因此,如从节点计算设备106(1)-106(n)上的操作系统所见,数据存储设备110(1)-110(n)可以显得像是本地附接的。以这种方式,不同的节点计算设备106(1)-106(n)等可以通过操作系统访问数据块,而不是明确地请求抽象文件。
尽管集群网络环境100图示了相等数目的网络模块114(1)-114(2)和磁盘模块116(1)-116(n),但是其他示例可以包括不同数目的这些模块。例如,在集群中可以存在多个互连的网络和磁盘模块,它们在网络和磁盘模块之间没有一一对应性。即,不同的节点计算设备可以具有不同数目的网络和磁盘模块,并且相同节点计算设备可以具有与磁盘模块不同数目的网络模块。
此外,通过存储连接112(1)-112(n),客户端设备108(1)-108(n)和服务器设备109(1)-109(n)中的一个或多个可以与集群中的节点计算设备106(1)-106(n)联网。作为示例,联网到集群的相应客户端设备108(1)-108(n)可以请求集群中的节点计算设备106(1)-106(n)的服务(例如,以数据分组的形式交换信息),并且节点计算设备106(1)-106(n)可以将被请求的服务的结果返回给客户端设备108(1)-108(n)。在一个示例中,客户端设备108(1)-108(n)可以与驻留于数据存储装置102(1)-102(n)中的节点计算设备106(1)-106(n)(例如,网络主机)中的网络模块114(1)-114(n)交换信息。
在一个示例中,例如,存储装置102(1)-102(n)托管与物理本地和远程数据存储设备相对应的聚合,诸如数据存储设备110(1)-110(n)中的本地闪存或磁盘存储装置。数据存储设备110(1)-110(n)中的一个或多个可以包括大容量存储设备,诸如磁盘阵列的磁盘。磁盘可以包括任何类型的大容量存储设备,包括但不限于磁盘驱动、闪存、SSD、存储类存储器以及适用于存储包括例如数据(D)和/或奇偶(P)信息在内的信息的任何其他类似介质。
在该示例中,聚合包括卷118(1)-118(n),但是在聚合中可以包括任何数目的卷。卷118(1)-118(n)是虚拟数据存储库,其限定了集群网络环境100内的一个或多个文件系统和存储装置的布置。卷118(1)-118(n)例如可以跨越磁盘或其他存储设备的一部分、磁盘的集合、或各磁盘的各部分,并且通常限定文件存储装置的整体逻辑布置。在一个示例中,卷118(1)-118(n)可以包括作为驻留在卷118(1)-118(n)内的层次目录结构中的一个或多个文件或对象的存储数据。通常以可以与特定存储系统相关联的格式来配置卷118(1)-118(n),并且相应卷格式通常包括向卷118(1)-118(n)提供功能性的特征,诸如为卷118(1)-118(n)提供形成集群的能力。
在一个示例中,为了有利于对被存储在数据存储设备110(1)-110(n)的磁盘或其他结构上的数据的访问,可以实现在逻辑上将信息组织为文件和目录的层次结构的文件系统(例如,随处写入文件系统)。在该示例中,相应文件可以被实现为被配置为存储信息的一组磁盘块,而目录可以被实现为特殊格式的文件,其中存储了关于其他文件和目录的信息。
数据可以被存储为物理卷和/或虚拟卷内的文件或对象,其可以与诸如文件系统标识符(FSID)之类的各个卷标识符相关联。物理卷对应于物理存储设备的至少一部分,诸如其地址、可寻址空间、位置等不会改变的数据存储设备110(1)-110(n)(例如,独立(或廉价)磁盘的冗余阵列(RAID系统))。通常,物理卷的位置不会改变,因为用来访问物理卷的(多个)地址(范围)通常保持不变。
相反,虚拟卷被存储在不同物理存储设备的相异部分的聚合上。例如,虚拟卷可以是不同物理存储设备位置的不同可用部分的集合,诸如磁盘中的某些可用空间。将理解,由于虚拟卷未被“捆绑”到任何一个特定存储设备,因此虚拟卷可以被认为包括抽象或虚拟化层,这允许它们在一些方面可调整大小和/或是灵活的。
此外,虚拟卷可以包括一个或多个逻辑单元号(LUN)、目录、Qtree和/或文件。其中例如这些特征,但特别是LUNS,允许其中存储数据的不同存储器位置被标识,并且被分组为数据存储单元。如此,LUN可以被表征为构成虚拟磁盘或驱动,在该虚拟磁盘或驱动上,虚拟卷内的数据被存储在聚合内。例如,LUN通常被称为虚拟磁盘,使得它们模拟硬盘驱动,而它们实际上包括被存储在卷的各个部分中的数据块。
在一个示例中,数据存储设备110(1)-110(n)可以具有一个或多个物理端口,其中每个物理端口可以被指派目标地址(例如,SCSI目标地址)。为了表示各个卷,数据存储设备110(1)-110(n)上的目标地址可以被用来标识一个或多个LUN。因此,例如,当节点计算设备106(1)-106(n)之一连接到卷时,节点计算设备106(1)-106(n)之一和卷底层的一个或多个LUN之间的连接被创建。
在一个示例中,各个目标地址可以标识多个LUN,使得目标地址可以表示多个卷。I/O接口可以被实现为存储适配器中的电路和/或软件,或者被实现为驻留在存储器中并由处理器执行的可执行代码,该I/O接口例如可以通过使用标识一个或多个LUN的一个或多个地址而连接到卷。
参考图2,该特定示例中的节点计算设备106(1)包括通过系统总线210互连的(多个)处理器200、存储器202、网络适配器204、集群访问适配器206和存储适配器208。节点计算设备106还包括被安装在存储器206中的存储操作系统212,其可以例如实现独立(或廉价)磁盘冗余阵列(RAID)数据丢失保护和恢复方案,以优化阵列中的故障磁盘或驱动的数据的重建过程。在一些示例中,节点计算设备106(n)在结构和/或操作上与节点计算设备106(1)基本相同,但是在其他示例中,节点计算设备106(n)可以在一个或多个方面包括与节点计算设备106(1)不同的结构和/或操作。
存储操作系统212还可以管理节点计算设备106(1)在可能位于集群网络中的其他设备之间的通信,诸如附接到集群构造104的其他设备。因此,节点计算设备106(1)可以响应客户端设备请求以根据客户端设备请求来管理数据存储设备110(1)-110(n)(例如,或附加集群设备)之一上的数据。
例如,存储操作系统212还可以建立包括软件代码和数据结构的一个或多个文件系统,该数据结构实现文件和目录的持久层次命名空间。作为示例,当新的数据存储设备(未示出)被添加到集群网络系统时,存储操作系统212被通知在现有目录树中与该新的数据存储设备相关联的新文件将被存储在何处。这通常被称为“挂载”文件系统。
在示例节点计算设备106(1)中,存储器202可以包括由(多个)处理器200和适配器204、206和208可寻址的存储位置,以用于存储相关的软件应用代码和数据结构。(多个)处理器200和适配器204、206和208可以例如包括被配置为执行软件代码并操纵数据结构的处理元件和/或逻辑电路。
存储操作系统212调用存储操作以支持由节点计算设备106(1)实现的文件服务,该存储操作系统212的各部分通常驻留在存储器202中并由(多个)处理器200执行。包括各种计算机可读介质的其他处理和存储器机制可以被用于存储和/或执行与本文所描述和图示的技术有关的应用指令。例如,存储操作系统212还可以利用一个或多个控制文件(未示出)来帮助供应虚拟机。
因此,示例可以被体现为一个或多个非瞬态计算机可读介质,其上存储有用于本技术的一个或多个方面的机器或处理器可执行的指令,如通过本文的示例所描述和图示的,当由(多个)处理器200执行时,该指令使(多个)处理器200执行实现该技术的方法所必需的步骤,如通过本文的示例所描述和图示的。在一些示例中,例如,可执行指令被配置为执行方法的一个或多个步骤,诸如稍后参考图3描述和图示的示例性方法中的一个或多个示例性方法。
在该示例中,网络适配器204包括通过存储网络连接112(1)-112(n)将节点计算设备106(1)连接到一个或多个客户端设备108(1)-108(n)所需的机械、电气和信令电路,其可以包括诸如局域网的点对点连接或共享介质等。在一些示例中,网络适配器204还(例如,使用TCP/IP)经由构造104和/或另一网络(例如,WAN)(未示出)与云存储设备通信,以处理与被存储在其上的数据相关联的存储操作。
存储适配器208与在节点计算设备106(1)上执行的存储操作系统212协作,以访问由客户端设备108(1)-108(n)之一所请求的信息(例如,以访问由网络存储控制器管理的数据存储设备110(1)-110(n)上的数据)。信息可以被存储在任何类型的可写入介质的附接阵列上,诸如磁盘驱动、SSD和/或任何其他适合存储信息的类似介质。
在示例性数据存储设备110(1)-110(n)中,信息可以被存储在磁盘上的数据块中。存储适配器208可以包括输入/输出(I/O)接口电路,其通过诸如存储区域网络(SAN)协议(例如,小型计算机系统接口(SCSI)、iSCSI、超SCSI、光纤信道协议(FCP))之类的I/O互连布置而耦合到磁盘。信息由存储适配器208取回并且在必要时由(多个)处理器200(或存储适配器208本身)处理,在此之后通过系统总线210被转发到网络适配器204(和/或如果发送到集群中的另一节点计算设备,则被转发到集群访问适配器206),其中信息被格式化为数据分组并被返回给客户端设备108(1)-108(2)中的请求客户端设备和/或被发送给经由集群构造104附接的另一节点计算设备。在一些示例中,存储器202中的存储驱动器214与存储适配器进行接口,以有利于与数据存储设备110(1)-110(n)的交互,如稍后参考图3更详细地描述和图示的那样。
参考图3-图4,现在将描述用于管理针对低延迟存储装置的分布式快照的示例性方法。在该示例中,在步骤305中,节点计算设备106(1)接收用以创建主要存储装置和次级存储装置的快照的请求,其中主要存储装置和次级存储装置分别包括主要固态设备和次级固态设备(SSD),但是节点计算设备106(1)可以接收其他类型或数目的请求。在此示例中,在确定需要时间点快照图像以允许从主要存储装置到次级存储装置进行完整数据或增量更新时,节点计算设备106(1)接收创建快照的请求,但是可以在其他实例处接收对快照的请求。备选地,节点计算设备106(1)可以确定何时是将数据移动到存储层次结构中的另一层的时间或者是有利的时间,并且可以自动生成对快照的请求。
接下来在步骤310中,节点计算设备106(1)静止需要在主要存储装置和次级存储装置上创建快照的关联逻辑卷。在此示例中,静止与以下有关:对所有新的输入/输出请求进行排队,以及允许针对所有涉及的SSD的所有关联的LBA扩展盘区完成所有未决输入/输出请求,但是静止可以包括创建快照所需的其他类型的操作。
在步骤315中,节点计算设备106(1)向与指定的聚合器或卷所涉及的、主要存储装置和次级存储装置中存在的所有SSD发布创建快照的命令,但是节点计算设备106(1)可以向主要存储装置和次级存储装置中的其他类型存储设备发布创建快照的请求。在该示例中,用于创建快照的命令包括用来访问每个SSD上的快照实体的寻址技术,但是该请求可以包括其他类型或数量的信息以帮助SSD创建快照。此外,在此示例中,作为对请求的响应,SSD使用闪存转换层(FTL)创建快照分配容量并在该区域中保持旧数据,但是可以在快照分配容量中存储或缓存其他类型或数量的数据。在该示例中,如图4中所图示的快照分配容量是虚拟区域,但是在其他示例中,快照分配容量可以是物理分区。SSD闪存转换层(FTL)通过呈现已写入的LBA扩展盘区以及尚未被写入的LBA扩展盘区,来向主机呈现主要LUN。此外,SSD FTL利用SSD的逻辑分区中的过度供应的容量和未使用的容量,以在需要对SSD进行写入和数据擦除时高效地管理闪存介质。此外,SSD FTL还向主机呈现第二快照LUN,其向主机提供在要创建快照时所反映的数据。一旦快照分配容量被创建,每个SSD就创建快照并将快照存储在所创建的快照分配容量空间中,但是快照也可以被存储在其他存储器位置处。
接下来在步骤320中,节点计算设备106(1)获得由每个SSD提供的针对新快照卷的访问点,但是节点计算设备106(1)可以使用其他技术来访问快照。
在步骤325中,节点计算设备106(1)通过释放在步骤310中保持的输入/输出队列来执行静止释放操作。在此示例中,通过释放输入/输出队列,所有新输入/输出操作可以恢复主要存储装置和次级存储装置上的操作。
接下来在步骤330中,节点计算设备106(1)利用从SSD访问的快照来执行从主要存储装置到次级存储装置的完全备份或增量备份,但是节点计算设备106(1)在执行数据备份时可以使用其他类型或数量的信息。在该示例中,节点计算设备106(1)将数据从由主要存储装置呈现的快照LUN移动到由次级存储装置卷提供的次级存储装置上的原始LUN。通过从主要存储卷上的快照LUN读取一些适当数目的LBA扩展盘区并将这些相同的LBA扩展盘区写入次级存储装置卷上的原始LUN,可以完成此数据移动,但是也可以使用其他技术来完成从主要存储装置到次级存储装置的数据备份。另外,在此示例中,已完成对次级存储装置上的原始LUN的写入,以允许次级存储装置在更新期间继续访问原始LUN。在此示例中,快照由本地应用按需访问,并且正被复制或更新的数据被写入原始远程卷。一旦通过备份操作更新了原始LUN,次级存储装置通常将删除快照LUN,并访问现在经更新的原始LUN。另外,在此示例中,使用常规FTL功能通过来自图4中所图示的已利用的容量区域的原始LUN的元数据来执行对原始LUN的所有LBA读取。关于对原始LUN的写入,对于尚未被写入的扩展盘区,SSD的FTL从未使用的容量或过度供应的容量区域分配数据,并将新的数据写入此分配容量。原始LUN的元数据由SSD的FTL更新,以在原始LUN的元数据中反映此新的LBA扩展盘区。此外,SSD的FTL更新了反映先前的LBA扩展盘区的快照LUN的元数据。现在,关于先前已被写入并且位于图4中所图示的已利用的容量区域中的LBA扩展盘区,只需按常规FTL功能为原始LUN进行更新并且不会影响快照LUN。
关于快照LUN,使用以下技术提供对快照LUN的读取:从已利用的容量区域读取自从快照被创建的时间点(PIT)以来尚未被写入的与原始LUN相关联的LBA扩展盘区。从快照分配容量区域读取自从PIT快照被创建以来已被写入的LBA扩展盘区。关于对尚未被写入的扩展盘区、快照LUN的写入:SSD的FTL从未使用的或过度供应的容量区域分配数据,并将新的数据写入此分配容量。在此示例中,新数据与快照分配容量区域相关联或者是快照分配容量区域的一部分。快照LUN的元数据由SSD的FTL更新,以在快照LUN的元数据中反映此新的LBA扩展盘区。此外,先前已被写入原始LUN的LBA扩展盘区指示快照LUN的LBA扩展盘区已存在于快照分配容量中,并且按照对图4中所图示的快照分配容量区域内的快照LUN的元数据进行操作的常规FTL功能而被更新。
在步骤335中,节点计算设备106(1)确定何时完成数据备份。在此示例中,当完整数据或增量数据已从主要存储装置完全传输到次级存储装置时,数据备份完成。因此,当节点计算设备106(1)确定数据备份未完成时,将“否”分支带回到步骤330。然而,当节点计算设备106(1)确定数据备份已完成时,则将“是”分支带到步骤340。
在步骤340中,节点计算设备106(1)删除被存储在SSD的快照分配容量中的快照,以使SSD中的快照分配容量空闲,并且示例性方法在步骤345中结束。利用该技术,通过使用低延迟SSD可以加速常规快照处理。
因此已经描述了该技术的基本概念,对于本领域技术人员而言显而易见的是,前述详细公开内容仅旨在通过示例的方式来呈现,而不是限制性的。尽管本文没有明确说明,但是将发生各种改变、改进和修改,并且它们是本领域技术人员所期望的。这些改变、改进和修改旨在由此被提出,并且在本技术的精神和范围内。另外,所陈述的处理元件或序列的顺序、或者因此的数字、字母或其他名称的使用并不旨在将所要求保护的过程限制为任何顺序,除非可以在权利要求中指定。因此,该技术仅由所附权利要求及其等同物来限制。
Claims (7)
1.一种方法,包括:
由计算设备允许一个或多个未决输入/输出请求被完成,并且响应于创建主要存储装置上的逻辑卷的快照的接收到的请求,由所述计算设备静止与所述逻辑卷相关联的一个或多个新的输入/输出请求;
由所述计算设备向第一固态设备SSD发起第一命令并且向第二SSD发起第二命令,其中所述第一SSD和所述第二SSD分别包括用于所述主要存储装置和次级存储装置的数据存储层;
由所述计算设备访问由所述第一SSD基于第一逻辑单元号LUN而创建的快照,所述第一LUN被指派给所述快照并且由所述第一SSD响应于所述第一命令而返回,其中所述快照被存储在所述第一SSD的分配虚拟区域中;
由所述计算设备发起从所述主要存储装置到所述次级存储装置的数据传输操作,其中所述数据传输操作通过从所述第一LUN读取一个或多个逻辑块地址LBA扩展盘区并将所述LBA扩展盘区写入第二LUN,来将数据从所述第一LUN移动到所述第二LUN,其中所述第二LUN由所述第二SSD响应于所述第二命令而返回;以及
当确定指示所述数据传输操作已完成时,由所述计算设备从所述第一SSD中删除所述快照。
2.根据权利要求1所述的方法,其中所述数据传输操作针对所述逻辑卷而被发起,并且所述逻辑卷跨越包括所述第一SSD的多个SSD。
3.根据权利要求1所述的方法,还包括:当所述数据传输操作已完成时,由所述计算设备释放对所述新的输入/输出操作的所述静止,其中所述静止在创建所述快照之前被发起。
4.根据权利要求2所述的方法,其中所述快照由所述多个SSD中的每个SSD在时间点处捕获。
5.根据权利要求1所述的方法,还包括:由所述计算设备向所述第一SSD的过度供应区域的分配容量写入与接收写入请求相关联的数据,其中所述分配虚拟区域被更新以包括所述分配容量。
6.一种非瞬态机器可读介质,具有存储于其上的用于管理针对低延迟存储装置的分布式快照的指令,所述指令包括机器可执行代码,所述机器可执行代码在由至少一个机器执行时,使所述机器执行根据权利要求1至5中任一项所述的方法。
7.一种计算设备,包括:
存储器,包含机器可读介质,所述机器可读介质包括机器可执行代码,所述机器可执行代码具有存储于其上的用于管理针对低延迟存储装置的分布式快照的指令;以及
处理器,被耦合到所述存储器,所述处理器被配置为执行所述机器可执行代码以使所述处理器执行根据权利要求1至5中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/659,886 | 2017-07-26 | ||
US15/659,886 US10620843B2 (en) | 2017-07-26 | 2017-07-26 | Methods for managing distributed snapshot for low latency storage and devices thereof |
PCT/US2018/029743 WO2019022806A1 (en) | 2017-07-26 | 2018-04-27 | METHODS FOR MANAGING DISTRIBUTED SNAPSHOT FOR LOW-LATENCY MEMORY AND RELATED DEVICES |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111164584A CN111164584A (zh) | 2020-05-15 |
CN111164584B true CN111164584B (zh) | 2022-02-18 |
Family
ID=62486624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880062419.6A Active CN111164584B (zh) | 2017-07-26 | 2018-04-27 | 用于管理针对低延迟存储装置的分布式快照的方法及其设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10620843B2 (zh) |
EP (1) | EP3659045A1 (zh) |
CN (1) | CN111164584B (zh) |
WO (1) | WO2019022806A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407040B (zh) | 2016-09-05 | 2019-05-24 | 华为技术有限公司 | 一种远程数据复制方法及系统 |
US10798140B1 (en) | 2018-07-16 | 2020-10-06 | Amazon Technologies, Inc. | Stream data record reads using push-mode persistent connections |
US10768830B1 (en) * | 2018-07-16 | 2020-09-08 | Amazon Technologies, Inc. | Streaming data service with isolated read channels |
US10855754B1 (en) | 2018-07-16 | 2020-12-01 | Amazon Technologies, Inc. | Isolated read channel categories at streaming data service |
US11755416B2 (en) * | 2020-01-14 | 2023-09-12 | Druva Inc. | Storage tiering for backup data |
US11714782B2 (en) * | 2021-03-30 | 2023-08-01 | Netapp, Inc. | Coordinating snapshot operations across multiple file systems |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101223498A (zh) * | 2005-07-15 | 2008-07-16 | 国际商业机器公司 | 用于管理数据存储的方法、系统和计算机程序产品以及虚拟化引擎 |
US9317375B1 (en) * | 2012-03-30 | 2016-04-19 | Lenovoemc Limited | Managing cache backup and restore for continuous data replication and protection |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356574B2 (en) * | 2003-02-25 | 2008-04-08 | Hewlett-Packard Development Company, L.P. | Apparatus and method for providing dynamic and automated assignment of data logical unit numbers |
US8166128B1 (en) | 2003-02-28 | 2012-04-24 | Oracle America, Inc. | Systems and methods for dynamically updating a virtual volume in a storage virtualization environment |
US7383463B2 (en) * | 2004-02-04 | 2008-06-03 | Emc Corporation | Internet protocol based disaster recovery of a server |
US20110087792A2 (en) * | 2006-02-07 | 2011-04-14 | Dot Hill Systems Corporation | Data replication method and apparatus |
US7979735B2 (en) * | 2008-08-15 | 2011-07-12 | International Business Machines Corporation | Data storage with snapshot-to-snapshot recovery |
US8250035B1 (en) * | 2008-09-30 | 2012-08-21 | Emc Corporation | Methods and apparatus for creating a branch file in a file system |
JP5234348B2 (ja) * | 2008-11-21 | 2013-07-10 | 株式会社日立製作所 | オンラインボリュームと性能/障害独立かつ容量効率の高いスナップショットを実現するストレージシステム及び方法 |
US8200922B2 (en) * | 2008-12-17 | 2012-06-12 | Netapp, Inc. | Storage system snapshot assisted by SSD technology |
US9122582B2 (en) * | 2012-06-12 | 2015-09-01 | International Business Machines Corporation | File system for maintaining data versions in solid state memory |
US9146877B2 (en) * | 2012-11-29 | 2015-09-29 | Infinidat Ltd. | Storage system capable of managing a plurality of snapshot families and method of snapshot family based read |
US9646067B2 (en) * | 2013-05-14 | 2017-05-09 | Actifio, Inc. | Garbage collection predictions |
US9116846B2 (en) * | 2013-06-10 | 2015-08-25 | Veeam Software Ag | Virtual machine backup from storage snapshot |
US9519439B2 (en) * | 2013-08-28 | 2016-12-13 | Dell International L.L.C. | On-demand snapshot and prune in a data storage system |
US9535799B2 (en) * | 2015-01-06 | 2017-01-03 | HGST Netherlands B.V. | Apparatus, systems, and methods for data recovery |
US9912748B2 (en) * | 2015-01-12 | 2018-03-06 | Strato Scale Ltd. | Synchronization of snapshots in a distributed storage system |
US10013177B2 (en) * | 2015-04-20 | 2018-07-03 | Hewlett Packard Enterprise Development Lp | Low write amplification in solid state drive |
US9772794B2 (en) * | 2015-06-05 | 2017-09-26 | University Of Florida Research Foundation, Incorporated | Method and apparatus for big data cloud storage resource management |
US10769024B2 (en) | 2015-07-31 | 2020-09-08 | Netapp Inc. | Incremental transfer with unused data block reclamation |
CN106557274A (zh) * | 2015-09-30 | 2017-04-05 | 中兴通讯股份有限公司 | 虚拟快照处理方法及装置 |
US9954946B2 (en) * | 2015-11-24 | 2018-04-24 | Netapp, Inc. | Directory level incremental replication |
US10019502B2 (en) | 2015-11-27 | 2018-07-10 | Netapp Inc. | Non-disruptive baseline and resynchronization of a synchronous replication relationship |
US10949309B2 (en) | 2015-12-28 | 2021-03-16 | Netapp Inc. | Snapshot creation with synchronous replication |
US10489518B1 (en) * | 2016-03-03 | 2019-11-26 | Nutanix, Inc. | Virtual machine object version control |
US10802927B2 (en) * | 2016-11-17 | 2020-10-13 | Vmware, Inc. | System and method for checking and characterizing snapshot metadata using snapshot metadata database |
-
2017
- 2017-07-26 US US15/659,886 patent/US10620843B2/en active Active
-
2018
- 2018-04-27 CN CN201880062419.6A patent/CN111164584B/zh active Active
- 2018-04-27 EP EP18728471.6A patent/EP3659045A1/en active Pending
- 2018-04-27 WO PCT/US2018/029743 patent/WO2019022806A1/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101223498A (zh) * | 2005-07-15 | 2008-07-16 | 国际商业机器公司 | 用于管理数据存储的方法、系统和计算机程序产品以及虚拟化引擎 |
US9317375B1 (en) * | 2012-03-30 | 2016-04-19 | Lenovoemc Limited | Managing cache backup and restore for continuous data replication and protection |
Also Published As
Publication number | Publication date |
---|---|
WO2019022806A1 (en) | 2019-01-31 |
CN111164584A (zh) | 2020-05-15 |
US10620843B2 (en) | 2020-04-14 |
EP3659045A1 (en) | 2020-06-03 |
US20190034092A1 (en) | 2019-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111164584B (zh) | 用于管理针对低延迟存储装置的分布式快照的方法及其设备 | |
US10146436B1 (en) | Efficiently storing low priority data in high priority storage devices | |
US8010485B1 (en) | Background movement of data between nodes in a storage cluster | |
US7975115B2 (en) | Method and apparatus for separating snapshot preserved and write data | |
US8204858B2 (en) | Snapshot reset method and apparatus | |
US7778960B1 (en) | Background movement of data between nodes in a storage cluster | |
CN109313538B (zh) | 内联去重 | |
EP4139803B1 (en) | Methods for handling input-output operations in zoned storage systems and devices thereof | |
EP4139802B1 (en) | Methods for managing input-ouput operations in zone translation layer architecture and devices thereof | |
US10031682B1 (en) | Methods for improved data store migrations and devices thereof | |
US11966611B2 (en) | Methods for handling storage devices with different zone sizes and devices thereof | |
US11269539B2 (en) | Methods for managing deletion of data objects by utilizing cold storage and devices thereof | |
US11513900B2 (en) | Remote replication of snapshots taken while replication was inactive | |
US10684918B2 (en) | Granular dump backup restart | |
US11481335B2 (en) | Methods for using extended physical region page lists to improve performance for solid-state drives and devices thereof | |
US11709614B2 (en) | Reducing write delays while taking snapshots | |
US12008018B2 (en) | Synchronous remote replication of snapshots | |
US11899534B2 (en) | Techniques for providing direct host-based access to backup data using a proxy file system | |
US11755230B2 (en) | Asynchronous remote replication of snapshots |
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 |