CN109725826A - 管理存储系统的方法、设备和计算机可读介质 - Google Patents
管理存储系统的方法、设备和计算机可读介质 Download PDFInfo
- Publication number
- CN109725826A CN109725826A CN201711023156.1A CN201711023156A CN109725826A CN 109725826 A CN109725826 A CN 109725826A CN 201711023156 A CN201711023156 A CN 201711023156A CN 109725826 A CN109725826 A CN 109725826A
- Authority
- CN
- China
- Prior art keywords
- raid stripe
- raid
- storage
- disk
- disc zone
- 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
Classifications
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1088—Reconstruction on already foreseen single or plurality of spare disks
-
- 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/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or 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/0613—Improving I/O performance in relation to throughput
-
- 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/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
Abstract
本公开的实施例提供了用于管理存储系统的方法和设备。在一个实施例中,确定存储系统中的待重建的多个RAID条带。基于存储系统中的第一存储处理器处的针对多个RAID条带的盘区段级别的多个I/O负载状态,从多个RAID条带中选择第一RAID条带,第一RAID在盘区段级别具有高I/O负载。继而,确定用于重建第一RAID条带的第一盘区段,并且使第一存储处理器在第一盘区段处重建针对第一RAID条带的数据。还公开了实施该方法的相应的设备。
Description
技术领域
本公开的实施例总体上涉及数据存储技术领域,并且具体地,涉及一种管理存储系统的方法、设备和计算机可读介质。
背景技术
独立磁盘冗余阵列(RAID)是一种数据存储虚拟化技术,其将多个物理磁盘组合成单个逻辑单元,以提高数据冗余、可靠性和性能。以传统的RAID 5为例,RAID 5包括具有分布式奇偶校验的块级条带。奇偶校验信息分布在多个物理磁盘中。在单个物理磁盘故障时,后续读取的数据可以根据分布式奇偶校验来计算,使得数据不被丢失。同时,可以选择热备用物理磁盘来替换损坏的物理磁盘。损坏的物理磁盘上的所有数据被重建,并且被写入所选择的热备用物理磁盘中。
然而,传统RAID技术重建时间受制于热备用物理磁盘的输入/输出(I/O)带宽。因此,对于传统RAID技术,热备用物理磁盘的I/O带宽已经成为瓶颈,使得传统RAID技术难以减少重建时间,尤其在物理磁盘的存储容量越来越大的情况下。
发明内容
总体上,本公开的实施例提供一种改善映射RAID重建性能的存储管理的解决方案。
根据本公开的第一方面,提供一种用于存储管理系统的方法。该方法包括:确定存储系统中的待重建的多个RAID条带;基于存储系统中的第一存储处理器处的针对多个RAID条带的盘区段级别的多个I/O负载状态,从多个RAID条带中选择第一RAID条带,第一RAID在盘区段级别具有高I/O负载;确定用于重建第一RAID条带的第一盘区段;以及使第一存储处理器在第一盘区段处重建针对第一RAID条带的数据。
在某些实施例中,存储系统包括多个存储处理器,并且其中第一存储处理器在第一盘区段处对第一RAID条带的重建与第二存储处理器在第二盘区段处对第二RAID条带的重建并发地进行。
在某些实施例中,选择第一RAID条带包括:从多个RAID条带中选择在多个存储处理器处的在盘级别具有低I/O负载的第一组RAID条带;以及从第一组RAID条带中选择第一RAID条带。
在某些实施例中,确定第一盘区段包括:从存储系统中的对于重建第一RAID条带可用的多个盘中选择在第一存储处理器处具有低I/O负载的第一组盘;从第一组盘中选择具有高可用容量的盘以作为用于重建第一RAID条带的候选盘;以及在候选盘中选择可用的盘区段作为第一盘区段。
在某些实施例中,方法还包括:基于以下项中的至少一项来确定用于并发地重建多个RAID条带所允许的并发数目:当前的用户I/O负载,多个存储处理器的内核数目,多个RAID条带的数目,以及存储系统中的盘的数目。
在某些实施例中,方法还包括:从多个存储处理器获取多个存储处理器处的I/O负载状态,I/O负载状态包括以下中的至少一项:针对多个RAID条带的盘级别的多个I/O负载状态,针对多个RAID条带的盘区段级别的多个I/O负载状态,以及针对存储系统中的多个盘的多个I/O负载状态。
在本公开的第二方面中,提供了一种电子设备。该设备包括处理器以及与处理器耦合的存储器,存储器具有存储于其中的指令,指令在被处理器执行时使设备执行动作。动作包括:确定存储系统中的待重建的多个RAID条带;基于存储系统中的第一存储处理器处的针对多个RAID条带的盘区段级别的多个I/O负载状态,从多个RAID条带中选择第一RAID条带,第一RAID在盘区段级别具有高I/O负载;确定用于重建第一RAID条带的第一盘区段;以及使第一存储处理器在第一盘区段处重建针对第一RAID条带的数据。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机可读程序指令,计算机可读程序指令在被执行时使设备执行根据本公开的第一方面提供的方法。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1图示本公开的实施例可应用于其中的存储环境示意图;
图2示出映射RAID的逻辑结构的示意图;
图3示出并发执行重建任务中产生重建瓶颈的示意图;
图4示出根据本公开的实施例的数据重建过程的流程图;
图5示出根据本公开的实施例的并发重建过程的流程图;
图6示出根据本公开实施例的创建重建任务的过程的流程图;
图7示出根据本公开的实施例的针对多个存储处理器选择重建RAID条带的过程的流程图;
图8示出根据本公开的实施例的针对多个存储处理器选择备用盘区段的过程的流程图;
图9示出根据本公开实施例的双存储处理器并发重建性能相对于传统单存储处理器的重建性能的图表;以及
图10图示根据本公开的实施例的设备的示意图。
具体实施方式
现将结合附图对本公开的实施例进行具体的描述。应当注意的是,附图中对相似的部件或者功能组件可能使用同样的数字标示。所附附图仅仅旨在说明本公开的实施例。本领域的技术人员可以在不偏离本公开精神和保护范围的基础上从下述描述得到替代的实施方式。
如本文中所述,术语“包括”及其各种变体可以被理解为开放式术语,其意味着“包括但不限于”。术语“基于”可以被理解为“至少部分地基于”。术语“一个实施例”可以被理解为“至少一个实施例”。术语“另一实施例”可以被理解为“至少一个其它实施例”。
图1图示了本公开的实施例可应用于其中的存储环境100。如图所示,存储环境100包括一个或多个客户端110、一个或多个存储处理器(Storage Processor,简称“SP”)1201、1202、120s(统称“SP 120”)以及存储装置130。图中示出存储环境100中有S个SP。客户端110可以是任何适当的电子设备,其可以通过存储处理器120实现对数据在存储装置130上的存储、获取和处理等操作。
在示例的存储环境100中,配置有多个存储器处理器来提供存储系统更高的可靠性。在本公开的某些实施例中,存储处理器1201、1202、120s可以被布置在单个物理设备(例如存储服务器)中。客户端110可以经由存储服务器的前端设备(例如,诸如网络接口控制器、光纤接入接口等接入部件)与任一存储处理器通信,请求其偏好的存储处理器提供所期望的存储服务。
存储装置130可以包括一个或多个物理存储设备131。物理存储设备131的示例包括但不限于:固态盘(SSD)、光纤通道(FC)盘、串行高级技术附件(SATA)盘、串行连接小型计算机系统接口(SAS)盘等。在本公开的某些实施例中,可以利用映射RAID技术来配置物理存储设备131。
在传统RAID中,当一个物理磁盘发生故障,将触发重建过程。重建过程通常将仅由一个存储处理器来控制。存储系统将选择一个未使用的物理磁盘作为备用磁盘,并且将从RAID中的其他磁盘读取数据,根据分布式奇偶校验计算(例如,通过异或(XOR)运算)而重建数据,并且将重建的数据写入备用磁盘。
如前所述,传统RAID的重建过程中,备用磁盘的I/O带宽将成为重建过程的瓶颈。利用映射RAID技术以及利用多个处理存储器参与执行数据重建过程,有望提高存储环境100中的数据重建性能。
图2示出了映射RAID的逻辑结构200的示意图。逻辑结构200示出了存储池210、虚拟盘组220以及RAID条带组230。存储池210可以由N个存储盘2111至211N(下文统称为存储盘211)构成,存储盘211例如可以是物理存储设备131。将每个存储盘的存储区域划分为不重叠的多个分段,这些分段的大小通常可以是固定的。本文中将存储池210中的这些分段称之为盘区段(DE:Disk Extent)。例如,图中示出了每个存储盘被划分为K个盘区段。
映射RAID的逻辑空间被划分为连续的、不重叠的多个分段。本文中将映射RAID的逻辑空间中的这些分段称之为RAID区段片(RAID Extent Slice,简称“RES”)或RAID条带。作为示例,逻辑结构200示出了具有M个RAID条带的RAID条带组230。为简便起见,每个RAID条带在图中以RES(0)至RES(M-1)标记。每个RAID条带被映射到多个盘区段,这些盘区段可以根据RAID策略(诸如RAID级别)而从不同的存储盘211选择。
仅仅作为示例,逻辑结构200示出了基于RAID 5的映射RAID。每个RAID条带的数据对应于5个盘区段,每个盘区段均来自不同的存储盘211。换言之,每个RAID条带由相应的5个盘区段映射而形成。映射RAID引入抽象层来描述RAID条带与盘区段之间的这种映射关系。在逻辑结构200中,虚拟盘组220用于模拟传统RAID概念,其包括5个虚拟盘2201至2205,并且每个虚拟盘包括M个虚拟盘区段。
作为示例,逻辑结构200以不同图案示出了映射RAID的3个RAID条带RES(0)、RES(1)和RES(2)。每个RAID条带被映射到5个虚拟盘区段,例如对于RES(0),其所对应的虚拟盘区段分别为{VE(0,0),VE(1,0),VE(2,0),VE(3,0),VE(4,0)}。每个虚拟盘盘区被映射到存储池210中的一个盘区段,例如VE(0,0)映射到DE(0,0)。由此RES(0)被映射到{DE(0,0),DE(1,0),DE(2,0),DE(4,4),DE(n,4)}。
在映射RAID中,当一个存储盘发生故障,该存储盘所涉及的多个RAID条带将受到影响,这些受影响的RAID条带需要被重建。对于每个受影响的RAID条带,将选择一个未使用的盘区段作为重建目的地,并且在所选择的盘区段处重建数据。通常,在存储池中将配置热备区以作为数据重建的备用区段。例如,存储池210中的热备区212被布置在存储盘211的一端端部。可以理解,热备区212也可以被布置在每个存储盘211的不同位置。
传统上,在对映射RAID的数据重建时,由单个存储处理器以RAID条带的逻辑顺序来操作。发明人注意到,在单个存储处理器具有多个处理核时,并发地执行RAID条带重建是可能的。
图3示出了并发执行重建任务产生重建瓶颈的示意图。如图所示,假设该存储系统支持并发地重建3个RAID条带,在条带组321中正在顺序地并发执行的RAID条带组321包括RES(0)、RES(1)和RES(2),其他待重建的RAID条带例如构成待重建条带组322。
假定存储盘3111发生故障,则该盘上所有的盘区段所映射的RAID条带都需要被重建。例如DE(0,0)、DE(0,1)、DE(0,2)所映射的RAID条带RES(0)、RES(1)和RES(2)可以由某个存储处理器并行地重建。由于在映射RAID中,RAID条带组已经在存储池310中的每个存储盘311上被分布。并发重建的RAID条带可能会被重建到相同的目的地存储盘,从而导致实质上并没有实现并发处理。例如,RES(1)和RES(2)可能都被重建到存储盘3113上相应的盘区段DE(4,K-3)和DE(4,K-2),由此导致重建瓶颈。
不同于已知方案,本公开的实施例通过改进存储设备的重建过程而提供一种优化数据重建性能的解决方案,并且为了进一步提高重建性能和效率而提供在多个存储处理器之间并发重建映射RAID数据的解决方案。
在本公开的一些实施例中,对于映射RAID数据重建并不以逻辑空间中RAID条带的逻辑顺序而进行重建。取代地,通过多维度地考虑映射RAID中不同存储区块的I/O负载状态来确定待重建的RAID条带以及要使用的相应的备用盘区段,从而提高重建性能。
具体来说,图4示出了根据本公开的实施例的数据重建过程400,其可以在某个存储处理器执行,或者在存储环境100中调度重建任务的调度装置处执行。该调度装置可以被布置在存储环境100中的任何合适之处,例如可以与某个存储处理器并置。
在410,确定存储系统中的待重建的多个RAID条带。在映射RAID中,当某个存储盘出现故障,该存储盘上所存储的数据需要被重建。这些数据所在的盘区段被映射到多个RAID条带。由此,可以根据存储系统中所记录的映射关系确定需要重建的所有RAID条带。
在420,对于某个存储处理器,基于该存储处理器处的针对多个RAID条带的盘区段级别的多个I/O负载状态,从多个RAID条带中选择RAID条带(称之为第一RAID条带)以用于由该存储处理器重建其数据。该第一RAID条带在盘区段级别具有高I/O负载,存储处理器在RAID条带上具有更多I/O意味着预期具有更少的与其他I/O的加锁冲突,从而能够提升重建性能。
在一些实施例中,第一RAID条带可以是待重建的多个RAID中的如下RAID条带,其对于该存储处理器而言在多个RAID条带中具有最高的盘区段级别的I/O负载,或者该盘区段级别的I/O负载大于某个阈值,或者该盘区段级别的I/O负载状态指示其具有高级别的I/O负载。
在某些实施例中,从待重建的RAID条带中为该存储处理器选择一个待重建的RAID条带,还可以基于更多考虑因素。例如,还可以考虑该存储处理器处的RAID条带的盘级别的I/O负载状态,选择对于该存储处理器而言在盘级别具有低I/O负载的RAID条带。换言之,第一RAID条带还可以是待重建的多个RAID中的如下RAID条带,其对于该存储处理器而言在多个RAID条带中具有最低的盘级别的I/O负载,或者该盘级别的I/O负载小于某个阈值,或者该盘级别的I/O负载状态指示其具有低级别的I/O负载,从而可以预期在当前I/O压力下更短的时间来完成RAID条带的重建。
在某些实施例中,还可以考虑存储系统中的多个存储处理器处的针对RAID条带的I/O负载状态。例如,进一步考虑存储系统中每个存储处理器处的RAID条带的盘级别的I/O负载状态,选择对于所有存储处理器整体而言在盘级别具有低I/O负载的RAID条带,以期望在当前I/O压力下更短的时间来完成RAID条带的重建。
可以理解,在此所描述的相应存储区块的I/O负载状态在统计意义上反映了存储系统中对其I/O请求的状况。根据本公开的一个实施例,为了表征映射RAID中不同存储区域的I/O负载状态,可以使用盘区段(DE)作为基本单元来计算I/O请求。每个存储处理器将记录其对存储盘的I/O请求,并且对每个盘区段上的I/O请求的数目计数。
以盘区段DE(0,0)作为示例,在时间t0得到盘区段DE(0,0)的I/O请求数目,表示为i0=I/Ocount(t0,DE(0,0))。在时间t1,盘区段DE(0,0)的所有I/O请求数目表示为i1=I/Ocount(t1,DE(0,0)),然后可以得到Δt1期间盘区段DE(0,0)的I/O请求数目α1=I/Ocount(Δt1,DE(0,0))=i1-i0,其中Δt1=t1-t0。
作为一个示例,给定每个盘区段上的I/O统计数据,可以计算每个盘区段的热度值。假设已经得到在连续的时段特定的存储盘上的一系列观测到的I/O请求,记为α1,α2,α3,,...,αn,其中n是所设置的历史记录的次数。然后,可以使用下式(1)来计算热度值H。
可以理解,上式(1)仅是以使用算术平均算法来计算热度H的一种示例方式,其表征先前n个时段的平均热度值。也可以采用其他算法针对所记录的I/O请求数目来计算热度H,例如采用变化率、采用不同的加权因子等。
在盘区段池层,可以通过下式(2)来计算每个存储盘的热度值G。
G=H1+H2+…Hd (2)
G表征了针对某个盘区段所在的存储盘的I/O负载,该存储盘具有d个盘区段。
在映射RAID层,可以通过下式(3)来计算每个RAID条带的热度值F。
F=Hi1+Hi2+…Hir (3)
F表征了针对第i RAID条带的盘区段级别的I/O负载,其中第i RAID条带映射到r个盘区段。
在映射RAID层,可以通过下式(4)来计算每个RAID条带的热度值E。
E=Gi1+Gi2+…Gir (4)
E表征了针对第i RAID条带的盘级别的I/O负载,其中第i RAID条带映射到r个盘区段。
以上给出了表征映射RAID中不同存储区块的I/O负载状态的具体示例。每个存储处理器可以维持其关于每个盘区段、每个存储盘以及每个RAID条带的热度值的记录。可以理解,本公开并不旨在限于如以上方式表征的热度值来反映I/O负载状态,其他算法是可能的。例如采用不同的加权因子以及平均来计算,或者采用不同的I/O负载等级(诸如非常高、高、较高、较低等)等来表征I/O负载状态,等等。
在430,确定用于重建第一RAID条带的盘区段(为便于描述,下文称之为第一盘区段)。在确定了第一存储处理器将要重建的RAID条带后,需要确定在其上用于重建该RAID条带的数据的备用盘区段。
对于待重建的第一RAID条带,存在可用存储盘的集合。在该集合中的每个存储盘,其与该RAID条带数据所涉及的存储盘没有冲突,并且其具有至少一个备用盘区段可用作针对该RAID条带的备用盘区段。在一些实施例中,可以考虑每个存储盘的I/O负载状态来确定第一盘区段。例如,选择I/O热度值低的存储盘,在这样的存储盘上选择备用盘区段作为重建第一RAID条带的盘区段,以期望在当前I/O压力下更短的时间来完成RAID条带的重建。
在某些实施例中,还可以考虑存储盘的可用容量,或者更特别地考虑可用备用盘区段的数量。例如,进一步考虑每个存储盘的可用的备用盘区段数量,选择可用的备用盘区段数量更高的存储盘,在这样的存储盘上选择备用盘区段作为重建第一RAID条带的盘区段,以保持备用盘区段的分布尽可能均衡。
在440,使第一存储处理器在第一盘区段处重建针对第一RAID条带的数据。在针对第一存储处理器确定了需要重建的RAID条带和相应的盘区段后,可以促使第一存储处执行重建任务。具体的RAID数据重建过程可以如已知的方式进行,例如调用传统RAID库来完成重建任务,在此不再赘述。
以上结合图4描述了根据本公开的实施例的针对某个存储处理器的单个RAID条带重建的过程。如前所述,在存储系统中存在多个存储处理器时,还可以充分利用映射RAID所支持的并发重建过程。
图5示出了根据本公开的实施例的用于并发地重建映射RAID的过程500,其可以在存储环境100中调度重建任务的调度装置处执行。如前所述,该调度装置可以被布置在存储环境100中的任何合适之处,例如可以与某个存储处理器并置。
作为示意,存储系统可以在510处收集映射RAID的I/O统计数据,例如针对每个盘区段的I/O请求数据的统计数据。在520,基于I/O统计数据,可以获得映射RAID不同层级的针对每个盘区段和每个RAID条带的I/O负载状态,如前所述。
在检测到需要重建映射RAID中的数据的情况下,例如调度装置可以在530处确定当前存储系统所允许的重建RAID条带的并发数目。根据本公开的实施例,考虑当前用户I/O负载是有利的。如果当前用户I/O负载非常高,那么RAID数据重建的并发任务应相对较少;反之,如果当前用户I/O负载非常低,那么可以应用较多的并发任务。这是考虑存储数据的重建不应该太过影响用户I/O。此外,还可以考虑一些其他因素,诸如每个存储处理器中的内核的数目、映射RAID中的RAID条带的数目、存储池的宽度(即存储盘的数目)等。
作为实现示例,可以根据下式(5)来确定当前存储系统所允许的重建RAID条带的并发数目C。
C=Function(n,2k,r,w) (5)
其中,n表示前用户I/O负载因子;k为每个存储处理器的内核的数目;r为需要重建的映射RAID中的RAID条带的数目;w为底层存储池的宽度。
根据一个实施例,并发数目可以根据C=min(n,2k,r,w)来确定,即采用取最小值函数确定C。作为一个示例,n可以根据预定义表查表而得到。例如,对于特定映射RAID,通过试验得到如下表1。
表1
其中p是以百分比表示的当前用户I/O负载所占的存储系统I/O能力的比值。根据实践经验,可以得到优化的n取值。可以理解,表1仅是可配置预定义表的示例,其取决于实际的RAID系统。也可以采取其他方式来表征当前用户I/O负载因子n值。
返回图5,在530处采用如上方式确定RAID数据并发重建的并发任务数目的过程可以使用自适应方法。换句话说,可以根据用户I/O负载变化而自适应地调整并发数目C。例如,根据在510处收集的I/O统计数据,当用户I/O负载发生变化,n值例如根据表1相应地发生变化时,触发C值的重新计算和更新。
在540,基于并发数目,调度装置创建并发重建任务,并且分发至一个或多个存储处理器。该重建任务至少指示了待重建的RAID条带以及相应的用于重建该RAID条带的盘区段,使得存储处理器执行数据重建。调度装置针对某个存储处理器调度单个任务的过程可以如过程400进行。下文还将结合图6、图7和图8详细描述为多个存储处理器调度多个并发任务的过程。
调度装置监控每个RAID条带重建是否完成,在550处确定是否所有要重建的RAID条带都已经完成重建,若是,则在580向例如服务器发送重建完成通知。另一方面,如果在550处确定还未完成对所有要重建的RAID条带的重建,则在560确定当前正在执行的重建任务的数目。
在570,确定执行中的任务数目是否小于在530处确定的所允许的并发数目。如果是,则调度装置创建更多的重建任务,以达到存储系统所允许的并发数目,从而更高效地重建映射RAID。
下面结合图6进行进一步描述图5中540处调度多个存储处理器并为其创建重建任务的过程。图6示出了根据本公开实施例的调度多个存储处理器以及创建重建任务的过程600。在610,选择目标存储处理器。根据本公开的实施例,调度装置对于多个存储处理器的调度,可以使用轮询方式来调度多个存储处理器。也可以采取其他策略来决定向多个存储处理器分发任务的方式,例如考虑每个存储处理器的处理负荷等,以使得重建任务尽可能均衡地分发到每个存储处理器,并且映射RAID的重建能够尽快完成。
在620,选择待重建的RAID条带。下文将结合图7详述针对多个存储处理器并发执行重建任务时选择RAID条带的过程。然后在630,调度装置选择备用盘区段以用于在610处选择的目标存储处理器重建所选择的RAID条带。下文将结合图8详述针对多个存储处理器并发执行重建任务时选择备用盘区段的过程。
在640,调度装置创建任务,以指令目标存储处理器在为其选择的盘区段处针对为其选择的RAID条带重建。然后在650,向目标存储处理器发送所创建的重建任务,使得目标存储处理器执行RAID重建。
图7示出了图6中620处的具体实现。如前所述,每个存储处理器可以维持其关于每个盘区段、每个存储盘以及每个RAID条带的I/O负载状态(例如热度值)的记录,调度装置可以从其他存储处理器收集这些信息,以供在调度的决策使用。
在710,确定需要重建的一组RAID条带,在此称之为RAID条带的集合。然后在720,将该集合中的RAID条带以盘级别的RAID条带I/O负载从低到高进行排序。盘级别的RAID条带I/O负载可以例如通过将来自s个存储处理器的针对各个RAID条带的热度值E相加,来得到每个RAID条带的盘级别的热度值D,其中D=E1+E2+…+Es。作为一个示例,可以根据热度值D对集合中的RAID条带从低到高排序。
在730,从排序后的集合中选择第一数目(以Th_1表示)的RAID条带,得到RAID条带的子集。Th_1是可配置的常数,其大于并发数目C。换言之,从排序后的集合中选择在多个存储处理器处的在盘级别具有低I/O负载的一组RAID条带。
然后,在740,针对根据调度策略所确定的第一目标存储处理器,对所选择的Th_1个RAID条带,根据第一目标存储处理器处的盘区段级别的热度值F从大到小对它们进行排序。
接着,在750,可以在子集中选择在盘区段级别具有高I/O负载的RAID条带,作为第一目标存储处理器要重建的RAID条带。在某些实施例中,所选择的该RAID条带是子集中的F值最高的,其也可以是子集中F值大于某一阈值的一个RAID条带。
在760,对于子集中剩余的RAID条带,根据第二目标存储处理器处的盘区段级别的热度值F从大到小对它们进行排序。然后在770,可以在子集中选择在盘区段级别具有高I/O负载的RAID条带,作为第二目标存储处理器要重建的RAID条带。在某些实施例中,所选择的该RAID条带是子集中的F值最高的,其也可以是子集中F值大于某一阈值的一个RAID条带。
可以理解,如果调度装置针对处理存储器选择了一个待重建的RAID条带,其将被标记为已被重建,并且将不被第二次选择。以此类推,调度装置可以按照以上方法针对所选择的目标存储处理器选择其要重建的RAID条带。
过程700实现了首先重建较低热度RAID条带,并分配合适的存储处理器来执行重建任务。以此方式,使用较低热度的RAID条带可以预期在当前I/O压力下更短的时间来完成这一RAID条带的重建。与此同时,具有一个RAID条带上更多I/O的存储处理器预期具有更少的与其他I/O的加锁冲突,因而提高了重建效率。
图8示出了图6中630处的具体实现。在810,针对为某个存储处理器所选择的待重建RAID条带,确定可用盘集合。在该集合中的每个存储盘,其与该待重建的RAID条带所涉及的存储盘没有冲突,并且其具有至少一个备用盘区段可用作针对该RAID条带的备用盘区段。
在820,根据存储盘IO负载从低到高对集合中的存储盘排序。在一个实施例中,可以根据当前所选择的存储处理器处的热度值G来对存储盘排序。在830,从排序后的集合中选择选择第二数目(以Th_2表示)存储盘,以得到可用盘的子集。Th_2是可配置的常数,其大于并发数目C。换言之,从对于重建RAID条带可用的多个盘中选择在该存储处理器处具有低I/O负载的一组盘。
在840,对于所选择的Th_2个存储盘,根据备用盘区段的数目从大到小对它们进行排序。在850,在子集中选择具有高备用盘区段数目的盘作为重建RAID条带的盘区段的候选盘。在某些实施例中,所选择的候选盘是子集中的备用盘区段数目最高的,其也可以是子集中备用盘区段数目大于某一阈值的一个盘。在860,在候选盘上选择备用盘区段作为目标盘区段。
可以理解,如果调度装置选择了一个备用盘区段,其将被标记为已使用,并且将不被第二次选择。以此类推,调度装置可以按照以上方法针对所选择的目标存储处理器选择用于重建RAID条带相应的备用盘区段。
过程800实现了选择用于重建最合适的备用盘区段。首先选择较低的热度值的存储盘,然后选择具有更多备用盘区段的存储盘。以此方式,使用较低热度的存储盘可以预期在当前I/O压力下更短的时间来完成RAID条带的重建。与此同时,具有更多备用盘区段的存储盘首先被使用,这将保持备用盘区段的分布尽可能地均匀。
根据本公开的实施例,通过使用所提出的重建方案,改善了重建性能,这一结论通过一系列的仿真和RAID测试得到验证。图9示出了根据本公开实施例的双存储处理器并发重建性能相对于传统单存储处理器的重建性能的图表900。
如图所示,横轴表示存储池中的存储盘的数目,竖轴表示在I/O压力的某个固定百分比下的重建性能,此处以重建速度(Mbps)表示。该双存储处理器在重建中使用两个存储处理器,并且可以在每个存储处理器并行地处理,充分利用I/O路径的带宽。相较于单个存储处理器按照传统的顺序执行重建,可以看到,根据本公开实施例的双存储处理器执行重建,随着存储盘数量的增多,重建性能的改善越显著。
图10示出了一个可以用来实施本公开的实施例的设备1000的示意性框图。如图所示,设备1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序指令或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序指令,来执行各种适当的动作和处理。在RAM 1003中,还可存储设备1000操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
在某些实施例中,处理单元1001可被配置为执行上文所描述的各个过程和处理,例如方法或过程400、500、600、700以及800。例如,在一些实施例中,方法或过程400、500、600、700以及800可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序被加载到RAM 1003并由CPU 1001执行时,可以执行上文描述的方法或过程400、500、600、700以及800的一个或多个步骤。
特别地,根据本公开的实施例,上文参考图4至图8描述的过程可以被实现为计算机程序产品,其可以被有形地存储在非瞬态计算机可读存储介质上,并且包括机器可执行指令,该指令在被执行时使得机器实现根据本公开的各个方面。
计算机可读存储介质可以是可以存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的、非穷举的例子包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的设备、方法和计算机程序产品的框图和/或流程图描述了本公开的各个方面。应当理解,框图和/或流程图的每个方框以及框图和/或流程图中各方框的组合,都可以由计算机可读程序指令实现。
通过以上描述和相关附图中所给出的教导,这里所给出的本公开的许多修改形式和其它实施方式将被本公开相关领域的技术人员所意识到。因此,所要理解的是,本公开的实施方式并不局限于所公开的具体实施方式,并且修改形式和其它实施方式意在包括在本公开的范围之内。此外,虽然以上描述和相关附图在部件和/或功能的某些示例组合形式的背景下对示例实施方式进行了描述,但是应当意识到的是,可以由备选实施方式提供部件和/或功能的不同组合形式而并不背离本公开的范围。就这点而言,例如,与以上明确描述的有所不同的部件和/或功能的其它组合形式也被预期处于本公开的范围之内。虽然这里采用了具体术语,但是它们仅以一般且描述性的含义所使用而并非意在进行限制。
Claims (18)
1.一种用于管理存储系统的方法,包括:
确定所述存储系统中的待重建的多个RAID条带;
基于所述存储系统中的第一存储处理器处的针对所述多个RAID条带的盘区段级别的多个I/O负载状态,从所述多个RAID条带中选择第一RAID条带,所述第一RAID在盘区段级别具有高I/O负载;
确定用于重建所述第一RAID条带的第一盘区段;以及
使所述第一存储处理器在所述第一盘区段处重建针对所述第一RAID条带的数据。
2.根据权利要求1所述的方法,其中所述存储系统包括多个存储处理器,并且其中所述第一存储处理器在所述第一盘区段处对所述第一RAID条带的重建与第二存储处理器在第二盘区段处对第二RAID条带的重建并发地进行。
3.根据权利要求2所述的方法,其中选择所述第一RAID条带包括:
从所述多个RAID条带中选择在所述多个存储处理器处的在盘级别具有低I/O负载的第一组RAID条带;以及
从所述第一组RAID条带中选择所述第一RAID条带。
4.根据权利要求1所述的方法,其中确定所述第一盘区段包括:
从所述存储系统中的对于重建所述第一RAID条带可用的多个盘中选择在所述第一存储处理器处具有低I/O负载的第一组盘;
从所述第一组盘中选择具有高可用容量的盘以作为用于重建所述第一RAID条带的候选盘;以及
在所述候选盘中选择可用的盘区段作为所述第一盘区段。
5.根据权利要求2所述的方法,还包括:
基于以下项中的至少一项来确定用于并发地重建所述多个RAID条带所允许的并发数目:当前的用户I/O负载,所述多个存储处理器的内核数目,所述多个RAID条带的数目,以及所述存储系统中的盘的数目。
6.根据权利要求2所述的方法,还包括:
从所述多个存储处理器获取所述多个存储处理器处的I/O负载状态,所述I/O负载状态包括以下中的至少一项:针对所述多个RAID条带的盘级别的多个I/O负载状态,针对所述多个RAID条带的盘区段级别的多个I/O负载状态,以及针对所述存储系统中的多个盘的多个I/O负载状态。
7.一种电子设备,包括:
处理器,以及
存储有指令的存储器,所述指令在被所述处理器执行时促使所述设备执行动作,所述动作包括:
确定存储系统中的待重建的多个RAID条带;
基于所述存储系统中的第一存储处理器处的针对所述多个RAID条带的盘区段级别的多个I/O负载状态,从所述多个RAID条带中选择第一RAID条带,所述第一RAID在盘区段级别具有高I/O负载;
确定用于重建所述第一RAID条带的第一盘区段;以及
使所述第一存储处理器在所述第一盘区段处重建针对所述第一RAID条带的数据。
8.根据权利要求7所述的设备,其中所述存储系统包括多个存储处理器,并且其中所述第一存储处理器在所述第一盘区段处对所述第一RAID条带的重建与第二存储处理器在第二盘区段处对第二RAID条带的重建并发地进行。
9.根据权利要求8所述的设备,其中选择所述第一RAID条带包括:
从所述多个RAID条带中选择在所述多个存储处理器处的在盘级别具有低I/O负载的第一组RAID条带;以及
从所述第一组RAID条带中选择所述第一RAID条带。
10.根据权利要求7所述的设备,其中确定所述第一盘区段包括:
从所述存储系统中的对于重建所述第一RAID条带可用的多个盘中选择在所述第一存储处理器处具有低I/O负载的第一组盘;
从所述第一组盘中选择具有高可用容量的盘以作为用于重建所述第一RAID条带的候选盘;以及
在所述候选盘中选择可用的盘区段作为所述第一盘区段。
11.根据权利要求8所述的设备,其中所述动作还包括:
基于以下项中的至少一项来确定用于并发地重建所述多个RAID条带所允许的并发数目:当前的用户I/O负载,所述多个存储处理器的内核数目,所述多个RAID条带的数目,以及所述存储系统中的盘的数目。
12.根据权利要求8所述的设备,其中所述动作还包括:
从所述多个存储处理器获取所述多个存储处理器处的I/O负载状态,所述I/O负载状态包括以下中的至少一项:针对所述多个RAID条带的盘级别的多个I/O负载状态,针对所述多个RAID条带的盘区段级别的多个I/O负载状态,以及针对所述存储系统中的多个盘的多个I/O负载状态。
13.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令在被执行时使设备执行动作,所述动作包括:
确定存储系统中的待重建的多个RAID条带;
基于所述存储系统中的第一存储处理器处的针对所述多个RAID条带的盘区段级别的多个I/O负载状态,从所述多个RAID条带中选择第一RAID条带,所述第一RAID在盘区段级别具有高I/O负载;
确定用于重建所述第一RAID条带的第一盘区段;以及
使所述第一存储处理器在所述第一盘区段处重建针对所述第一RAID条带的数据。
14.根据权利要求13所述的计算机可读介质,其中所述存储系统包括多个存储处理器,并且其中所述第一存储处理器在所述第一盘区段处对所述第一RAID条带的重建与第二存储处理器在第二盘区段处对第二RAID条带的重建并发地进行。
15.根据权利要求14所述的计算机可读介质,其中选择所述第一RAID条带包括:
从所述多个RAID条带中选择在所述多个存储处理器处的在盘级别具有低I/O负载的第一组RAID条带;以及
从所述第一组RAID条带中选择所述第一RAID条带。
16.根据权利要求13所述的计算机可读介质,其中确定所述第一盘区段包括:
从所述存储系统中的对于重建所述第一RAID条带可用的多个盘中选择在所述第一存储处理器处具有低I/O负载的第一组盘;
从所述第一组盘中选择具有高可用容量的盘以作为用于重建所述第一RAID条带的候选盘;以及
在所述候选盘中选择可用的盘区段作为所述第一盘区段。
17.根据权利要求14所述的计算机可读介质,其中所述动作还包括:
基于以下项中的至少一项来确定用于并发地重建所述多个RAID条带所允许的并发数目:当前的用户I/O负载,所述多个存储处理器的内核数目,所述多个RAID条带的数目,以及所述存储系统中的盘的数目。
18.根据权利要求14所述的计算机可读介质,其中所述动作还包括:
从所述多个存储处理器获取所述多个存储处理器处的I/O负载状态,所述I/O负载状态包括以下中的至少一项:针对所述多个RAID条带的盘级别的多个I/O负载状态,针对所述多个RAID条带的盘区段级别的多个I/O负载状态,以及针对所述存储系统中的多个盘的多个I/O负载状态。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711023156.1A CN109725826B (zh) | 2017-10-27 | 2017-10-27 | 管理存储系统的方法、设备和计算机可读介质 |
US16/172,030 US10936419B2 (en) | 2017-10-27 | 2018-10-26 | Method, device and computer readable medium for managing a storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711023156.1A CN109725826B (zh) | 2017-10-27 | 2017-10-27 | 管理存储系统的方法、设备和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109725826A true CN109725826A (zh) | 2019-05-07 |
CN109725826B CN109725826B (zh) | 2022-05-24 |
Family
ID=66243895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711023156.1A Active CN109725826B (zh) | 2017-10-27 | 2017-10-27 | 管理存储系统的方法、设备和计算机可读介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10936419B2 (zh) |
CN (1) | CN109725826B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113721843A (zh) * | 2021-07-29 | 2021-11-30 | 苏州浪潮智能科技有限公司 | 一种独立冗余磁盘阵列的重构方法、装置、设备及系统 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857554B (zh) * | 2019-04-30 | 2024-04-05 | 伊姆西Ip控股有限责任公司 | Raid冗余级别的自适应改变 |
CN110109628B (zh) * | 2019-05-20 | 2022-08-09 | 深信服科技股份有限公司 | 分布式存储系统的数据重建方法、装置、设备及存储介质 |
CN112748862A (zh) | 2019-10-31 | 2021-05-04 | 伊姆西Ip控股有限责任公司 | 用于管理盘的方法、电子设备和计算机程序产品 |
US11372555B2 (en) * | 2020-01-23 | 2022-06-28 | International Business Machines Corporation | Reconstructing data in a smart storage array |
US11194664B2 (en) * | 2020-04-20 | 2021-12-07 | EMC IP Holding Company LLC | Storage system configured to guarantee sufficient capacity for a distributed raid rebuild process |
CN114168064A (zh) * | 2020-09-10 | 2022-03-11 | 伊姆西Ip控股有限责任公司 | 用于重建存储系统的方法、设备和计算机程序产品 |
CN114816221A (zh) * | 2021-01-22 | 2022-07-29 | 伊姆西Ip控股有限责任公司 | 存储管理方法、设备和计算机程序产品 |
CN115237330A (zh) * | 2021-04-22 | 2022-10-25 | 伊姆西Ip控股有限责任公司 | 用于raid重建的方法、电子设备和程序产品 |
US11734117B2 (en) * | 2021-04-29 | 2023-08-22 | Vast Data Ltd. | Data recovery in a storage system |
US11733922B2 (en) * | 2021-05-06 | 2023-08-22 | EMC IP Holding Company LLC | Method for data reconstruction in a RAID system having a protection pool of storage units |
US11748016B2 (en) | 2021-05-06 | 2023-09-05 | EMC IP Holding Company LLC | Method for adding disks in a raid system having a protection pool of storage units |
US11640343B2 (en) | 2021-05-06 | 2023-05-02 | EMC IP Holding Company LLC | Method for migrating data in a raid system having a protection pool of storage units |
CN116414295A (zh) | 2021-12-31 | 2023-07-11 | 戴尔产品有限公司 | 用于存储管理的方法、设备和计算机程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5208813A (en) * | 1990-10-23 | 1993-05-04 | Array Technology Corporation | On-line reconstruction of a failed redundant array system |
US6405284B1 (en) * | 1998-10-23 | 2002-06-11 | Oracle Corporation | Distributing data across multiple data storage devices in a data storage system |
CN1955940A (zh) * | 2005-10-28 | 2007-05-02 | 富士通株式会社 | Raid系统、raid控制器及其重建/拷回处理方法 |
US20130073900A1 (en) * | 2011-09-20 | 2013-03-21 | International Business Machines Corporation | Performance enhancement technique for raids under rebuild |
CN103970481A (zh) * | 2013-01-29 | 2014-08-06 | 国际商业机器公司 | 重建存储器阵列的方法和装置 |
CN106293511A (zh) * | 2016-07-26 | 2017-01-04 | 北京理工大学 | 一种面向连续数据存储的动态局部并行数据布局 |
CN107220148A (zh) * | 2016-03-21 | 2017-09-29 | 伊姆西公司 | 针对独立磁盘冗余阵列的重建方法和设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10289507B1 (en) * | 2015-10-27 | 2019-05-14 | Pavilion Data Systems, Inc. | Distributed rebuild of failed storage device |
US10146624B1 (en) | 2017-04-24 | 2018-12-04 | EMC IP Holding Company LLC | Disk extent rebalancing in mapped RAID storage arrays |
US10210045B1 (en) | 2017-04-27 | 2019-02-19 | EMC IP Holding Company LLC | Reducing concurrency bottlenecks while rebuilding a failed drive in a data storage system |
US10365983B1 (en) | 2017-04-27 | 2019-07-30 | EMC IP Holding Company LLC | Repairing raid systems at per-stripe granularity |
CN109726033B (zh) | 2017-10-31 | 2022-05-06 | 伊姆西Ip控股有限责任公司 | 提供raid数据保护的方法、数据存储系统和计算机可读介质 |
-
2017
- 2017-10-27 CN CN201711023156.1A patent/CN109725826B/zh active Active
-
2018
- 2018-10-26 US US16/172,030 patent/US10936419B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5208813A (en) * | 1990-10-23 | 1993-05-04 | Array Technology Corporation | On-line reconstruction of a failed redundant array system |
US6405284B1 (en) * | 1998-10-23 | 2002-06-11 | Oracle Corporation | Distributing data across multiple data storage devices in a data storage system |
CN1955940A (zh) * | 2005-10-28 | 2007-05-02 | 富士通株式会社 | Raid系统、raid控制器及其重建/拷回处理方法 |
US20130073900A1 (en) * | 2011-09-20 | 2013-03-21 | International Business Machines Corporation | Performance enhancement technique for raids under rebuild |
CN103970481A (zh) * | 2013-01-29 | 2014-08-06 | 国际商业机器公司 | 重建存储器阵列的方法和装置 |
CN107220148A (zh) * | 2016-03-21 | 2017-09-29 | 伊姆西公司 | 针对独立磁盘冗余阵列的重建方法和设备 |
CN106293511A (zh) * | 2016-07-26 | 2017-01-04 | 北京理工大学 | 一种面向连续数据存储的动态局部并行数据布局 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113721843A (zh) * | 2021-07-29 | 2021-11-30 | 苏州浪潮智能科技有限公司 | 一种独立冗余磁盘阵列的重构方法、装置、设备及系统 |
CN113721843B (zh) * | 2021-07-29 | 2023-06-16 | 苏州浪潮智能科技有限公司 | 一种独立冗余磁盘阵列的重构方法、装置、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20190129795A1 (en) | 2019-05-02 |
CN109725826B (zh) | 2022-05-24 |
US10936419B2 (en) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109725826A (zh) | 管理存储系统的方法、设备和计算机可读介质 | |
US10601903B2 (en) | Optimizing dynamical resource allocations based on locality of resources in disaggregated data centers | |
US11330042B2 (en) | Optimizing dynamic resource allocations for storage-dependent workloads in disaggregated data centers | |
US10552046B2 (en) | Automatic tiering of storage using dynamic grouping | |
US10853148B1 (en) | Migrating workloads between a plurality of execution environments | |
US20190354402A1 (en) | Optimizing dynamical resource allocations for cache-friendly workloads in disaggregated data centers | |
US8880801B1 (en) | Techniques for reliability and availability assessment of data storage configurations | |
CN105573660B (zh) | 用于改善分簇磁盘阵列的性能的方法和装置 | |
CN109725837A (zh) | 管理存储系统的方法、系统和计算机程序产品 | |
CN107924340A (zh) | 资源配置系统、资源配置方法以及资源配置程序 | |
US11256595B2 (en) | Predictive storage management system | |
US11972134B2 (en) | Resource utilization using normalized input/output (‘I/O’) operations | |
CN108228086A (zh) | Raid重建的方法和设备 | |
CN110413201A (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
US10977085B2 (en) | Optimizing dynamical resource allocations in disaggregated data centers | |
US9569268B2 (en) | Resource provisioning based on logical profiles and objective functions | |
CN107250975A (zh) | 数据存储系统和数据存储方法 | |
US10067704B2 (en) | Method for optimizing storage configuration for future demand and system thereof | |
CN102929786A (zh) | 非易失性存储设备集合的易失性存储器表示 | |
JP2011520182A (ja) | 分散データストレージシステムの信頼性の動的定量化と改善 | |
US20170308436A1 (en) | Regaining redundancy in distributed raid arrays using unallocated capacity | |
US10936374B2 (en) | Optimizing dynamic resource allocations for memory-dependent workloads in disaggregated data centers | |
CN109725831A (zh) | 管理存储系统的方法、系统和计算机程序产品 | |
CN110058960B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
US10893096B2 (en) | Optimizing dynamical resource allocations using a data heat map in disaggregated data centers |
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 |