CN109725831A - 管理存储系统的方法、系统和计算机程序产品 - Google Patents

管理存储系统的方法、系统和计算机程序产品 Download PDF

Info

Publication number
CN109725831A
CN109725831A CN201711027432.1A CN201711027432A CN109725831A CN 109725831 A CN109725831 A CN 109725831A CN 201711027432 A CN201711027432 A CN 201711027432A CN 109725831 A CN109725831 A CN 109725831A
Authority
CN
China
Prior art keywords
band
type
storage system
metadata
block
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
CN201711027432.1A
Other languages
English (en)
Other versions
CN109725831B (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 CN201711027432.1A priority Critical patent/CN109725831B/zh
Priority to US16/170,143 priority patent/US10824361B2/en
Publication of CN109725831A publication Critical patent/CN109725831A/zh
Application granted granted Critical
Publication of CN109725831B publication Critical patent/CN109725831B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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
    • G06F11/1084Degraded mode, e.g. caused by single or multiple storage removals or disk failures
    • 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
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk 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)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开内容的实现涉及管理存储系统的方法、系统和计算机程序产品。具体地,在本公开内容的一个实现方式中,提供了一种用于管理存储系统的方法,存储系统包括至少一个条带,至少一个条带中的条带包括多个区块,多个区块中的相应区块来自资源池中的相应存储设备。该方法包括:响应于接收到将存储系统从第一类型转换至第二类型的转换请求,确定资源池中的与转换请求相关联的目标存储设备;针对至少一个条带中的条带,更新与条带相关联的元数据以从条带中移除位于目标存储设备的区块;以及基于更新的元数据,将存储系统从第一类型转换至第二类型。在本公开内容的其他实现中,提供了相应系统和计算机程序产品。

Description

