CN113126891A - 存储管理的方法、设备和计算机程序产品 - Google Patents
存储管理的方法、设备和计算机程序产品 Download PDFInfo
- Publication number
- CN113126891A CN113126891A CN202010044193.6A CN202010044193A CN113126891A CN 113126891 A CN113126891 A CN 113126891A CN 202010044193 A CN202010044193 A CN 202010044193A CN 113126891 A CN113126891 A CN 113126891A
- Authority
- CN
- China
- Prior art keywords
- storage
- disks
- raid
- storage disks
- disk
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 347
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000004590 computer program Methods 0.000 title claims abstract description 19
- 230000008878 coupling Effects 0.000 claims abstract description 40
- 238000010168 coupling process Methods 0.000 claims abstract description 40
- 238000005859 coupling reaction Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims description 19
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 238000009826 distribution Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/187—Voting techniques
-
- 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/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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例涉及存储管理的方法、设备和计算机程序产品。该方法包括:确定与第一存储盘集合相关联的一组独立冗余磁盘阵列(RAID),与RAID相对应的存储块中的第一部分位于第一存储盘集合中;确定第一存储盘集合中与RAID对应的多个存储盘;以及更新第一存储盘集合的一组关联度,以指示多个存储盘中的存储盘对之间的数据耦合。基于这样的方式,可以更为准确地确定存储盘之间的数据耦合程度。
Description
技术领域
本公开的实施例涉及计算机领域,并且更具体地,涉及存储管理的方法、设备和计算机程序产品。
背景技术
在基于独立盘冗余阵列(RAID)的存储系统中,如果一个存储盘发生故障,存储系统可以利用其它存储盘中的数据来对故障盘中的数据进行恢复。然而,仍然可能出现多个存储盘同时出现故障的情况,这样的故障可能导致某些数据丢失而无法被有效地恢复。因此,如何降低存储盘故障所带来的风险成为当前的一个关注焦点。
发明内容
本公开的实施例提供一种用于存储管理的方案。
根据本公开的第一方面,提出了一种存储管理的方法。该方法包括:确定与第一存储盘集合相关联的一组独立冗余磁盘阵列(RAID),与RAID相对应的存储块中的第一部分位于第一存储盘集合中;确定第一存储盘集合中与RAID对应的多个存储盘;以及更新第一存储盘集合的一组关联度,以指示多个存储盘中的存储盘对之间的数据耦合。
根据本公开的第二方面,提出了一种用于存储管理的设备。该设备包括:至少一个处理单元;至少一个存储器,该至少一个存储器被耦合到该至少一个处理单元并且存储用于由该至少一个处理单元执行的指令,该指令当由该至少一个处理单元执行时,使得该设备执行动作,该动作包括:确定与第一存储盘集合相关联的一组独立冗余磁盘阵列(RAID),与RAID相对应的存储块中的第一部分位于第一存储盘集合中;确定第一存储盘集合中与RAID对应的多个存储盘;以及更新第一存储盘集合的一组关联度,以指示多个存储盘中的存储盘对之间的数据耦合。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被存储在非瞬态计算机存储介质中并且包括机器可执行指令,该机器可执行指令在设备中运行时使该设备执行根据本公开的第一方面所描述的方法的任意步骤。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了本公开的实施例可以在其中被实现的示例性存储系统的示意图;
图2示出了根据本公开的实施例的来自多个存储盘的多个存储块组成RAID的示意图;
图3图示了根据本公开实施例的存储管理的过程的流程图;
图4A和图4B示出了根据本公开实施例的添加存储盘后的示例存储盘集合;
图5示出了根据本公开实施例的一个示例图形表示;以及
图6图示了可以用来实施本公开内容的实施例的示例设备的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
示例存储系统
在基于RAID的存储系统中,一个RAID可以包括来自多个存储盘的存储块,多个存储盘也可以构成多个独立的RAID。在基于RAID的数据恢复过程中,可以利用同一RAID中的其他存储块来恢复目标存储块的数据。为了能够尽可能降低存储盘故障所带来的风险,基于RAID的存储系统总是希望多个RAID中的存储块可以平均地分布到各个存储盘中,使得一个存储盘的故障的影响被尽可能地降低。然而,在存储系统进行了垃圾回收操作或者当存储系统中添加了新的存储盘时,存储系统中多个RAID的存储块的分布可能不均衡。
针对上述问题以及潜在的其他问题,本公开的实施例提出了一种存储管理的方案,通过为每个存储盘集合维护对应的关联度,可以更好地指示存储盘集合中的使用均衡程度。
为了更好地理解根据本公开实施例的存储管理的过程,以下将首先介绍在基于RAID的存储系统的基本架构。
图1示出了本公开的实施例可以在其中被实现的示例性存储系统100的示意图。如图1所示,存储系统100包括硬件存储池140,其包括多个存储盘142-1、142-2、142-3、……、142-N(N是大于等于1的整数)等等,以用于提供存储系统100的物理存储空间。为便于讨论,这些存储盘有时被统称为或分别称为存储盘142。存储盘142可以包括各种类型的具有存储功能的设备,包括但不限于,硬盘(HDD)、固态盘(SSD)、可移除盘、紧致盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘、串行附接小型计算机系统接口(SCSI)存储盘(SAS)、串行高级技术附接(SATA)存储盘、任何其他磁性存储设备和任何其他光学存储设备、或它们的任何组合。
存储系统100中的RAID系统130建立在多个存储盘142之上,以利用RAID算法组织存储盘142的物理存储空间。RAID系统130向存储空间100的映射器120提供扁平物理地址空间。映射器120被配置为管理存储系统100的物理地址与逻辑地址之间的映射。映射器120向命名空间模块110提供扁平线性逻辑地址空间。命名空间模块110利用映射器提供的逻辑地址空间,并且可以调用映射器120的应用程序接口(API)来获得逻辑到物理地址的映射。在对存储系统100执行I/O操作时,来自用户的I/O请求由命名空间模块110接收,并被发送给映射器120。映射器120查找I/O请求所针对的数据的物理(数据被写入的地址或读取数据的地址),并向RAID系统130发起I/O,以由RAID系统130向后端的存储盘进行实际I/O操作。
应当理解,图1仅示意性地示出了存储系统100中的与本公开的实施例相关的单元、模块或组件。图1中示出的各个组件仅是一种示例存储系统管理架构,在其他基于RAID的存储系统中,可能存在其他架构划分方式,用于其他功能的其他单元、模块或组件,等等。因此,本公开的实施例不限于图1所描绘的具体设备、单元、模块或组件,而是一般性地适用于任何基于RAID技术的存储系统。
在基于RAID的存储系统中,可以利用各种RAID算法来组织物理存储盘142,包括传统RAID算法以及当前被称为RAID 2.0的架构。为了更好地理解基于RAID的存储系统,图2示出了RAID系统130的示例结构。如图2所示,存储盘142被划分为多个盘区(disk extent)或多个盘切片(disk slice)202。这样的划分可以是逻辑上的划分。盘区202的大小取决于存储盘大小和划分方式。在一些示例中,盘区202的大小可以是千兆字节(gigabyte)级别。当然,根据实际部署需要,其他盘区大小也是可能的。
RAID系统130以盘区202为单位构建。在一些动态分配的存储系统中,当RAID系统130初始被创建时,所有盘区是空闲的。随着数据写入,当发现RAID的容量不足时,RAID系统130将以一定算法从不同存储盘142中选择多个盘区202,并将这些盘区202组成RAID系统130的RAID块210。这样的RAID块210可以被认为是一个小型的RAID,因为RAID块210的I/O访问和管理类似于常规的RAID。
可以以任何适当算法,诸如轮询分发(Round-Robin)算法、加权轮询分发算法等,从多个存储盘142选择盘区202。每个RAID 210所包括的盘区的数目取决于RAID的类型,以提供不同级别的数据冗余和恢复能力。RAID的类型包括RAID 2、RAID 3、RAID 4、RAID 5、RAID 6、RAID 7、RAID 10等。在图2以及下文中,出于解释说明的目的,以RAID 5类型来讨论本公开的示例实施例。然而,应当理解,本公开的示例实施例可以类似地应用于任何其他类型的RAID。
在图2中,根据RAID 5类型,每个RAID块210包括来自不同的存储盘142的五个盘区。如以上提及的,根据数据写入的需要可以不断分配分配新的RAID块210,使得RAID系统130的容量实现动态增长。图2中示出了已分配的五个RAID块210(即,RAID块0至RAID块5)。在图2中在每个盘区202中以“RAID块0”、“RAID块1”、“RAID块2”、“RAID块3”、“RAID块4”或“RAID块5”来标记该盘区被分配到的相应RAID块。各个存储盘142中未被选择用作RAID块的盘区202被认为是空闲盘区202,被标记为“空闲”。
在一些实施例中,每个存储盘142中还可以被预留一个或多个盘区202(被标记为“预留”),以用于在发生盘故障时数据重建。例如,如果一个存储盘142发生故障,该存储盘142的盘区202均被标注为故障,这意味着基于这些盘区202建立的RAID块210也受到影响。存储系统100可以启动重建过程,将选择预留的盘区202用于替换RAID块210中被标记为故障的盘区,并将被标记为故障的盘区中的数据/信息重建到所预留的盘区202。根据重建算法,重建过程可能是在盘故障后一段时间内被启动。本公开的实施例在此方面不受限制。
数据耦合
以图2作为示例,存储盘集合形成包括RAID块0、RAID块1、RAID块2、RAID3、RAID4和RAID块5的一组RAID。存储系统100进一步可以根据同时与一对存储盘相关联的RAID的数目来确定多个存储盘(存储盘142-1、142-2、142-3、142-4、142-5和142-6)中任意两个存储盘之间的数据耦合程度。例如,以图2中的存储盘142-1和存储盘142-2作为示例,它们之间的数据耦合程度可以被确定为同时与该对存储盘管理的RAID的数目,即同时包含该对存储盘中存储块的RAID(RAID块0、RAID块1、RAID块2和RAID块3)的数目(即,4个)。
类似地,存储系统100可以为存储盘集合142中的每一对存储盘确定数据耦合程度,进而得到耦合矩阵(也被称为临近矩阵)。例如,表1给出了由存储系统100确定的一个示例耦合矩阵,其中存储盘自身的数据耦合程度被设置为0。
表1
如表1的示例耦合矩阵所示,其中表格中的每一项表示一对存储盘之间的数据耦合程度。例如,存储盘0和存储盘1的数据耦合程度为35,存储盘0和存储盘2的数据耦合程度为36。应当理解,数据耦合程度越高,表示两个存储盘之间的数据依赖性越强。
耦合矩阵可以指示一组RAID在存储盘集合中的分布是否平均,并且当分布不平均时可以触发对至少一个RAID进行调整,以使得RAID的分布更为平均。这能够提高了该组RAID的存储稳定性,并有效地降低了存储盘故障可能带来的风险。
跨存储盘集合的RAID
如上文所讨论的,耦合矩阵可以指示一组RAID在存储盘集合中的分布是否均匀。通常而言,存储盘集合(也被称为RRS(RAID RESILIENCY SET))是指固定数目的存储盘构成的集合,在需要对存储盘集合中的RAID进行重建等操作时,只能够使用该存储盘集中的存储块而不会使用其他存储盘。然而,在一些情况下,例如当向存储系统添加一组新的存储盘时,为了可用容量等方面的考虑,原本属于同一存储盘集合的存储盘可以会被拆分到两个不同的存储盘集合。这会导致一个RAID被分布到两个不同的存储盘集合,在这种情况下,现有的方法难以有效地更新不同存储盘集合各自的耦合矩阵。
根据本公开的实施例,提供了一种存储管理的方案。在该方案中,首先,确定与第一存储盘集合相关联的一组独立冗余磁盘阵列(RAID),其中与RAID相对应的存储块中的第一部分位于第一存储盘集合中。第一存储盘集合中与RAID对应的多个存储盘随后被确定,并且第一存储盘集合的一组关联度能够被更新以指示多个存储盘中的存储盘对之间的数据耦合。基于这样的方式,本公开的实施例能够更为准确地指示存储盘集合中各存储盘对的数据耦合。
下文将参考图3来描述根据本公开实施例的存储管理的过程。图3示出了根据本公开的一些实施例的存储管理的过程300的流程图。过程300例如可以由用于管理图1中所示的存储系统100的管理设备来实现。
在框302,管理设备确定与第一存储盘集合相关联的一组独立冗余磁盘阵列(RAID),其中与RAID相对应的存储块中的第一部分位于第一存储盘集合中。以图2作为示例,当例如添加6个新的存储盘时,原来的存储盘集合(存储盘142-1至存储盘142-6)被拆分为两个不同的存储盘集合。图4A和图4B示出了根据本公开实施例的添加存储盘后的示例存储盘集合400A和400B。
如图4A和图4B所示,存储盘集合400A包括原有的存储盘142-1、存储盘142-2和存储盘142-3以及新添加的存储盘402-1、存储盘402-2和存储盘402-3。存储盘集合400B包括原有的存储盘142-4、存储盘142-5和存储盘142-6以及新添加的存储盘402-4、存储盘402-5和存储盘402-6。以图4A的存储盘集合400A作为第一存储盘集合的示例,管理设备可以确定RAID 210的第一部分210-1位于存储盘集合400A中,RAID 210的第二部分210-2位于不同的存储盘集合400B中。
在框304,管理设备确定第一存储盘集合中与RAID对应的多个存储盘。在一些实施例中,管理设备可以通过确定RAID所对应的存储块被包含在哪些存储盘中来确定该多个存储盘。具体地,以图4A作为示例,管理设备可以确定存储盘集合400A中与RAID 210所对应的存储盘包括存储盘140-1、存储盘140-2和存储盘140-3。
在框306,管理设备更新第一存储盘集合的一组关联度,以指示多个存储盘中的存储盘对之间的数据耦合。在一些实施例中,对于完整被包括在第一存储盘集合中的RAID,管理设备可以按照常规的方法来确定存储盘对之间的数据耦合,在此不再详叙。
对于部分地被包括在第一存储盘集合中的RAID,管理设备可以仅考虑与第一部分相对应的存储盘之间的数据耦合。例如,对于图4A的示例,管理设备可以确定存储盘对(存储盘140-1与存储盘140-2、存储盘140-1与存储盘140-3和存储盘140-2与存储盘140-3)之间存在数据耦合,而不考虑存储盘140-1与位于不同的存储盘集合中的存储盘140-4之间的数据耦合。例如,管理设备可以通过在存储设备集合400A的耦合矩阵中将存储盘对(存储盘140-1与存储盘140-2、存储盘140-1与存储盘140-3和存储盘140-2与存储盘140-3)的数据耦合程度加“1”。基于这样的方式,本公开的实施例可以更好地管理单独的存储设备集合,以反映该存储设备集合内部的使用均衡程度。
管理设备可以确定多个存储盘中的一个存储盘中包含的、与RAID相关联的存储块的数。随后,管理设备可以基于数目来更新一组关联度。例如,对于8D+1P类型的RAID,每个相关联的存储盘需要提供两个存储块来构建RAID。在此事例中,管理设备例如可以将存储盘对(存储盘140-1与存储盘140-2、存储盘140-1与存储盘140-3和存储盘140-2与存储盘140-3)的数据耦合程度加“2”。
在一些实施例中,为了使得同一个RAID被维护在同一个存储盘集合中,管理设备还可以在第一存储盘集合中分配与第二部分相对应的目标存储块,并且使得第二部分中的数据被移动到目标存储块。
例如,对于图4A和图4B的示例,管理设备例如可以在新的存储盘402-1、存储盘402-2和存储盘402-3中分配目标存储块,并使得RAID 210的第二部分210-2中的数据被移动到目标存储块中。
在一些实施例中,管理设备还可以更新RAID以与目标存储块关联,从而使得与更新后的RAID关联的存储块位于同一个存储盘集合中,以更加方便管理。
在一些实施例中,管理设备还可以确定与目标存储块对应的目标存储盘。随后,管理设备可以更新一组关联度,以指示多个存储盘和目标存储盘中的存储盘对之间的数据耦合。例如,在将第二部分210-2中的数据移动到存储盘402-1、存储盘402-2和存储盘402-3中的目标存储块后,管理设备进一步可以确定存储盘140-2、存储盘140-1、存储盘140-3、存储盘402-1、存储盘402-2和存储盘402-3之间任意一个存储盘对均存在数据耦合。
在一些实施例中,管理设备还可以提供该组关联度的图形表示。例如,存储系统还可以以表所示的矩阵形式来提供该组关联度,以使得管理人员可以直观地了解分布是否平均。备选地,管理设备还可以通过图表的方式以更为直观地展示该组RAID的分布均衡程度,例如,图5示出了根据本公开实施例的一个示例图形表示500,通过图形化的表示,本公开的实施例能够使得管理人员更为直观地了解哪些存储盘的分布不均匀,并且以确定是否需要启动RAID的重新分配。
图6示出了可以用来实施本公开内容的实施例的示例设备600的示意性框图。例如,根据本公开实施例的用于管理存储系统100的管理设备可以由设备600来实施。如图所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法300,可由处理单元601执行。例如,在一些实施例中,方法300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序被加载到RAM 603并由CPU 601执行时,可以执行上文描述的方法300的一个或多个动作。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施方式。
Claims (15)
1.一种存储管理的方法,包括:
确定与第一存储盘集合相关联的一组独立冗余磁盘阵列RAID,与所述RAID相对应的存储块中的第一部分位于所述第一存储盘集合中;
确定所述第一存储盘集合中与所述RAID对应的多个存储盘;以及
更新所述第一存储盘集合的一组关联度,以指示所述多个存储盘中的存储盘对之间的数据耦合。
2.根据权利要求1所述的方法,其中与所述RAID相对应的存储块中的第二部分位于与所述第一存储盘集合不同的第二存储盘集合中,所述第二存储盘集合维护一组关联度,以指示所述第二存储盘集合中的多个存储盘中的存储盘对之间的数据耦合。
3.根据权利要求2所述的方法,还包括:
在所述第一存储盘集合中分配与所述第二部分相对应的目标存储块;
使得所述第二部分中的数据被移动到所述目标存储块;以及
更新所述RAID以与所述目标存储块关联。
4.根据权利要求3所述的方法,还包括:
确定与所述目标存储块对应的目标存储盘;以及
更新所述一组关联度,以指示所述多个存储盘和所述目标存储盘中的存储盘对之间的数据耦合。
5.根据权利要求1所述的方法,其中更新所述一组关联度包括:
确定多个存储盘中的一个存储盘中包含的、与所述RAID相关联的存储块的数目;以及
基于所述数目,更新所述一组关联度。
6.一种电子设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
确定与第一存储盘集合相关联的一组独立冗余磁盘阵列RAID,与所述RAID相对应的存储块中的第一部分位于所述第一存储盘集合中;
确定所述第一存储盘集合中与所述RAID对应的多个存储盘;以及
更新所述第一存储盘集合的一组关联度,以指示所述多个存储盘中的存储盘对之间的数据耦合。
7.根据权利要求6所述的设备,其中与所述RAID相对应的存储块中的第二部分位于与所述第一存储盘集合不同的第二存储盘集合中,所述第二存储盘集合维护一组关联度,以指示所述第二存储盘集合中的多个存储盘中的存储盘对之间的数据耦合。
8.根据权利要求7所述的设备,所述动作还包括:
在所述第一存储盘集合中分配与所述第二部分相对应的目标存储块;
使得所述第二部分中的数据被移动到所述目标存储块;以及
更新所述RAID以与所述目标存储块关联。
9.根据权利要求8所述的设备,所述动作还包括:
确定与所述目标存储块对应的目标存储盘;以及
更新所述一组关联度,以指示所述多个存储盘和所述目标存储盘中的存储盘对之间的数据耦合。
10.根据权利要求6所述的设备,其中更新所述一组关联度包括:
确定多个存储盘中的一个存储盘中包含的、与所述RAID相关联的存储块的数目;以及
基于所述数目,更新所述一组关联度。
11.一种计算机程序产品,所述计算机程序产品被存储在非瞬态计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在设备中运行时使所述设备执行动作,所述动作包括:
确定与第一存储盘集合相关联的一组独立冗余磁盘阵列RAID,与所述RAID相对应的存储块中的第一部分位于所述第一存储盘集合中;
确定所述第一存储盘集合中与所述RAID对应的多个存储盘;以及
更新所述第一存储盘集合的一组关联度,以指示所述多个存储盘中的存储盘对之间的数据耦合。
12.根据权利要求11所述的计算机程序产品,其中与所述RAID相对应的存储块中的第二部分位于与所述第一存储盘集合不同的第二存储盘集合中,所述第二存储盘集合维护一组关联度,以指示所述第二存储盘集合中的多个存储盘中的存储盘对之间的数据耦合。
13.根据权利要求12所述的计算机程序产品,所述动作还包括:
在所述第一存储盘集合中分配与所述第二部分相对应的目标存储块;
使得所述第二部分中的数据被移动到所述目标存储块;以及
更新所述RAID以与所述目标存储块关联。
14.根据权利要求13所述的计算机程序产品,所述动作还包括:
确定与所述目标存储块对应的目标存储盘;以及
更新所述一组关联度,以指示所述多个存储盘和所述目标存储盘中的存储盘对之间的数据耦合。
15.根据权利要求11所述的计算机程序产品,其中更新所述一组关联度包括:
确定多个存储盘中的一个存储盘中包含的、与所述RAID相关联的存储块的数目;以及
基于所述数目,更新所述一组关联度。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010044193.6A CN113126891B (zh) | 2020-01-15 | 2020-01-15 | 存储管理的方法、设备和计算机程序产品 |
US16/936,732 US11269530B2 (en) | 2020-01-15 | 2020-07-23 | Method for storage management, electronic device and computer program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010044193.6A CN113126891B (zh) | 2020-01-15 | 2020-01-15 | 存储管理的方法、设备和计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113126891A true CN113126891A (zh) | 2021-07-16 |
CN113126891B CN113126891B (zh) | 2024-05-24 |
Family
ID=76761021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010044193.6A Active CN113126891B (zh) | 2020-01-15 | 2020-01-15 | 存储管理的方法、设备和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11269530B2 (zh) |
CN (1) | CN113126891B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103513938A (zh) * | 2013-09-16 | 2014-01-15 | 华为技术有限公司 | 一种独立磁盘冗余阵列raid系统扩容方法及装置 |
CN105988727A (zh) * | 2015-02-25 | 2016-10-05 | 中兴通讯股份有限公司 | 一种基于raid的存储方法和存储装置 |
US10126988B1 (en) * | 2017-07-28 | 2018-11-13 | EMC IP Holding Company LLC | Assigning RAID extents and changing drive extent allocations within RAID extents when splitting a group of storage drives into partnership groups in a data storage system |
US20190129614A1 (en) * | 2017-10-27 | 2019-05-02 | EMC IP Holding Company LLC | Load Balancing of I/O by Moving Logical Unit (LUN) Slices Between Non-Volatile Storage Represented by Different Rotation Groups of RAID (Redundant Array of Independent Disks) Extent Entries in a RAID Extent Table of a Mapped RAID Data Storage System |
US20190155535A1 (en) * | 2017-10-27 | 2019-05-23 | EMC IP Holding Company LLC | Methods, devices and computer program products for managing a redundant array of independent disks |
US20190205053A1 (en) * | 2017-01-12 | 2019-07-04 | Hitachi, Ltd. | Storage apparatus and distributed storage system |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9594652B1 (en) * | 2013-12-19 | 2017-03-14 | Veritas Technologies | Systems and methods for decreasing RAID rebuilding time |
CN103699343A (zh) * | 2013-12-25 | 2014-04-02 | 华为技术有限公司 | 独立磁盘冗余阵列的确定方法及装置 |
US10146624B1 (en) | 2017-04-24 | 2018-12-04 | EMC IP Holding Company LLC | Disk extent rebalancing in mapped RAID storage arrays |
US10678643B1 (en) | 2017-04-26 | 2020-06-09 | EMC IP Holding Company LLC | Splitting a group of physical data storage drives into partnership groups to limit the risk of data loss during drive rebuilds in a mapped RAID (redundant array of independent disks) data storage system |
US10152254B1 (en) | 2017-04-28 | 2018-12-11 | EMC IP Holding Company LLC | Distributing mapped raid disk extents when proactively copying from an EOL disk |
US10146459B1 (en) | 2017-04-28 | 2018-12-04 | EMC IP Holding Company LLC | Disk activity balancing in mapped raid storage arrays by data remapping |
US10592111B1 (en) | 2017-07-28 | 2020-03-17 | EMC IP Holding Company LLC | Assignment of newly added data storage drives to an original data storage drive partnership group and a new data storage drive partnership group in a mapped RAID (redundant array of independent disks) system |
US10140041B1 (en) * | 2017-07-28 | 2018-11-27 | EMC IP Holding Company LLC | Mapped RAID (redundant array of independent disks) in a data storage system with RAID extent sub-groups that are used to perform drive extent allocation and data striping for sequential data accesses to a storage object |
US10146447B1 (en) * | 2017-07-28 | 2018-12-04 | EMC IP Holding Company LLC | Mapped RAID (redundant array of independent disks) in a data storage system with drive extents allocated to individual RAID extents from individual sub-groups of storage made up of ranges of logical block addresses defined across a group of hard disk drives |
CN110058789B (zh) * | 2018-01-18 | 2022-06-03 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、存储系统以及计算机程序产品 |
CN110096219B (zh) | 2018-01-31 | 2022-08-02 | 伊姆西Ip控股有限责任公司 | 从驱动器组生成的驱动器区段池的有效容量 |
CN110096218B (zh) * | 2018-01-31 | 2022-12-20 | 伊姆西Ip控股有限责任公司 | 用于为存储对象提供raid数据保护的方法、系统和介质 |
US11340816B2 (en) | 2020-01-14 | 2022-05-24 | EMC IP Holding Company LLC | Deallocation of drive extents for mapped raid (redundant array of independent disks) extents |
US11262920B2 (en) | 2020-03-13 | 2022-03-01 | EMC IP Holding Company LLC | Mapped raid (redundant array of independent disks) with drive health aware protection groups |
-
2020
- 2020-01-15 CN CN202010044193.6A patent/CN113126891B/zh active Active
- 2020-07-23 US US16/936,732 patent/US11269530B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103513938A (zh) * | 2013-09-16 | 2014-01-15 | 华为技术有限公司 | 一种独立磁盘冗余阵列raid系统扩容方法及装置 |
CN105988727A (zh) * | 2015-02-25 | 2016-10-05 | 中兴通讯股份有限公司 | 一种基于raid的存储方法和存储装置 |
US20190205053A1 (en) * | 2017-01-12 | 2019-07-04 | Hitachi, Ltd. | Storage apparatus and distributed storage system |
US10126988B1 (en) * | 2017-07-28 | 2018-11-13 | EMC IP Holding Company LLC | Assigning RAID extents and changing drive extent allocations within RAID extents when splitting a group of storage drives into partnership groups in a data storage system |
US20190129614A1 (en) * | 2017-10-27 | 2019-05-02 | EMC IP Holding Company LLC | Load Balancing of I/O by Moving Logical Unit (LUN) Slices Between Non-Volatile Storage Represented by Different Rotation Groups of RAID (Redundant Array of Independent Disks) Extent Entries in a RAID Extent Table of a Mapped RAID Data Storage System |
US20190155535A1 (en) * | 2017-10-27 | 2019-05-23 | EMC IP Holding Company LLC | Methods, devices and computer program products for managing a redundant array of independent disks |
Also Published As
Publication number | Publication date |
---|---|
US11269530B2 (en) | 2022-03-08 |
CN113126891B (zh) | 2024-05-24 |
US20210216208A1 (en) | 2021-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200042345A1 (en) | Volume management by virtual machine affiliation auto-detection | |
US11320988B2 (en) | Method, apparatus and computer program product for managing disk array | |
CN111095189A (zh) | 使用基于云的模组的精简配置 | |
CN113590019B (zh) | 用于存储管理的方法、电子设备和计算机程序产品 | |
US11093357B2 (en) | Method for managing disks, electronic device and computer program product | |
US11106382B2 (en) | Method, device and computer program product for storage management | |
US11347414B2 (en) | Using telemetry data from different storage systems to predict response time | |
US10019182B2 (en) | Management system and management method of computer system | |
CN111857557B (zh) | Raid类型转换的方法、设备和计算机程序产品 | |
US20190034089A1 (en) | Storage mirroring decision by capabilty sets | |
US11119703B2 (en) | Utilizing a set of virtual storage units distributed across physical storage units | |
US11287993B2 (en) | Method, device, and computer program product for storage management | |
US10606506B2 (en) | Releasing space allocated to a space efficient target storage in a copy relationship with a source storage | |
US11726658B2 (en) | Method, device, and computer program product for storage management | |
CN113126891B (zh) | 存储管理的方法、设备和计算机程序产品 | |
US11385822B2 (en) | Moving data from a first group of slices to a second group of slices | |
US20210334042A1 (en) | Data storage method, device and computer program product | |
US9471223B2 (en) | Volume class management | |
CN113590378A (zh) | 存储管理的方法、设备和计算机程序产品 | |
CN112748860B (zh) | 用于存储管理的方法、电子设备和计算机程序产品 | |
US11995322B2 (en) | Method, device, and program product for managing computing system based on client/server architecture | |
US20230342061A1 (en) | Method, electronic device and computer program product for data processing | |
US20230342330A1 (en) | Method, device, and computer program product for adaptive matching | |
US20220179591A1 (en) | Method, electronic device and computer program product for accessing storage system | |
CN112748857A (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 |