CN111858130A - 用于拆分盘集的方法、设备和计算机程序产品 - Google Patents
用于拆分盘集的方法、设备和计算机程序产品 Download PDFInfo
- Publication number
- CN111858130A CN111858130A CN201910354653.2A CN201910354653A CN111858130A CN 111858130 A CN111858130 A CN 111858130A CN 201910354653 A CN201910354653 A CN 201910354653A CN 111858130 A CN111858130 A CN 111858130A
- Authority
- CN
- China
- Prior art keywords
- disks
- stripe
- disk
- disk set
- determining
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004590 computer program Methods 0.000 title claims abstract description 15
- 238000012545 processing Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 16
- 238000003491 array Methods 0.000 claims 2
- 238000012163 sequencing technique Methods 0.000 claims 2
- 238000003860 storage Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000005304 joining Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000005299 abrasion Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 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
- 239000004065 semiconductor 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/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/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- 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/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (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)存储数据。本公开的实施例在由于新加入盘而需拆分当前盘集的情况下,利用所收集的条带共享信息来辅助选择适合拆分的盘,由此减少盘集拆分所导致的数据移动。
Description
技术领域
本公开的实施例总体上涉及数据存储领域,并且更具体地涉及用于拆分盘集的方法、设备以及计算机程序产品。
背景技术
独立盘冗余阵列(RAID)是一种数据备份技术,其能够把多个独立的物理盘按不同的方式组合起来形成一个盘的阵列(即,逻辑盘),从而提供比单个盘更高的存储性能和更高的可靠性能。为了在RAID中的某个盘发生故障时对数据进行恢复,RAID中通常设置一个奇偶校验信息块(例如RAID 1、RAID 3或RAID 5等)或多个奇偶校验信息块(例如RAID 6)。以RAID 5为例,如果RAID中的某个盘发生故障,一个新的盘被添加到RAID中。然后,RAID能够通过分布式校验信息计算出故障盘中的数据,并在新的盘中对数据进行重建以恢复数据。
通常,在RAID中,可以存在等于或者大于RAID宽度的多个盘,其中每个盘被划分成多个盘段,每个盘段可以具有固定大小(例如4GB等)。RAID通常是通过条带来存储数据,例如,在RAID 5中,可以组合5个盘上的5个盘段以形成一个RAID条带,即4个数据块和1个奇偶校验信息块(即“4D+1P”),当RAID中的某个盘发生故障时,能够通过分布式校验信息来进行重建,使得数据能够被恢复并且不会被丢失。
发明内容
本公开的实施例提供了一种用于拆分盘集的方法、设备和计算机程序产品。
在本公开的一个方面,提供了一种用于拆分盘集的方法。该方法包括:获取第一盘集中的条带共享信息,其中条带共享信息指示共享多个盘的条带集合;响应于确定第一盘集要被拆分,确定第一盘集中要被拆分的盘的数目;以及基于条带共享信息和要被拆分的盘的数目,将第一盘集拆分成第一部分和第二部分,其中第二部分和新添加的盘组成第二盘集,并且第一盘集和第二盘集分别通过RAID存储数据。
在本公开的另一方面,提供了一种用于拆分盘集的设备。该设备包括处理单元以及存储器,其中存储器被耦合至处理单元并且存储有指令。所述指令在由处理单元执行时执行以下动作:获取第一盘集中的条带共享信息,其中条带共享信息指示共享多个盘的条带集合;响应于确定第一盘集要被拆分,确定第一盘集中要被拆分的盘的数目;以及基于条带共享信息和要被拆分的盘的数目,将第一盘集拆分成第一部分和第二部分,其中第二部分和新添加的盘组成第二盘集,并且第一盘集和第二盘集分别通过RAID存储数据。
在本公开的又一方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使得计算机执行根据本公开的实施例的方法或过程。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。本发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的各个实施例的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中在本公开示例性实施例中,相同的附图标记通常代表相同的元素。
图1示出了根据本公开的实施例的存储设备中的RAID条带的示意图;
图2示出了根据本公开的实施例的用于拆分盘集的方法的流程图;
图3A-3B示出了根据本公开的实施例的由于加入新的盘而拆分当前盘集的示例的示意图;
图4A-4B示出了根据本公开的实施例的由于加入新的盘而拆分当前盘集的另一示例的示意图;
图5示出了根据本公开的实施例的条带共享信息的示例结构的示意图;
图6示出了根据本公开的实施例的用于拆分盘集的另一方法的流程图;以及
图7示出了可以用来实施本公开的实施例的设备的示意性块图。
具体实施例
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的一些具体实施例,然而应该理解,可以以各种形式实现本公开,而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象,除非明确指示不同。
在存储系统中,可能使用大于RAID宽度的数目个盘来组成RAID盘集。在一定的范围内,RAID盘集中的盘越多,RAID的性能越好;然而,一个RAID盘集中的盘数也有上限,如果超过这个上限,存储系统的性能将降低。因此,在RAID盘集中加入新盘时,如果造成盘数超过这个上限,则需要对当前RAID盘集进行拆分,从而形成两个新的盘集。传统地,在需要由于加入新盘而拆分现有RAID盘集时,通常是选择拆分当前盘集中的最后几个盘。然而,由于被拆分的盘上的条带着中存在数据,而且数据不能跨RAID盘集存储,因而需要在拆分之后需要在两个RAID盘集之间移动大量数据,过多的数据移动不仅可能造成对正常用户IO操作的影响,而且可能加快存储设备的磨损程度。
为此,本公开的实施例提出了一种基于盘集中的条带共享信息来对盘集进行拆分的方案。本公开的实施例在由于新加入盘而需拆分当前盘集的情况下,利用预先收集的条带共享信息来选择适合拆分的盘,由此能够减少盘集拆分所导致的数据移动,并且加快盘集拆分过程,这不仅能够减少对正常用户IO操作的影响,而且能够减少存储设备的磨损。如果所拆分的多个盘被更多的条带共享,则所需要移动的条带数将更少。此外,本公开的实施例还能够提高数据的可靠性。
以下参考图1至图7来说明本公开的基本原理和若干示例实现方式。应当理解,给出这些示例性实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开的实施例,而并非以任何方式限制本公开的范围。应当理解,虽然本公开的以下一些实施例以RAID5作为RAID的示例,其他类型的RAID也可以与本公开的实施例一起使用,本公开在此不受限制。RAID 5由具有分布式校验信息的块级别条带构成,校验信息可以被分布在多个盘中,每个条带可以包括5个盘段,即4个数据块和1个奇偶校验信息块(即“4D+1P”),当RAID中的一个盘发生故障时,能够通过分布式校验信息来进行恢复,使得数据能够被恢复并且不会被丢失。
图1示出了根据本公开的实施例的存储设备100中的RAID条带的示意图,其图示了在N个盘上使用“4D+1P”的RAID 5的示例,其中N例如可以为25或者大于6并且小于25的其他整数。如图1所示,每个盘可以被划分成固定大小的盘段(slice,每个盘段大小例如为4GB),各个盘被表示为盘D0、D1、D2、D3…D(N-1),其中5个盘上的5个盘段可以组成一个RAID条带。条带中的最小分配单元为物理大块(PLB),其大小例如可以为2MB。在图1的示例中,各个盘中的一些盘段已经被存储有数据(例如被标记有字母数字的判断),而其他盘段尚未存储数据,不同盘上的盘段A1、A2、A3、A4和A5组成第一条带,盘段B1、B2、B3、B4和B5组成第二条带,盘段C1、C2、C3、C4和C5组成第三条带,盘段D1、D2、D3、D4和D5组成第四条带,盘段E1、E2、E3、E4和E5组成第五条带。一般来说,为了保证各个盘的磨损平衡,RAID通常选择已分配盘段最少的盘来分配新的条带,使得数据能够在多个盘中均匀存储。
如图1所示,如果需要创建一个RAID条带,则可以随机地从5个不同的盘选择5个盘段。因此,数据和校验信息将最终被分布到多个盘中的盘段中。此外,还可以在盘集中预留一个空闲备份盘,例如盘D(N-1)可以作为空闲备份盘,当盘D0-D(N-2)中的某个盘发生故障时,在计时器期满之后,可以使用盘D(N-1)进行替换,并进行数据重建。一般来说,越多的盘参与重建过程,重建速度会越快,然而,随着RAID盘集中的盘越来越多,RAID盘集中2个盘同时发生故障的概率也还会升高,因此,一个RAID中的最佳盘数得在盘数和可靠性之间进行权衡,其值可以通过实验而被获得,在一些场景中,RAID 5中的最佳盘数可以为25,或者也可以为在其他场景中确定的其他数目。
图2示出了根据本公开的实施例的用于拆分盘集的方法200的流程图。在202,获取第一盘集中的条带共享信息,其中条带共享信息指示共享多个盘的条带集合。例如,在存储系统启动时,通过遍历每个条带确定所使用的5个盘的ID,从而收集盘集中的共享相同盘的条带信息。根据本公开的实施例,条带共享信息可以用于更准确地拆分盘,也可以称为“关系数据”。以下参考图5示出了根据本公开的实施例的条带共享信息的示例结构的示意图。
在204,判断第一盘集是否要被拆分。例如,如果不满足拆分条件,则不需要执行根据本公开的实施例的用于拆分盘集的方法。相反,如果满足拆分条件而需要拆分第一盘集,则在206确定第一盘集中要被拆分的盘的数目。由于一个RAID盘集中的盘数具有上限值,当超过这个上限值时,需要再创建一个新的盘集,RAID通常不能跨多个盘集被部署。例如,在RAID 5的情形中,在加入新盘时需要从当前盘集拆分出几个盘来与新的盘组成新的RAID盘集。例如,图3A-3B示出了从当前盘集中拆分出5个盘的示例,而图4A-4B示出了从当前盘集中拆分出4个盘的示例。
继续参考图2,在208,基于条带共享信息和要被拆分的盘的数目,将第一盘集拆分成第一部分和第二部分,其中第二部分和新添加的盘组成第二盘集,并且第一盘集和第二盘集分别通过RAID存储数据。在确定要被拆分的盘数之后,可以基于条带共享信息选择最适合拆分的多个盘。通过这种方式,利用预先收集的条带共享信息来选择适合拆分的盘,能够减少盘集拆分所导致的数据移动,由此减少对正常用户IO操作的影响,同时减少存储设备的磨损。
图3A-3B示出了根据本公开的实施例的由于加入新盘而拆分当前盘集的示例的示意图。参考图3A中的RAID 5的示例300,当前盘集310已经包括25个盘,即盘D0、D1、D2、D3、D4、D5、D6、D7、D8、D9、D10、D11…D24。当用户将新盘D25插入存储系统中时,由于当前RAID盘集310已经包括最大上限数目个盘(即25个),其无法在当前RAID盘集310中添加新盘,同时,由于仅仅新加入1个新盘,因而无法组成一个新的RAID 5,这是因为一个RAID 5通常需要6个盘(其中1个盘用作空闲备份盘)。因此,需要将当前RAID盘集310中拆分出一部分盘与新盘D25组成另一个RAID盘集。
参考图3B的示例320,由于新的RAID盘集320至少需要6个盘,因而可以从当前RAID盘集310中拆分出5个盘以加入新的RAID盘集320。如图3B所示,根据本公开的实施例,基于当前RAID盘集310中的条带共享信息来选择拆分出盘D2、D3、D4、D5和D6与新盘D25组成新的RAID盘集320,而不是随意地选择当前RAID盘集中的后几个盘进行拆分。因此,与传统的方法相比,根据本公开的实施例所选择的拆分出的盘D2、D3、D4、D5和D6中具有多个完整的条带,因而能够减少拆分后两个RAID盘集之间的数据移动。
图4A-4B示出了根据本公开的实施例的由于加入新盘而拆分当前盘集的另一示例的示意图。参考图4A中的RAID 5的示例400,当前盘集410已经包括25个盘,即盘D0、D1、D2、D3、D4、D5、D6、D7、D8、D9、D10、D11…D24。当用户将新盘D25和D26插入存储系统中时,由于当前RAID盘集410已经包括最大上限数目个盘(即25个),其无法在当前RAID盘集410中添加新盘,同时,由于仅仅新加入2个新盘,因而无法组成一个新的RAID 5,这是因为一个RAID 5通常需要6个盘(其中1个盘用作空闲备份盘)。因此,需要将当前RAID盘集410中拆分出一部分盘与新盘D25和D26组成另一个RAID盘集。
参考图4B的示例420,由于新的RAID盘集420至少需要6个盘,因而可以从当前RAID盘集410中拆分出4个盘以加入新的RAID盘集420。备选地,也可以从当前RAID盘集410中拆分出5个盘以加入新的RAID盘集420。如图4B所示,根据本公开的实施例,基于当前RAID盘集410中的条带共享信息来选择拆分出盘D2、D3、D4、D5与新盘D25、D26组成新的RAID盘集420,而不是随意地选择当前RAID盘集中的后几个盘进行拆分。因此,与传统的方法相比,根据本公开的实施例所选择的拆分出的盘D2、D3、D4和D5中的多个条带共享使用这4个盘,因而能够减少拆分后两个RAID盘集之间的数据移动。
在一些实施例中,在RAID 5的场景中,当加入3个新盘时,可以从当前盘集拆分出3个盘、4个盘或5个盘;当加入4个新盘时,可以从当前盘集拆分出2个盘、3个盘、4个盘或5个盘;当加入5个新盘时,可以从当前盘集拆分出使用率最低的1个盘。
RAID通常不能跨多个盘集而部署,在一些实施例中,在对当前RAID盘集进行拆分之后,确定由于拆分而需要从当前盘集移动到新的盘集的数据,然后移动这些数据。根据本公开的实施例,由于拆分出的多个盘上具有多个完整的条带和/或共享多个盘的条带,因而能够减少由于盘集拆分而需要移动的数据量。
图5示出了根据本公开的实施例的条带共享信息的示例结构500的示意图。如图5所示,条带共享信息510中的每个记录包括共享盘的集合、条带的集合以及条带的计数,每当存储系统启动或者条带变更时,可以更新条带共享信息510。
表1:RAID盘集中的条带使用的盘的ID
条带ID | 条带所使用的盘ID |
0 | 0、1、2、3、4 |
1 | 5、6、7、8、9 |
2 | 0、1、2、3、5 |
3 | 4、5、6、7、8 |
4 | 0、1、2、3、4 |
参考表1,其示出了RAID盘集中的条带使用的盘的ID的示例。例如,每当创建新的条带时,会指定条带所使用的盘的ID,在RAID 5的示例中,一个条带使用5个盘。可以通过遍历每个条带的盘信息,来创建条带共享信息。例如,针对表1中的条带0,在图5的条带共享信息510中第一列中增加记录511;针对表1中的条带1,在条带共享信息510中第一列中增加记录512;针对表1中的条带2,在条带共享信息510中第一列中增加记录513,同时在条带共享信息510中第二列中增加记录521;针对表1中的条带3,在条带共享信息510中第一列中增加记录514,同时在条带共享信息510中第二列中增加记录522;针对表1中的条带4,在条带共享信息510中第一列中更新记录511,同时在条带共享信息510中第二列中增加记录523、524等。如图5所示,记录511为共享5个盘的条带记录,其包括共享盘的ID(诸如0、1、2、3、4)、条带ID(诸如0、4)以及条带的数目(诸如2)。
在一些实施例中,针对当前盘集中的每个条带,确定条带共享信息是否包括与每个条带所涉及的一组盘相关联的记录,如果确定条带共享信息尚未包括与给定条带所涉及的一组盘相关联的记录,在条带共享信息中创建与一组盘相关联的记录;而如果确定条带共享信息已经包括与给定条带所涉及的一组盘相关联的记录,在条带共享信息中更新与一组盘相关联的记录。
每当创建一个新的条带时,首先检测条带共享信息510中第一列,以确定是否与现有条带共享5个盘,如果不存在则创建新的记录,如果存在则更新现有记录。然后,检查条带共享信息510中第一列,以确定是否与已有条带共享4个盘,如果存在则继续检查共享信息510中第二列,如果不存在则创建新的记录,如果存在则更新现有记录。接下来,再核对条带共享信息510中第二列,以确定是否更新共享4个盘的记录。
此外,在条带共享信息中记录共享预定数目个相同盘的条带集合,预定数目小于RAID的宽度。例如,在RAID 5的示例中,除了记录共享5个盘的条带信息,同时也记录共享小于5个盘(诸如4个、3个)的条带信息,例如在图5的示例中,还示出了共享4个盘的条带的信息。
图6示出了根据本公开的实施例的用于拆分盘集的另一方法600的流程图。应当理解,方法600可以为以上参考图2所描述的方法200的示例实现。在602,在存储系统中加入新的盘。例如,用户可能购置新的盘,并且与旧的盘组成RAID一起使用。
在604,确定是否需要拆分当前盘集。如果确定不需要拆分当前盘集,则在606,将新的盘添加到当前盘集或者使用新的盘创建新的盘集。例如,如果当前盘集中的所有盘的数目和新添加的盘的数目之和小于等于某个阈值(例如25),则说明可以将新添加的盘直接插入到当前盘集中,而不需要拆分当前盘集。再例如,如果当前盘集中的所有盘的数目和新添加的盘的数目之和大于某个阈值(例如25)并且新添加的盘的数目大于另一阈值(例如5),则说明新添加的盘能够自己组成一个新的RAID 5,因而直接使用新添加的盘创建新的盘集,而无需拆分当前盘集。
如果确定需要拆分当前盘集,则在608,确定当前盘集中要被拆分的盘的数目。例如,如果当前盘集中的所有盘的数目和新添加的盘的数目之和大于某个阈值(例如25)并且新添加的盘的数目大于另一阈值(例如5),则说明一个盘集已经不够,而且新添加的盘本身无法创建新的盘集(不够RAID的最小盘数),因而需要拆分第一盘集。然后,基于新添加的盘的数目,确定当前盘集中待被拆分的盘的数目。例如,如果当前盘集有25个盘,而新添加的盘集只有1个盘,则确定当前盘集中待被拆分的盘的数目为5。
在610,基于条带共享信息中对应列(在需要拆分5个盘时,第一列)中的每个记录所需的移动条带数目,对条带共享信息中对应列中的所有记录进行排序。例如,针对条带共享信息中的对应列中的每个记录,确定每个记录所涉及的多个盘上的所有条带数,并且确定多个盘共享的共享条带数。然后,根据所有条带数和共享条带数,确定在选择每个记录拆分当前盘集时所需移动的移动条带数,并按照每个记录的移动条带数,对条带共享信息中的对应列中的所有记录进行排序。
在612,基于排序来对当前盘集进行拆分。例如,根据排序选择移动条带数目最小的一个记录来拆分当前盘集,将当前盘集拆分成保留部分和用于创建新的盘集的部分。
因此,公开的实施例在由于新加入盘而需拆分当前盘集的情况下,利用预先收集的条带共享信息来选择适合拆分的盘,从而能够减少盘集拆分所导致的数据移动。
图7示出了可以用来实施本公开的实施例的设备700的示意性块图,设备700可以为本公开的实施例所描述的设备或装置。如图7所示,设备700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个方法或过程可由处理单元701执行。例如,在一些实施例中,方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序被加载到RAM 703并由CPU 701执行时,可以执行上文描述的方法或过程中的一个或多个步骤或动作。
在一些实施例中,以上所描述的方法和过程可以被实现为计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,以及常规的过程式编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或块图中的一个或多个方块中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或块图中的一个或多个方块中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或块图中的一个或多个方块中规定的功能/动作。
附图中的流程图和块图显示了根据本公开的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或块图中的每个方块可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方块中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方块实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,块图和/或流程图中的每个方块、以及块图和/或流程图中的方块的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (17)
1.一种用于拆分盘集的方法,包括:
获取第一盘集中的条带共享信息,所述条带共享信息指示共享多个盘的条带集;
响应于确定所述第一盘集要被拆分,确定所述第一盘集中要被拆分的盘的数目;以及
基于所述条带共享信息和所述要被拆分的盘的数目,将所述第一盘集拆分为第一部分和第二部分,所述第二部分和新添加的盘组成第二盘集,并且所述第一盘集和所述第二盘集分别通过独立盘冗余阵列RAID存储数据。
2.根据权利要求1所述的方法,其中获取第一盘集中的条带共享信息包括:
针对所述第一盘集中的给定条带,确定所述条带共享信息是否包括与所述给定条带所涉及的一组盘相关联的记录;
响应于确定所述条带共享信息尚未包括与所述给定条带所涉及的一组盘相关联的记录,在所述条带共享信息中创建与所述一组盘相关联的记录;以及
响应于确定所述条带共享信息已经包括与所述给定条带所涉及的一组盘相关联的记录,在所述条带共享信息中更新与所述一组盘相关联的记录。
3.根据权利要求2所述的方法,其中获取第一盘集中的条带共享信息还包括:
在所述条带共享信息中记录共享预定数目个相同盘的条带集,所述预定数目小于所述RAID的宽度。
4.根据权利要求1所述的方法,还包括:
响应于所述第一盘集中的所有盘的第一数目和所述新添加的盘的第二数目之和小于等于第一阈值,将所述新添加的盘添加到所述第一盘集中;以及
响应于所述第一盘集中的所有盘的所述第一数目和所述新添加的盘的所述第二数目之和大于所述第一阈值并且所述第二数目大于第二阈值,使用所述新添加的盘创建第二盘集。
5.根据权利要求4所述的方法,其中所述条带共享信息中的每个记录包括共享盘的集合、条带的集合以及条带的计数,并且确定所述第一盘集中要被拆分的盘的数目包括:
响应于所述第一盘集中的所有盘的所述第一数目和所述新添加的盘的所述第二数目之和大于所述第一阈值并且所述第二数目小于所述第二阈值,确定所述第一盘集要被拆分;以及
基于所述新添加的盘的所述第二数目,确定所述第一盘集中要被拆分的盘的数目。
6.根据权利要求2所述的方法,其中将所述第一盘集拆分为第一部分和第二部分包括:
针对所述条带共享信息中的给定记录:
确定所述给定记录所涉及的多个盘上的所有条带数;
确定所述多个盘共享的共享条带数;以及
基于所述所有条带数和所述共享条带数,确定在选择所述给定记录拆分所述第一盘集时所需移动的移动条带数。
7.根据权利要求6所述的方法,其中将所述第一盘集拆分为第一部分和第二部分还包括:
按照每个记录的移动条带数,对所述条带共享信息中的所有记录进行排序;以及
基于所述排序将所述第一盘集拆分为所述第一部分和所述第二部分。
8.根据权利要求1所述的方法,还包括:
响应于将所述第一盘集拆分为所述第一部分和所述第二部分,确定所述第一盘集中的所述第一部分中与所述第二部分中的条带有关的数据;以及
从所述第一盘集中的所述第一部分向所述第二盘集移动所述数据。
9.一种用于拆分盘集的设备,包括:
处理单元;以及
存储器,其耦合至所述处理单元并且存储有指令,所述指令在由所述处理单元执行时执行以下动作:
获取第一盘集中的条带共享信息,所述条带共享信息指示共享多个盘的条带集;
响应于确定所述第一盘集要被拆分,确定所述第一盘集中要被拆分的盘的数目;以及
基于所述条带共享信息和所述要被拆分的盘的数目,将所述第一盘集拆分为第一部分和第二部分,所述第二部分和新添加的盘组成第二盘集,并且所述第一盘集和所述第二盘集分别通过独立盘冗余阵列RAID存储数据。
10.根据权利要求9所述的设备,其中获取第一盘集中的条带共享信息包括:
针对所述第一盘集中的给定条带,确定所述条带共享信息是否包括与所述给定条带所涉及的一组盘相关联的记录;
响应于确定所述条带共享信息尚未包括与所述给定条带所涉及的一组盘相关联的记录,在所述条带共享信息中创建与所述一组盘相关联的记录;以及
响应于确定所述条带共享信息已经包括与所述给定条带所涉及的一组盘相关联的记录,在所述条带共享信息中更新与所述一组盘相关联的记录。
11.根据权利要求10所述的设备,其中获取第一盘集中的条带共享信息还包括:
在所述条带共享信息中记录共享预定数目个相同盘的条带集,所述预定数目小于所述RAID的宽度。
12.根据权利要求9所述的设备,所述动作还包括:
响应于所述第一盘集中的所有盘的第一数目和所述新添加的盘的第二数目之和小于等于第一阈值,将所述新添加的盘添加到所述第一盘集中;以及
响应于所述第一盘集中的所有盘的所述第一数目和所述新添加的盘的所述第二数目之和大于所述第一阈值并且所述第二数目大于第二阈值,使用所述新添加的盘创建第二盘集。
13.根据权利要求12所述的设备,其中所述条带共享信息中的每个记录包括共享盘的集合、条带的集合以及条带的计数,并且确定所述第一盘集中要被拆分的盘的数目包括:
响应于所述第一盘集中的所有盘的所述第一数目和所述新添加的盘的所述第二数目之和大于所述第一阈值并且所述第二数目小于所述第二阈值,确定所述第一盘集要被拆分;以及
基于所述新添加的盘的所述第二数目,确定所述第一盘集中要被拆分的盘的数目。
14.根据权利要求10所述的设备,其中将所述第一盘集拆分为第一部分和第二部分包括:
针对所述条带共享信息中的给定记录:
确定所述给定记录所涉及的多个盘上的所有条带数;
确定所述多个盘共享的共享条带数;以及
基于所述所有条带数和所述共享条带数,确定在选择所述给定记录拆分所述第一盘集时所需移动的移动条带数。
15.根据权利要求14所述的设备,其中将所述第一盘集拆分为第一部分和第二部分还包括:
按照每个记录的移动条带数,对所述条带共享信息中的所有记录进行排序;以及
基于所述排序将所述第一盘集拆分为所述第一部分和所述第二部分。
16.根据权利要求9所述的设备,所述动作还包括:
响应于将所述第一盘集拆分为所述第一部分和所述第二部分,确定所述第一盘集中的所述第一部分中与所述第二部分中的条带有关的数据;以及
从所述第一盘集中的所述第一部分向所述第二盘集移动所述数据。
17.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使计算机执行根据权利要求1至8中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910354653.2A CN111858130A (zh) | 2019-04-29 | 2019-04-29 | 用于拆分盘集的方法、设备和计算机程序产品 |
US16/821,392 US11150823B2 (en) | 2019-04-29 | 2020-03-17 | Method, device and computer program product for splitting disk set |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910354653.2A CN111858130A (zh) | 2019-04-29 | 2019-04-29 | 用于拆分盘集的方法、设备和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111858130A true CN111858130A (zh) | 2020-10-30 |
Family
ID=72921590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910354653.2A Pending CN111858130A (zh) | 2019-04-29 | 2019-04-29 | 用于拆分盘集的方法、设备和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11150823B2 (zh) |
CN (1) | CN111858130A (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112748862A (zh) | 2019-10-31 | 2021-05-04 | 伊姆西Ip控股有限责任公司 | 用于管理盘的方法、电子设备和计算机程序产品 |
US10795796B1 (en) | 2020-01-24 | 2020-10-06 | Qumulo, Inc. | Predictive performance analysis for file systems |
US11494090B2 (en) * | 2020-09-25 | 2022-11-08 | Vmware, Inc. | Systems and methods of maintaining fault tolerance for new writes in degraded erasure coded distributed storage |
US11775481B2 (en) | 2020-09-30 | 2023-10-03 | Qumulo, Inc. | User interfaces for managing distributed file systems |
CN112685232B (zh) * | 2021-01-11 | 2022-03-01 | 河南大学 | 一种计算机备份数据监测方法及系统 |
US20230236769A1 (en) * | 2022-01-27 | 2023-07-27 | Mellanox Technologies, Ltd. | Methods and systems for inter-stack communication for logical volume management |
US11722150B1 (en) | 2022-09-28 | 2023-08-08 | Qumulo, Inc. | Error resistant write-ahead log |
US11729269B1 (en) | 2022-10-26 | 2023-08-15 | Qumulo, Inc. | Bandwidth management in distributed file systems |
US11966592B1 (en) * | 2022-11-29 | 2024-04-23 | Qumulo, Inc. | In-place erasure code transcoding for distributed file systems |
US11934660B1 (en) | 2023-11-07 | 2024-03-19 | Qumulo, Inc. | Tiered data storage with ephemeral and persistent tiers |
US11921677B1 (en) | 2023-11-07 | 2024-03-05 | Qumulo, Inc. | Sharing namespaces across file system clusters |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002099391A (ja) * | 2000-09-21 | 2002-04-05 | Toshiba Corp | ディスク制御システムおよびディスクアレイ構成方法 |
CN102081559A (zh) * | 2011-01-11 | 2011-06-01 | 成都市华为赛门铁克科技有限公司 | 一种独立磁盘冗余阵列的数据恢复方法和装置 |
US7958304B1 (en) * | 2008-04-30 | 2011-06-07 | Network Appliance, Inc. | Dynamically adapting the fault tolerance and performance characteristics of a raid-based storage system by merging and splitting raid groups |
CN102165407A (zh) * | 2008-09-29 | 2011-08-24 | 英特尔公司 | 与独立磁盘冗余阵列相关的操作 |
US20180088857A1 (en) * | 2016-09-23 | 2018-03-29 | EMC IP Holding Company LLC | Method and system for managing storage system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9864643B1 (en) | 2015-05-05 | 2018-01-09 | EMC IP Holding Company LLC | Using locks of different scopes in a data storage system to optimize performance and complexity |
US9690660B1 (en) | 2015-06-03 | 2017-06-27 | EMC IP Holding Company LLC | Spare selection in a declustered RAID system |
CN107526536B (zh) | 2016-06-22 | 2020-11-27 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和系统 |
CN107870732B (zh) | 2016-09-23 | 2020-12-25 | 伊姆西Ip控股有限责任公司 | 从固态存储设备冲刷页面的方法和设备 |
CN108228396B (zh) | 2016-12-21 | 2021-03-23 | 伊姆西Ip控股有限责任公司 | 用于处理驱动器的错误的方法和设备 |
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 |
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 |
CN110058791B (zh) | 2018-01-18 | 2022-05-10 | 伊姆西Ip控股有限责任公司 | 存储系统以及相应的方法和计算机可读介质 |
US10579593B2 (en) | 2018-01-31 | 2020-03-03 | EMC IP Holding Company, LLC | Techniques for selectively deactivating storage deduplication |
CN110413209B (zh) | 2018-04-28 | 2023-05-30 | 伊姆西Ip控股有限责任公司 | 管理存储系统的方法和设备 |
-
2019
- 2019-04-29 CN CN201910354653.2A patent/CN111858130A/zh active Pending
-
2020
- 2020-03-17 US US16/821,392 patent/US11150823B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002099391A (ja) * | 2000-09-21 | 2002-04-05 | Toshiba Corp | ディスク制御システムおよびディスクアレイ構成方法 |
US7958304B1 (en) * | 2008-04-30 | 2011-06-07 | Network Appliance, Inc. | Dynamically adapting the fault tolerance and performance characteristics of a raid-based storage system by merging and splitting raid groups |
CN102165407A (zh) * | 2008-09-29 | 2011-08-24 | 英特尔公司 | 与独立磁盘冗余阵列相关的操作 |
CN102081559A (zh) * | 2011-01-11 | 2011-06-01 | 成都市华为赛门铁克科技有限公司 | 一种独立磁盘冗余阵列的数据恢复方法和装置 |
US20180088857A1 (en) * | 2016-09-23 | 2018-03-29 | EMC IP Holding Company LLC | Method and system for managing storage system |
Also Published As
Publication number | Publication date |
---|---|
US11150823B2 (en) | 2021-10-19 |
US20200341663A1 (en) | 2020-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111858130A (zh) | 用于拆分盘集的方法、设备和计算机程序产品 | |
CN109725822B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
US11003556B2 (en) | Method, device and computer program product for managing storage system | |
CN107526531B (zh) | 为映射独立盘冗余阵列(raid)选择raid级别的方法和设备 | |
US9582363B2 (en) | Failure domain based storage system data stripe layout | |
CN107844268B (zh) | 一种数据分发方法、数据存储方法、相关装置以及系统 | |
US10949314B2 (en) | Method and apparatus for failure recovery of storage device | |
CN110058953B (zh) | 用于改变存储系统的类型的方法、设备和存储介质 | |
CN109725830B (zh) | 管理独立磁盘冗余阵列的方法、设备和存储介质 | |
CN110413208B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
CN111104051B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
CN113126890A (zh) | 用于存储的方法、设备和计算机程序产品 | |
US20160044096A1 (en) | Scaling Up and Scaling Out of a Server Architecture for Large Scale Real-Time Applications | |
CN112748867B (zh) | 用于存储管理的方法、电子设备以及计算机程序产品 | |
US11320988B2 (en) | Method, apparatus and computer program product for managing disk array | |
US11074130B2 (en) | Reducing rebuild time in a computing storage environment | |
CN113590019B (zh) | 用于存储管理的方法、电子设备和计算机程序产品 | |
CN112748862A (zh) | 用于管理盘的方法、电子设备和计算机程序产品 | |
CN112732168A (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
CN108733307B (zh) | 存储管理方法、设备以及计算机可读介质 | |
CN112748849A (zh) | 用于存储数据的方法、设备和计算机程序产品 | |
US20200348858A1 (en) | Method, device and computer program product | |
CN113391945A (zh) | 用于存储管理的方法、电子设备以及计算机程序产品 | |
CN111104047B (zh) | 管理冗余磁盘阵列的方法、设备和计算机可读存储介质 | |
US20220237082A1 (en) | Method, equipment and computer program product for storage management |
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 |