管理存储系统的方法、系统和计算机程序产品
技术领域
本公开内容的各实现方式涉及存储管理,更具体地,涉及用于管理存储系统(例如,独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)的方法、系统和计算机程序产品。
背景技术
随着数据存储技术的发展,各种数据存储设备已经能够向用户提供越来越高的数据存储能力,并且数据访问速度也有了很大程度的提高。在提高数据存储能力的同时,用户对于数据可靠性和存储系统的响应时间也提出了越来越高的需求。目前,已经开发出了基于冗余磁盘阵列的多种数据存储系统来提高数据的可靠性。当存储系统中的一个或者多个磁盘出现故障时,可以从其他正常操作的磁盘上的数据来恢复出故障磁盘中的数据。
目前已经开发出了映射独立磁盘冗余阵列(Mapped RAID)。在该映射RAID中,磁盘是一个逻辑概念并且可以包括资源池中的多个区块(extent)。一个逻辑磁盘中包括的多个区块可以分布在不同的物理存储设备上。对于映射RAID的一个条带中的多个区块而言,该多个区块可以分布在不同的物理存储设备上,以便当该多个区块中的一个区块所在的物理存储设备出现故障时,可以从其他区块所在的物理存储设备中恢复数据。对于RAID而言,可以提供不同的安全等级。在较低的安全等级中,可以采用较少的空间来存储校验数据(例如,仅存储P校验);而在较高的安全等级中,需要采用较多的空间来存储校验数据(例如,P校验和Q校验)。
在映射RAID的使用期间,可能需要在不同的安全等级之间进行转换,例如,将RAID从较高的安全等级降低到较低的安全等级。此时,如何以简单有效的方式执行这种转换,成为一个难题。
发明内容
因而,期望能够开发并实现一种以更为简单并且可靠的方式来管理存储系统的技术方案。期望该技术方案能够与现有的存储系统相兼容,并且通过改造现有存储系统的各种配置,来以更为可靠的方式来管理存储系统中的数据。
根据本公开内容的一个实现方式,提供了一种用于管理存储系统的方法。存储系统包括至少一个条带,至少一个条带中的条带包括多个区块,多个区块中的相应区块来自资源池中的相应存储设备。该方法包括:响应于接收到将存储系统从第一类型转换至第二类型的转换请求,确定资源池中的与转换请求相关联的目标存储设备;针对至少一个条带中的条带,更新与条带相关联的元数据以从条带中移除位于目标存储设备的区块;以及基于更新的元数据,将存储系统从第一类型转换至第二类型。
根据本公开内容的一个实现方式,提供了一种用于管理存储系统的系统,包括:一个或者多个处理器;耦合至所述一个或者多个处理器中的至少一个处理器的存储器;在所述存储器中存储的计算机程序指令,当由所述至少一个处理器执行所述计算机程序指令时,使得所述系统执行用于管理存储系统的方法。所述存储系统包括至少一个条带,所述至少一个条带中的条带包括多个区块,所述多个区块中的相应区块来自资源池中的相应存储设备。所述方法包括:响应于接收到将所述存储系统从第一类型转换至第二类型的转换请求,确定所述资源池中的与所述转换请求相关联的目标存储设备;针对所述至少一个条带中的条带,更新与所述条带相关联的元数据以从所述条带中移除位于所述目标存储设备的区块;以及基于更新的所述元数据,将所述存储系统从所述第一类型转换至所述第二类型。
根据本公开内容的一个实现方式,提供了一种用于管理存储系统的设备。所述存储系统包括至少一个条带,所述至少一个条带中的条带包括多个区块,所述多个区块中的相应区块来自资源池中的相应存储设备。设备包括:确定模块,配置用于响应于接收到将所述存储系统从第一类型转换至第二类型的转换请求,确定所述资源池中的与所述转换请求相关联的目标存储设备;更新模块,配置用于针对所述至少一个条带中的条带,更新与所述条带相关联的元数据以从所述条带中移除位于所述目标存储设备的区块;以及转换模块,配置用于基于更新的所述元数据,将所述存储系统从所述第一类型转换至所述第二类型。
根据本公开内容的一个实现方式,提供了一种计算机程序指令,当由至少一个处理器执行所述计算机程序指令时,使得所述至少一个处理器执行根据上文所述的用于管理存储系统的方法。
采用本公开内容的技术方案,可以降低在管理存储系统中的数据拷贝的情况下,更快速地将存储系统从第一类型转换至第二类型。
附图说明
结合附图并参考以下详细说明,本公开内容各实现方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开内容的若干实现方式。在附图中:
图1示意性示出了适于实现本公开内容实现方式的示例性计算系统的框图;
图2A和2B分别示意性示出了其中可以实现根据本公开内容的实现方式的应用环境的示意图;
图3示意性示出了映射RAID存储系统中区块的分布的框图;
图4示意性示出了根据本公开内容的一个实现方式的用于管理存储系统的架构图;
图5示意性示出了根据本公开内容的一个实现方式的用于管理存储系统的方法的流程图;
图6A示意性示出了根据本公开内容的一个实现方式的用于将存储系统中的一个条带从第一类型转换至第二类型的框图;
图6B示意性示出了根据本公开内容的一个实现方式的用于将存储系统中的多个条带从第一类型转换至第二类型的框图;
图7A示意性示出了根据本公开内容的一个实现方式的用于将存储系统中的一个条带从第一类型转换至第二类型的框图;
图7B示意性示出了根据本公开内容的一个实现方式的用于将存储系统中的多个条带从第一类型转换至第二类型的框图;
图8示意性示出了根据本公开内容的一个实现方式的存储系统中的条带的框图;以及
图9示意性示出了根据本公开内容的一个实现方式的用于管理存储系统的设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开内容的优选实现方式。虽然附图中显示了本公开内容的优选实现方式,然而应该理解,可以以各种形式实现本公开内容而不应被这里阐述的实现方式所限制。相反,提供这些实现方式是为了使本公开内容更加透彻和完整,并且能够将本公开内容的范围完整的传达给本领域的技术人员。
图1示出了适于用来实现本公开内容实现方式的示例性计算系统100的框图。如图1所示,计算机系统100可以包括:CPU(中央处理单元)101、RAM(随机存取存储器)102、ROM(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和触摸屏显示器114。在这些设备中,与系统总线104耦合的有CPU 101、RAM 102、ROM 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及触摸屏显示器114与显示控制器109耦合。应当理解,图1所示的结构框图仅仅是为了示例的目的,而不是对本公开内容范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备。
所属技术领域的技术人员知道,本公开内容可以实现为系统、方法或计算机程序产品。因此,本公开内容可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实现方式中,本公开内容还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开内容操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如使用因特网服务提供者来通过因特网连接)。
下面将参照本公开内容实现方式的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本公开内容。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
独立磁盘冗余阵列可以将多个存储设备组合起来,成为一个磁盘阵列。通过提供冗余的存储设备,可以使得整个磁盘组的可靠性大大超过单一的存储设备。RAID可以提供优于单一的存储设备的各种优势,例如,增强数据整合度,增强容错功能,增加吞吐量或容量,等等。RAID存在多个标准,例如RAID-1,RAID-2,RAID-3,RAID-4,RAID-5,RAID-6,RAID-10,RAID-50等等。关于RAID级别的更多细节,本领域技术人员例如可以参见https://en.wikipedia.org/wiki/Standard_RAID_levels、以及https://en.wikipedia.org/wiki/Nested_RAID_levels等。
图2A示意性示出了根据一个技术方案的独立磁盘冗余阵列的结构的示意图200A。在图2A中,以包括五个独立存储设备(210、212、214、216以及218)的RAID-5(4D+1P,其中4D表示存储系统中包括四个存储设备来用于存储数据,1P表示存储系统中包括一个存储设备来用于存储P校验值(parity)阵列为示例,来说明RAID的工作原理。应当注意,尽管图2A中示意性示出了五个存储设备,在其他的实现方式中,根据RAID的等级不同,还可以包括更多或者更少的存储设备。尽管图2A中示出了条带220、222和224,在其他的示例中,RAID系统还可以包括不同数量的条带。
在RAID中,条带跨越多个物理存储设备(例如,条带220跨越了存储设备210、212、214、216以及218)。可以简单地将条带理解为多个存储设备中的满足一定地址范围的存储区域。在条带220中存储的数据包括多个部分:存储在存储设备210上的数据块D00、存储在存储设备212上的数据块D01、存储在存储设备214上的数据块D02、存储在存储设备216上的数据块D03、以及存储在存储设备218上的数据块P0。在此示例中,数据块D00、D01、D02、以及D03是被存储的数据,而数据块P0是被存储数据的P校验值。
在其他条带222和224中存储数据的方式也类似于条带220,不同之处在于,有关其他数据块的校验值可以存储在不同于存储设备218的存储设备上。以此方式,当多个存储设备210、212、214、216以及218中的一个存储设备出现故障时,可以从其他的正常的存储设备中恢复出故障设备中的数据。
图2B示意性示出了根据一个技术方案的独立磁盘冗余阵列的重建过程的示意图200B。如图2B所示,当一个存储设备(例如,以阴影示出的存储设备218)出现故障时,可以从其余的正常操作的多个存储设备210、212、214、216中恢复数据。此时,可以向RAID中加入新的后备存储设备218B来替代存储设备218,以此方式,可以将恢复的数据写入218B并实现系统的重建。
应当注意,尽管在上文中参见图2A和图2B描述了包括5个存储设备(其中4个存储设备用于存储数据,1个存储设备用于存储校验值)的RAID 5的存储系统,根据其他RAID等级的定义,还可以存在包括其他数量的存储设备的存储系统。例如,基于RAID 6的定义,可以利用两个存储设备来分别存储校验值P和Q。又例如,基于三重校验值(triple-parity)RAID的定义,可以利用三个存储设备来分别存储校验值P、Q和R。
图3示意性示出了映射RAID存储系统中的区块的分布的框图300。图3示意性示出了资源池中的多个存储设备310、320、330、340、…、350、360。每个存储设备可以包括多个区块,其中空白区块360表示空闲的区块,以条纹图例362示出的区块表示用于第一条带的区块,而以阴影图例364示出的区块表示用于第二条带的区块。此时,用于第一条带的区块312、322、332、342、352分别用于存第一条带的数据块D00、D01、D02、D03和校验P0。用于第二条带的区块324、334、344、366和314分别用于存储第二条带的数据块D10、D11、D12、D13和校验P1。
应当注意,图3仅以4D+1P的RAID-5存储系统为示例,示出了各个条带中的区块如何均匀地分布在资源池的多个存储系统中。当采用其他RAID等级时,本领域技术人员可以基于上文所述的原理来实现具体细节。例如,在4+2的RAID-6存储系统中,存储池中应当至少包括6个存储设备。每个条带中的6个区块可以均匀地分布在多个存储设备上,进而保证多个存储设备的负载均衡。
在存储系统的运行期间,可能会出现需要将存储系统从具有较高可靠性的第一类型(例如,RAID-6)转换至具有较低可靠性的第二类型(例如,RAID-5)的情况。例如,当发现存储系统的可靠性过高,或者当存储池中出现存储空间的短缺时,可以执行上述转换。
目前已经提出了执行转换的技术方案,然而,该技术方案需要在存储系统内执行大量的数据拷贝,如果存储系统中已经存储大量的数据,则数据拷贝将会占用大量时间,进而造成必须暂停存储系统的运行。
为了解决上述缺陷,本公开内容的实现方式提供了一种用于管理存储系统的方法、设备和程序产品。具体地,根据本公开内容的一个实现方式,提供了一种用于管理存储系统的技术方案。图4示意性示出了根据本公开内容的一个实现方式的用于管理存储系统的架构图400。
具体地,存储系统包括至少一个条带,该至少一个条带中的条带包括多个区块,多个区块中的相应区块来自资源池中的相应存储设备。该方法包括:响应于接收到将存储系统从第一类型转换至第二类型的转换请求,确定资源池中的与转换请求相关联的目标存储设备;针对至少一个条带中的条带,更新与条带相关联的元数据以从条带中移除位于目标存储设备的区块;以及基于更新的元数据,将存储系统从第一类型转换至第二类型。
如图4所示,存储系统420可以是第一类型的存储系统(例如4D+1P+1Q的RAID-6),存储系统430可以是第二类型的存储系统(例如4D+1P的RAID-5)。当存储系统420采用参见图3所示的映射RAID时,可以从包括多个存储设备310、320、…、360的资源池410中选择将要包括在存储系统420中的条带中包括的区块。在元数据422中,可以包括条带中的各个区块与存储池410中的各个存储设备310、320、…、360之间的映射关系。
当期望将第一类型的存储系统420转换至第二类型的存储系统430时,可以在不执行额外数据拷贝的情况下,通过更新元数据422来形成更新后的元数据432,进而将第一类型的存储系统420转换至第二类型的存储系统430。
图5示意性示出了根据本公开内容的一个实现方式的用于管理存储系统的方法500的流程图。具体地,存储系统是基于映射的RAID,并且包括至少一个条带。至少一个条带中的条带包括多个区块,多个区块中的相应区块来自资源池中的相应存储设备。在框图510处,响应于接收到将存储系统从第一类型转换至第二类型的转换请求,确定资源池中的与转换请求相关联的目标存储设备。在此实施方式中,转换请求可以指定期望将资源池中的哪个存储设备去除。例如,参见图4中所示的资源池410,转换请求可以指定将存储设备320去除。又例如,转换请求还可以不明确指定去除哪个存储设备,而是仅指出希望将RAID-6转换至RAID-5,则此时可以从存储系统420中的条带中的区块所在的多个存储设备中选择任一存储设备,以作为目标存储设备。
在框图520处,针对至少一个条带中的条带,更新与条带相关联的元数据以从条带中移除位于目标存储设备的区块。在上文中已经描述了,在基于映射的存储系统中,条带的元数据中包括该条带中的各个区块与资源池410中的各个存储设备之间的映射关系。在此实施方式中,可以从条带的元数据中去除与目标存储设备相关联的信息。
根据本公开内容的一个实现方式,获取元数据中的记录针对条带的配置信息的第一元数据,配置信息指示条带中的相应区块与资源池中的相应存储设备之间的映射关系。继而,基于目标存储设备更新第一元数据,以使得配置信息指示第二类型。
在下文中将示意性地描述元数据的结构。例如,元数据可以包括如表1所示的映射表,并且该表中存储条带中的每个区块所在的位置(例如,可以以资源池410中的存储设备的编号|区块的编号表示)。
表1映射表的示例
在如表1所示的映射表中,第一列“序号”表示条带的序号,此时表1中的第二行表示,该行是针对存储系统420中的第一条带的记录,其中D0、D1、D2、D3分别表示该区块中存储有数据。区块的位置分别是N|1、5|6、0|0、1|2。其中“|”之前的数值表示区块所在的存储设备的编号,而“|”之后的数值标识区块在存储设备中的编号。例如“N|1”表示,该区块是位于资源池中的第N个存储设备中的第1个区块。进一步,P、Q分别表示该区块中存储有校验(分别为P校验和Q校验),并且区块的位置分别是3|1、4|3。
在此步骤中,假设从转换请求确定目标存储设备是资源池410中的第4个存储设备(如表1中的阴影区域所示),则此时可以从如表1所示的映射表中去除与第4个存储设备相关的信息,此时,更新后的映射表如表2所示。
表2更新后的映射表的示例
序号 D0 D1 D2 D3 P
1 N|1 5|6 0|0 1|2 3|1 NULL NULL
在框图530处,基于更新的元数据,将存储系统从第一类型转换至第二类型。基于框图510和520所示的步骤,在表2中已经不再包括与存储Q校验的存储设备相关联的信息,因而此时第一个条带已经成功地从RAID-6存储系统转换至RAID-5存储系统。
在下文中将参见图6A和图6B详细描述如何将存储系统420中的各个条带从第一类型转换至第二类型。图6A示意性示出了根据本公开内容的一个实现方式的用于将存储系统中的一个条带从第一类型转换至第二类型的框图600A。如图6A所示,区块610、612、614、616分别存储第一条带的数据D00、D01、D02、D03,而区块618和630分别存储第一条带的校验P0和Q0。此时如果期望去除区块630所在的目标存储设备,则可以直接将与该目标存储设备有关的信息从映射表中移除即可。
图6B示意性示出了根据本公开内容的一个实现方式的用于将存储系统中的多个条带从第一类型转换至第二类型的框图600B。如图6B所示,有关第一条带642的操作类似于参见图6A的描述,在此不再赘述。对于第二条带644而言,区块622、624、626、628分别存储第二条带644的数据D10、D11、D12、D13,而区块632和620分别存储第二条带644的校验P1和Q1。假设此时区块632位于期望被去除的目标存储设备,则如果直接将与该目标存储设备有关的信息从映射表中移除(即,移除数据D10),则此时在更新后的第二条带644中将仅包括分别存储数据D11、D12、D13的区块620、622、624和存储校验P1和Q1的区块626、628。此时条带中的内容并不包括数据D10,因而并不满足常规RAID-5的要求,而是属于降级的RAID-5。
应当注意,由于降级的RAID-5并不是可靠的稳定状态,而是可能会存在潜在风险,因而应当针对该条带执行重建操作。根据本公开内容的一个实现方式,在更新与条带相关联的元数据之后,响应于确定条带处于第二类型的降级模式,重建条带以将条带恢复至第二类型的正常模式。
在下文中,将详细描述如何确定条带是处于正常模式还是降级模式。具体地,可以基于映射关系和目标存储设备,确定位于目标存储设备的移除的区块中的数据的属性。响应于确定的属性与第二类型不匹配,确定条带处于第二类型的降级模式。
参见图6B中的第二条带644,由于区块632位于将被移除的目标存储设备,因而该区块632将要从第二条的644中被去除。此时去除后的第二条带644中将仅包括分别存储数据D11、D12、D13的区块620、622、624和存储校验P1和Q1的区块626、628。可以知晓,区块620、622、624(其中分别存储有数据D11、D12、D13)的属性是“数据”;区块626(其中存储有P校验)的属性是“P校验”;而区块628(其中存储有Q校验)的属性是“Q校验”。
应当注意,由于转换的目的是将存储系统从RAID-6转换至RAID-5,可以确定与RAID-5相关联的区块的期望属性应当是:4个数据区块(对于第二条带644而言分别为D10、D11、D12、D13)以及1个P校验区块(对于第二条带644而言为P1)。此时可以发现第二条带644中的各个区块的属性与期望属性并不匹配,因而可以确定该第二条带644此时处于降级模式。
应当注意,尽管在上文中仅示意性示出了将存储系统从RAID-6转换至RAID-5的转换操作的具体描述,在其他实施方式中,还可以将其他的具有较高可靠性的第一类型的存储系统转换至具有较低可靠性的第二类型的存储系统。根据本公开内容的一个实现方式,第一类型和第二类型选自RAID 5、RAID 6以及三重校验中的任一项,以及第一类型的可靠性高于第二类型的可靠性。
在下文中将参见图7A和图7B描述如何将基于三重校验的存储系统转换至RAID-5存储系统。图7A示意性示出了根据本公开内容的一个实现方式的用于将存储系统中的一个条带从第一类型(三重校验)转换至第二类型(RAID-5)的框图700A。如图7A所示,区块610、612、614、616分别存储第一条带的数据D00、D01、D02、D03,而区块618、630和710分别存储第一条带的校验P0、Q0、R0。此时如果期望去除区块630和710所在的两个目标存储设备,则可以直接将与这两个目标存储设备有关的信息从映射表中移除即可。
图7B示意性示出了根据本公开内容的一个实现方式的用于将存储系统中的多个条带从第一类型(三重校验)转换至第二类型(RAID-5)的框图700B。如图7B所示,有关第一条带742的操作类似于参见图7A的描述,在此不再赘述。对于第二条带744而言,区块712、622、624、626分别存储第二条带744的数据D10、D11、D12、D13,而区块626、628、632分别存储第二条带744的校验P1、Q1和R1。假设此时区块632和712分别位于期望被去除的两个目标存储设备,则如果直接将与这两个目标存储设备有关的信息从映射表中移除(即,移除数据P1和Q1),则此时在去除后的第二条带744中将仅包括分别存储数据D11、D12、D13的区块620、622、624和存储校验P1和Q1的区块626、628。此时条带中并不包括数据D10,因而并不满足常规RAID-5的要求,而是属于降级的RAID-5。基于上文所述的方法,此时应当针对第二条带744执行重建操作。
在下文中将参见图8描述与条带相关的信息,具体地,图8示意性示出了根据本公开内容的一个实现方式的存储系统中的条带的空间布局的框图800。具体地,图8示出了具有第一类型(也即,RAID-6)的存储系统的条带空间布局的示意图。如图8所示,条带可以包括六个区块610、612、614、616、618、630。根据本公开内容的一个实现方式,该条带的整个空间可以被划分为3个区域810、820和830。
例如,第一元数据可以被存储在区域810中(也即,每个区块的顶部),数据(诸如上文所述的用户数据或校验信息)可以被存储在区域820中(也即,每个区块的中部),并且第二元数据可以被存储在区域830中(也即,每个区块的底部)。
附加地或者备选地,根据本公开内容的一个实现方式,第一元数据可以被镜像地存储在每个区块的顶部,也即条带的每个区块中所存储的第一元数据是相同的。由于第一元数据通常较小,因此根据本公开内容的一个实现方式,当存储系统启动时,第一元数据可以预先被加载,以提高后续访问速度。
根据本公开内容的一个实现方式,用户数据和校验信息例如可以以RAID-6的方式(例如,4D+1P+1Q)被存储在区域820中,并且第二元数据也可以以与数据区域类似的方式被存储在区域830中。也即,第二元数据可以以4D+1P+1Q的RAID-6的方式被存储在每个区块的底部。
根据本公开内容的一个实现方式,每个区块中的用于存储数据的区域的大小可以是预定大小。附加地或者备选地,根据本公开内容的一个实现方式,每个区块中用于存储第一元数据和/或第二元数据的区域的大小可以基于该条带的空间大小来被确定。
根据本公开内容的一个实现方式,针对存储系统中的每个RAID条带,元数据可以包括:第一元数据,用于记录针对该RAID条带的配置信息;以及第二元数据,用于记录针对该RAID条带的状态信息。
例如,表3示意性示出了第一元数据的数据结构的示例,而表4示意性示出了第二元数据的数据结构的示例。从表3和表4可以看出,第一元数据记录了与条带的类型(例如,RAID 5)有关的基本配置信息,而第二元数据记录了与针对条带的重建有关的信息。
表3第一元数据的数据结构的示例
表4第二元数据的数据结构的示例
应当理解,如表3和表4所示的第一元数据和第二元数据所包括的字段仅用于示例的目的,而不旨在对于本公开内容的范围的任何限制。根据本公开内容的一个实现方式,第一元数据和/或第二元数据还可以包括未示出的附加字段和/或可以省略所示出的字段,并且本公开内容的范围在此方面不受限制。
根据本公开内容的一个实现方式,第一元数据和第二元数据可以被存储在条带的元数据区域中,以便用于执行本公开内容的方法的处理器可以从条带的元数据区域来获取与该条带相关联的第一元数据和第二元数据。
在上文中已经描述了条带的元数据的具体细节,在下文中将详细描述如何针对处于降级模式的条带执行重建操作。根据本公开内容的一个实现方式,获取元数据中的记录针对条带的状态信息的第二元数据,状态信息关联于条带的重建。继而,更新第二元数据,以使能针对条带的重建。
根据本公开内容的一个实现方式,更新与条带相关联的元数据还可以包括更新如表4所示的第二元数据,以使得针对条带的重建过程被使能。返回如图6B所示的示例,在已经从第一元数据中去除了有关区块632的信息之后,第二条带644中仅包括区块包括分别存储数据D11、D12、D13的区块620、622、624和存储校验P1和Q1的区块626、628。然而对于正常RAID-5而言,条带中需要存储数据D01、D11、D12、D13以及校验P1。此时,可以基于第二条带644中的现有数据恢复出数据D01,以完成重建过程。具体而言,可以在该条带的第二元数据中将“重建指示符”设置为“真”,从而使能该条带的重建。
根据本公开内容的一个实现方式,该重建过程可以伴随元数据的修改而执行。附加地或者备选地,根据本公开内容的一个实现方式,该重建过程可以以后台服务的形式被发起。经由该重建过程,对于图6B的第二条带644而言,可以从数据D11、D12、D13以及校验P1中重建数据D10。
根据本公开内容的一个实现方式,响应于接收到针对条带的访问请求,延迟针对存储系统执行访问请求。例如,如果在执行如图5所示的方法之前或者期间接收到针对条带的访问请求,则可以将访问请求进行排队,以延迟针对该条带的访问。
根据本公开内容的一个实现方式,由于仅需要针对元数据进行修改而并不需要执行数据拷贝,因而可以在较短的时间内完成存储系统的类型的转换。因而,根据本公开内容的一个实现方式,可以将针对存储系统的全部访问请求进行排队。继而,可以针对存储系统中的各个条带来执行转换操作。
应当注意,在此并不限定按照何种顺序来针对各个条带执行转换。根据本公开内容的一个实现方式,可以针对存储系统中的每个条带来逐一执行转换操作。根据本公开内容的一个实现方式,可以同时针对多个条带中的至少一部分或者全部来执行转换操作。
根据本公开内容的一个实现方式,响应于将存储系统从第一类型转换至第二类型的完成,向存储系统发送延迟的访问请求。此时,由于转换已经完成,并且存储系统已经从第一类型转换到了第二类型,因而可以按照常规的方法来针对第二类型的存储系统执行之前被排队的访问请求。
附加地或者备选地,根据本公开内容的一个实现方式,对于处于降级模式的条带而言,降级的条带仍然能够正常地服务于来自用户的访问请求。以此方式,本公开内容的实施方式可以在尽量不影响用户访问的情况下执行存储系统的类型转换。此时,重建过程可以在后台进行,以便降低存储系统的中断时间。
根据本公开内容的一个实现方式,响应于确定、移除、更新和转换中的任一项失败,将存储系统恢复至第一类型。根据本公开内容的一个实现方式,方法500可以以事务的方式来被执行,以确保整个转换过程的原子性。例如,响应于上述任一操作失败,可以将存储系统回滚到执行方法500之前的状态(也即,将存储系统恢复至第一类型),以保证其可用性。以此方式,即使在转换过程中出现某些操作失败的情况下,根据本公开内容的实现方式也不会影响整个存储系统的可用性。
根据本公开内容的一个实现方式,响应于针对至少一个条带中的每个条带成功执行确定、移除、更新和转换,从资源池中移除目标存储设备。在此实施方式中,如果已经针对存储系统中的每个条带执行了转换操作,则可以将目标存储设备从资源池中移除。根据本公开内容的一个实现方式,由于处于降级模式的存储系统中包括完整的用户数据,因而即使在在存储系统处于降级模式时,也可以移除该目标存储设备。此时,可以在后台执行重建过程,以便将存储系统从降级模式恢复到正常模式。
根据本公开内容的一个实现方式,可以通过存储系统中每个条带移除位于目标存储设备中的区块,将该存储系统从第一类型(例如,RAID-6)转换为第二类型(例如,RAID-5)。进一步,根据本公开内容的一个实现方式能够在尽量不影响针对存储系统的用户访问的情况下执行转换。
此外,在以上转换过程中,与基于传统数据拷贝技术的存储系统的类型转换相比,根据本公开内容的一个实现方式无需对用户数据进行迁移,从而具有相对较小的系统开销(诸如,时间和资源开销等)。
特别地,根据本公开内容的一个实现方式能够利用事务来确保整个转换过程的原子性,因此即使在转换过程中出现某些操作失败也不会影响整个存储系统的可用性。
前面已经参考附图描述了实现本发明的方法的各个实施方式。本领域技术人员可以理解的是,上述方法既可以以软件方式实现,也可以以硬件方式实现,或者通过软件与硬件相结合的方式实现。并且,本领域技术人员可以理解,通过以软件、硬件或者软硬件相结合的方式实现上述方法中的各个步骤,可以提供一种基于相同发明构思的一种设备。即使该设备在硬件结构上与通用处理设备相同,由于其中所包含的软件的作用,使得该设备表现出区别于通用处理设备的特性,从而形成本发明的各个实施方式的设备。本发明中设备包括若干装置或模块,装置或模块被配置为执行相应步骤。本领域的技术人员通过阅读本说明书可以理解如何编写程序实现装置或模块执行的动作。由于设备与方法基于相同的发明构思,因此其中相同或相应的实现细节同样适用于与上述方法对应的装置或模块,由于其在上文中已经进行了详细和完整的描述,因此在下文中可能不再进行赘述。
图9示意性示出了根据本公开内容的一个实现方式的用于管理存储的设备900的设备的框图。具体地,存储系统包括至少一个条带,至少一个条带中的条带包括多个区块,多个区块中的相应区块来自资源池中的相应存储设备。设备900包括:确定模块910,配置用于响应于接收到将存储系统从第一类型转换至第二类型的转换请求,确定资源池中的与转换请求相关联的目标存储设备;更新模块920,配置用于针对至少一个条带中的条带,更新与条带相关联的元数据以从条带中移除位于目标存储设备的区块;以及转换模块930,配置用于基于更新的元数据,将存储系统从第一类型转换至第二类型。
根据本公开内容的一个实现方式,该设备900进一步包括:获取模块,配置用于获取元数据中的记录针对条带的配置信息的第一元数据,配置信息指示条带中的相应区块与资源池中的相应存储设备之间的映射关系;以及更新模块,配置用于基于目标存储设备更新第一元数据,以使得配置信息指示第二类型。
根据本公开内容的一个实现方式,转换模块930进一步配置用于在更新与条带相关联的元数据之后,响应于确定条带处于第二类型的降级模式,重建条带以将条带恢复至第二类型的正常模式。
根据本公开内容的一个实现方式,其中第一元数据进一步包括指示条带与资源池中的多个存储设备之间的映射关系转换模块进一步配置用于基于映射关系和目标存储设备,确定位于目标存储设备的移除的区块中的数据的属性;以及响应于属性与第二类型不匹配,确定条带处于第二类型的降级模式。
根据本公开内容的一个实现方式,转换模块930进一步配置用于获取元数据中的记录针对条带的状态信息的第二元数据,状态信息关联于条带的重建;以及更新第二元数据,以使能针对条带的重建。
根据本公开内容的一个实现方式,设备900进一步包括:延迟模块,配置用于响应于接收到针对条带的访问请求,延迟针对存储系统执行访问请求。
根据本公开内容的一个实现方式,设备900进一步包括:发送模块,配置用于响应于将存储系统从第一类型转换至第二类型的完成,向存储系统发送延迟的访问请求。
根据本公开内容的一个实现方式,设备900进一步包括:恢复模块,配置用于响应于确定、移除、更新和转换中的任一项失败,将存储系统恢复至第一类型。
根据本公开内容的一个实现方式,设备900进一步包括:移除模块,配置用于响应于针对至少一个条带中的每个条带成功执行确定、移除、更新和转换,从资源池中移除目标存储设备。
根据本公开内容的一个实现方式,第一类型和第二类型选自RAID 5、RAID 6以及三重校验中的任一项,以及第一类型的可靠性高于第二类型的可靠性。
根据本公开内容的一个实现方式,提供了一种用于管理存储系统的方法,存储系统包括至少一个条带,至少一个条带中的条带包括多个区块,多个区块中的相应区块来自资源池中的相应存储设备,方法包括:响应于接收到将存储系统从第一类型转换至第二类型的转换请求,确定资源池中的与转换请求相关联的目标存储设备;针对至少一个条带中的条带,更新与条带相关联的元数据以从条带中移除位于目标存储设备的区块;以及基于更新的元数据,将存储系统从第一类型转换至第二类型。
根据本公开内容的一个实现方式,方法进一步包括:获取元数据中的记录针对条带的配置信息的第一元数据,配置信息指示条带中的相应区块与资源池中的相应存储设备之间的映射关系;以及基于目标存储设备更新第一元数据,以使得配置信息指示第二类型。
根据本公开内容的一个实现方式,将存储系统从第一类型转换至第二类型包括:在更新与条带相关联的元数据之后,响应于确定条带处于第二类型的降级模式,重建条带以将条带恢复至第二类型的正常模式。
根据本公开内容的一个实现方式,第一元数据进一步包括指示条带与资源池中的多个存储设备之间的映射关系,以及确定条带处于第二类型的降级模式进一步包括:基于映射关系和目标存储设备,确定位于目标存储设备的移除的区块中的数据的属性;以及响应于属性与第二类型不匹配,确定条带处于第二类型的降级模式。
根据本公开内容的一个实现方式,重建条带以将条带转换至第二类型的正常模式包括:获取元数据中的记录针对条带的状态信息的第二元数据,状态信息关联于条带的重建;以及
更新第二元数据,以使能针对条带的重建。
根据本公开内容的一个实现方式,方法进一步包括:响应于接收到针对条带的访问请求,延迟针对存储系统执行访问请求。
根据本公开内容的一个实现方式,方法进一步包括:响应于将存储系统从第一类型转换至第二类型的完成,向存储系统发送延迟的访问请求。
根据本公开内容的一个实现方式,方法进一步包括:响应于确定、移除、更新和转换中的任一项失败,将存储系统恢复至第一类型。
根据本公开内容的一个实现方式,方法进一步包括:响应于针对至少一个条带中的每个条带成功执行确定、移除、更新和转换,从资源池中移除目标存储设备。
根据本公开内容的一个实现方式,第一类型和第二类型选自RAID 5、RAID 6以及三重校验中的任一项,以及第一类型的可靠性高于第二类型的可靠性。
根据本公开内容的一个实现方式,提供了一种用于管理存储系统的系统,包括:一个或者多个处理器;耦合至一个或者多个处理器中的至少一个处理器的存储器;在存储器中存储的计算机程序指令,当由至少一个处理器执行计算机程序指令时,使得系统执行用于管理存储系统的方法。存储系统包括至少一个条带,至少一个条带中的条带包括多个区块,多个区块中的相应区块来自资源池中的相应存储设备。方法包括:响应于接收到将存储系统从第一类型转换至第二类型的转换请求,确定资源池中的与转换请求相关联的目标存储设备;针对至少一个条带中的条带,更新与条带相关联的元数据以从条带中移除位于目标存储设备的区块;以及基于更新的元数据,将存储系统从第一类型转换至第二类型。
根据本公开内容的一个实现方式,方法进一步包括:获取元数据中的记录针对条带的配置信息的第一元数据,配置信息指示条带中的相应区块与资源池中的相应存储设备之间的映射关系;以及基于目标存储设备更新第一元数据,以使得配置信息指示第二类型。
根据本公开内容的一个实现方式,将存储系统从第一类型转换至第二类型包括:在更新与条带相关联的元数据之后,响应于确定条带处于第二类型的降级模式,重建条带以将条带恢复至第二类型的正常模式。
根据本公开内容的一个实现方式,第一元数据进一步包括指示条带与资源池中的多个存储设备之间的映射关系,以及确定条带处于第二类型的降级模式进一步包括:基于映射关系和目标存储设备,确定位于目标存储设备的移除的区块中的数据的属性;以及响应于属性与第二类型不匹配,确定条带处于第二类型的降级模式。
根据本公开内容的一个实现方式,重建条带以将条带转换至第二类型的正常模式包括:获取元数据中的记录针对条带的状态信息的第二元数据,状态信息关联于条带的重建;以及更新第二元数据,以使能针对条带的重建。
根据本公开内容的一个实现方式,方法进一步包括:响应于接收到针对条带的访问请求,延迟针对存储系统执行访问请求。
根据本公开内容的一个实现方式,方法进一步包括:响应于将存储系统从第一类型转换至第二类型的完成,向存储系统发送延迟的访问请求。
根据本公开内容的一个实现方式,方法进一步包括:响应于确定、移除、更新和转换中的任一项失败,将存储系统恢复至第一类型。
根据本公开内容的一个实现方式,方法进一步包括:响应于针对至少一个条带中的每个条带成功执行确定、移除、更新和转换,从资源池中移除目标存储设备。
根据本公开内容的一个实现方式,第一类型和第二类型选自RAID 5、RAID 6以及三重校验中的任一项,以及第一类型的可靠性高于第二类型的可靠性。
根据本公开内容的一个实现方式,提供了一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据上文所述的任一方法的步骤。
附图中的流程图和框图显示了根据本公开内容的多个实现方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开内容的各实现方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实现方式。在不偏离所说明的各实现方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现方式的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实现方式。

Claims (21)

1.一种用于管理存储系统的方法,所述存储系统包括至少一个条带,所述至少一个条带中的条带包括多个区块,所述多个区块中的相应区块来自资源池中的相应存储设备,所述方法包括:
响应于接收到将所述存储系统从第一类型转换至第二类型的转换请求,确定所述资源池中的与所述转换请求相关联的目标存储设备;
针对所述至少一个条带中的条带,更新与所述条带相关联的元数据以从所述条带中移除位于所述目标存储设备的区块;以及
基于更新的所述元数据,将所述存储系统从所述第一类型转换至所述第二类型。
2.根据权利要求1所述的方法,进一步包括:
获取所述元数据中的记录针对所述条带的配置信息的第一元数据,所述配置信息指示所述条带中的相应区块与资源池中的相应存储设备之间的映射关系;以及
基于所述目标存储设备更新所述第一元数据,以使得所述配置信息指示所述第二类型。
3.根据权利要求2所述的方法,其中将所述存储系统从所述第一类型转换至所述第二类型包括:
在所述更新与所述条带相关联的元数据之后,响应于确定所述条带处于所述第二类型的降级模式,重建所述条带以将所述条带恢复至所述第二类型的正常模式。
4.根据权利要求3所述的方法,其中所述第一元数据进一步包括指示所述条带与所述资源池中的多个存储设备之间的映射关系,以及所述确定所述条带处于所述第二类型的降级模式进一步包括:
基于所述映射关系和所述目标存储设备,确定位于所述目标存储设备的移除的所述区块中的数据的属性;以及
响应于所述属性与所述第二类型不匹配,确定所述条带处于所述第二类型的所述降级模式。
5.根据权利要求3所述的方法,其中所述重建所述条带以将所述条带转换至第二类型的正常模式包括:
获取所述元数据中的记录针对所述条带的状态信息的第二元数据,所述状态信息关联于所述条带的重建;以及
更新所述第二元数据,以使能针对所述条带的所述重建。
6.根据权利要求1所述的方法,进一步包括:
响应于接收到针对所述条带的访问请求,延迟针对所述存储系统执行所述访问请求。
7.根据权利要求6所述的方法,进一步包括:
响应于将所述存储系统从所述第一类型转换至所述第二类型的完成,向所述存储系统发送延迟的所述访问请求。
8.根据权利要求1所述的方法,进一步包括:
响应于所述确定、所述移除、所述更新和所述转换中的任一项失败,将所述存储系统恢复至所述第一类型。
9.根据权利要求1所述的方法,进一步包括:
响应于针对所述至少一个条带中的每个条带成功执行所述确定、所述移除、所述更新和所述转换,从所述资源池中移除所述目标存储设备。
10.根据权利要求1所述的方法,其中所述第一类型和所述第二类型选自RAID 5、RAID6以及三重校验中的任一项,以及所述第一类型的可靠性高于所述第二类型的可靠性。
11.一种用于管理存储系统的系统,包括:
一个或者多个处理器;
耦合至所述一个或者多个处理器中的至少一个处理器的存储器;
在所述存储器中存储的计算机程序指令,当由所述至少一个处理器执行所述计算机程序指令时,使得所述系统执行用于管理存储系统的方法,所述存储系统包括至少一个条带,所述至少一个条带中的条带包括多个区块,所述多个区块中的相应区块来自资源池中的相应存储设备,所述方法包括:
响应于接收到将所述存储系统从第一类型转换至第二类型的转换请求,确定所述资源池中的与所述转换请求相关联的目标存储设备;
针对所述至少一个条带中的条带,更新与所述条带相关联的元数据以从所述条带中移除位于所述目标存储设备的区块;以及
基于更新的所述元数据,将所述存储系统从所述第一类型转换至所述第二类型。
12.根据权利要求11所述的系统,其中所述方法进一步包括:
获取所述元数据中的记录针对所述条带的配置信息的第一元数据,所述配置信息指示所述条带中的相应区块与资源池中的相应存储设备之间的映射关系;以及
基于所述目标存储设备更新所述第一元数据,以使得所述配置信息指示所述第二类型。
13.根据权利要求12所述的系统,其中将所述存储系统从所述第一类型转换至所述第二类型包括:
在所述更新与所述条带相关联的元数据之后,响应于确定所述条带处于所述第二类型的降级模式,重建所述条带以将所述条带恢复至所述第二类型的正常模式。
14.根据权利要求13所述的系统,其中所述第一元数据进一步包括指示所述条带与所述资源池中的多个存储设备之间的映射关系,以及所述确定所述条带处于所述第二类型的降级模式进一步包括:
基于所述映射关系和所述目标存储设备,确定位于所述目标存储设备的移除的所述区块中的数据的属性;以及
响应于所述属性与所述第二类型不匹配,确定所述条带处于所述第二类型的所述降级模式。
15.根据权利要求13所述的系统,其中所述重建所述条带以将所述条带转换至第二类型的正常模式包括:
获取所述元数据中的记录针对所述条带的状态信息的第二元数据,所述状态信息关联于所述条带的重建;以及
更新所述第二元数据,以使能针对所述条带的所述重建。
16.根据权利要求11所述的系统,其中所述方法进一步包括:
响应于接收到针对所述条带的访问请求,延迟针对所述存储系统执行所述访问请求。
17.根据权利要求16所述的系统,其中所述方法进一步包括:
响应于将所述存储系统从所述第一类型转换至所述第二类型的完成,向所述存储系统发送延迟的所述访问请求。
18.根据权利要求11所述的系统,其中所述方法进一步包括:
响应于所述确定、所述移除、所述更新和所述转换中的任一项失败,将所述存储系统恢复至所述第一类型。
19.根据权利要求11所述的系统,其中所述方法进一步包括:
响应于针对所述至少一个条带中的每个条带成功执行所述确定、所述移除、所述更新和所述转换,从所述资源池中移除所述目标存储设备。
20.根据权利要求11所述的方法,其中所述第一类型和所述第二类型选自RAID 5、RAID6以及三重校验中的任一项,以及所述第一类型的可靠性高于所述第二类型的可靠性。
21.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至10中的任一项所述的方法的步骤。
CN201711027432.1A 2017-10-27 2017-10-27 管理存储系统的方法、系统和计算机可读介质 Active CN109725831B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711027432.1A CN109725831B (zh) 2017-10-27 2017-10-27 管理存储系统的方法、系统和计算机可读介质
US16/170,143 US10824361B2 (en) 2017-10-27 2018-10-25 Changing data reliability type within a storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711027432.1A CN109725831B (zh) 2017-10-27 2017-10-27 管理存储系统的方法、系统和计算机可读介质

Publications (2)

Publication Number Publication Date
CN109725831A true CN109725831A (zh) 2019-05-07
CN109725831B CN109725831B (zh) 2022-06-10

Family

ID=66245456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711027432.1A Active CN109725831B (zh) 2017-10-27 2017-10-27 管理存储系统的方法、系统和计算机可读介质

Country Status (2)

Country Link
US (1) US10824361B2 (zh)
CN (1) CN109725831B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858498A (zh) * 2020-07-31 2020-10-30 北京金山云网络技术有限公司 存储类型转换方法、系统、装置及设备
WO2021072917A1 (zh) * 2019-10-18 2021-04-22 苏州浪潮智能科技有限公司 一种raid的写洞保护方法、系统及存储介质
CN114072774A (zh) * 2019-07-01 2022-02-18 国际商业机器公司 数据存储系统中的块模式切换
CN114385069A (zh) * 2020-10-22 2022-04-22 伊姆西Ip控股有限责任公司 存储管理的方法、设备和计算机程序产品

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733311B (zh) * 2017-04-17 2021-09-10 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
CN110413205B (zh) 2018-04-28 2023-07-07 伊姆西Ip控股有限责任公司 用于向磁盘阵列进行写入的方法、设备和计算机可读存储介质
CN111124262B (zh) * 2018-10-31 2023-08-22 伊姆西Ip控股有限责任公司 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质
CN111857557B (zh) 2019-04-30 2024-04-05 伊姆西Ip控股有限责任公司 Raid类型转换的方法、设备和计算机程序产品
US11494103B2 (en) * 2019-08-02 2022-11-08 EMC IP Holding Company LLC Memory-efficient processing of RAID metadata bitmaps
CN112732168B (zh) * 2019-10-28 2023-12-22 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN113590016A (zh) 2020-04-30 2021-11-02 伊姆西Ip控股有限责任公司 用于管理存储盘的方法、电子设备和计算机程序产品
CN115167787B (zh) * 2022-09-06 2023-01-24 苏州浪潮智能科技有限公司 一种数据转存方法、系统、设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058455A (en) * 1997-07-02 2000-05-02 International Business Corporation RAID system having a selectable unattended mode of operation with conditional and hierarchical automatic re-configuration
CN101196797A (zh) * 2007-12-07 2008-06-11 华中科技大学 一种存储系统数据分布及互转换方法
CN105183735A (zh) * 2014-06-18 2015-12-23 阿里巴巴集团控股有限公司 数据的查询方法及查询装置
US20170091973A1 (en) * 2015-09-30 2017-03-30 Apple Inc. User Interface for Adjusting an Automatically Generated Audio/Video Presentation

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266706B2 (en) * 1999-03-03 2007-09-04 Yottayotta, Inc. Methods and systems for implementing shared disk array management functions
US6275898B1 (en) * 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
US6530004B1 (en) * 2000-06-20 2003-03-04 International Business Machines Corporation Efficient fault-tolerant preservation of data integrity during dynamic RAID data migration
US7055058B2 (en) * 2001-12-26 2006-05-30 Boon Storage Technologies, Inc. Self-healing log-structured RAID
US6985996B1 (en) * 2002-12-13 2006-01-10 Adaptec, Inc. Method and apparatus for relocating RAID meta data
US20050066230A1 (en) * 2003-09-23 2005-03-24 Bean Robert George Data reliabilty bit storage qualifier and logical unit metadata
US7334156B2 (en) * 2004-02-13 2008-02-19 Tandberg Data Corp. Method and apparatus for RAID conversion
US7406621B2 (en) * 2004-04-02 2008-07-29 Seagate Technology Llc Dual redundant data storage format and method
US7711897B1 (en) * 2005-06-10 2010-05-04 American Megatrends, Inc. Method, system, apparatus, and computer-readable medium for improving disk array performance
US8209551B2 (en) * 2008-02-15 2012-06-26 Intel Corporation Security for RAID systems
US8074039B2 (en) * 2008-09-29 2011-12-06 Intel Corporation Redundant array of independent disks-related operations
US8850113B2 (en) * 2010-02-27 2014-09-30 Cleversafe, Inc. Data migration between a raid memory and a dispersed storage network memory
US8285762B2 (en) * 2010-05-11 2012-10-09 International Business Machines Corporation Migration of metadata and storage management of data in a first storage environment to a second storage environment
US8479211B1 (en) * 2010-06-29 2013-07-02 Amazon Technologies, Inc. Dynamic resource commitment management
WO2013024485A2 (en) 2011-08-17 2013-02-21 Scaleio Inc. Methods and systems of managing a distributed replica based storage
US8775735B2 (en) * 2012-03-22 2014-07-08 Synology Incorporated Storage system and operation method of a storage system
US9268653B2 (en) * 2014-01-17 2016-02-23 Netapp, Inc. Extent metadata update logging and checkpointing
CN107220148B (zh) 2016-03-21 2020-12-04 伊姆西Ip控股有限责任公司 针对独立磁盘冗余阵列的重建方法和设备
US10073621B1 (en) 2016-03-31 2018-09-11 EMC IP Holding Company LLC Managing storage device mappings in storage systems
CN107526537B (zh) 2016-06-22 2020-03-20 伊姆西Ip控股有限责任公司 用于锁定存储系统中的存储区域的方法和系统
CN107526536B (zh) 2016-06-22 2020-11-27 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058455A (en) * 1997-07-02 2000-05-02 International Business Corporation RAID system having a selectable unattended mode of operation with conditional and hierarchical automatic re-configuration
CN101196797A (zh) * 2007-12-07 2008-06-11 华中科技大学 一种存储系统数据分布及互转换方法
CN105183735A (zh) * 2014-06-18 2015-12-23 阿里巴巴集团控股有限公司 数据的查询方法及查询装置
US20170091973A1 (en) * 2015-09-30 2017-03-30 Apple Inc. User Interface for Adjusting an Automatically Generated Audio/Video Presentation

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114072774A (zh) * 2019-07-01 2022-02-18 国际商业机器公司 数据存储系统中的块模式切换
WO2021072917A1 (zh) * 2019-10-18 2021-04-22 苏州浪潮智能科技有限公司 一种raid的写洞保护方法、系统及存储介质
US11650880B2 (en) 2019-10-18 2023-05-16 Inspur Suzhou Intelligent Technology Co., Ltd. Write hole protection method and system for raid, and storage medium
CN111858498A (zh) * 2020-07-31 2020-10-30 北京金山云网络技术有限公司 存储类型转换方法、系统、装置及设备
CN114385069A (zh) * 2020-10-22 2022-04-22 伊姆西Ip控股有限责任公司 存储管理的方法、设备和计算机程序产品
US11789622B2 (en) 2020-10-22 2023-10-17 EMC IP Holding Company LLC Method, device and computer program product for storage management
CN114385069B (zh) * 2020-10-22 2024-05-17 伊姆西Ip控股有限责任公司 存储管理的方法、设备和计算机程序产品

Also Published As

Publication number Publication date
CN109725831B (zh) 2022-06-10
US20190129643A1 (en) 2019-05-02
US10824361B2 (en) 2020-11-03

Similar Documents

Publication Publication Date Title
CN109725831A (zh) 管理存储系统的方法、系统和计算机程序产品
US20210160318A1 (en) Scale out storage platform having active failover
US11934260B2 (en) Problem signature-based corrective measure deployment
US11652884B2 (en) Customized hash algorithms
US11567810B1 (en) Cost optimized workload placement
US9632731B2 (en) Distributing capacity slices across storage system nodes
US10365983B1 (en) Repairing raid systems at per-stripe granularity
CN107870730A (zh) 用于管理存储系统的方法和系统
US20200045111A1 (en) Storage system communication for data resiliency
CN110413201A (zh) 用于管理存储系统的方法、设备和计算机程序产品
WO2019231634A1 (en) Mechanism for updating host file system and flash translation layer based on underlying nand technology
JP5946472B2 (ja) コンピュータ・システムにおけるアプリケーション処理の管理のための方法、システム、コンピュータ・プログラム
CN107515726A (zh) 用于管理存储设备的方法和系统
US10929053B2 (en) Safe destructive actions on drives
CN109725827A (zh) 管理存储系统的方法、系统和计算机程序产品
US11609820B2 (en) Method and system for redundant distribution and reconstruction of storage metadata
KR20160081851A (ko) 분산 계산 가능한 스토리지 그룹을 구비하는 컴퓨팅 시스템 및 그것의 동작 방법
CN110413198A (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN110413203A (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN110058785B (zh) 用于管理存储系统的方法和设备
CN108228085A (zh) 用于管理存储系统的方法和设备
CN107729536A (zh) 一种数据存储方法和装置
US20220043695A1 (en) Migrating Workloads Using Active Disaster Recovery
CN108228084A (zh) 用于管理存储系统的方法和设备
CN110413208A (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