CN111857536A - 管理存储设备的方法、电子设备以及计算机可读介质 - Google Patents

管理存储设备的方法、电子设备以及计算机可读介质 Download PDF

Info

Publication number
CN111857536A
CN111857536A CN201910336135.8A CN201910336135A CN111857536A CN 111857536 A CN111857536 A CN 111857536A CN 201910336135 A CN201910336135 A CN 201910336135A CN 111857536 A CN111857536 A CN 111857536A
Authority
CN
China
Prior art keywords
storage devices
capacity
sets
group
candidate
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
Application number
CN201910336135.8A
Other languages
English (en)
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 CN201910336135.8A priority Critical patent/CN111857536A/zh
Priority to US16/836,362 priority patent/US11157172B2/en
Publication of CN111857536A publication Critical patent/CN111857536A/zh
Pending legal-status Critical Current

Links

Images

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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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
    • 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/0631Configuration or reconfiguration of storage systems by allocating resources to 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/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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本公开的实施例涉及管理存储设备的方法、电子设备和计算机可读介质。在此描述的方法包括:按照物理容量的顺序将独立冗余磁盘阵列中的存储设备组合成存储设备群组;基于存储设备的数目、以及存储设备将被划分到的多个集合中的每个集合中的存储设备的阈值数目,确定集合的第一数目,存储设备的数目大于阈值数目;以及从存储设备群组中选择至少一个容量增进集合,每个容量增进集合包括具有相同物理容量的第二数目的存储设备,第二数目等于独立冗余磁盘阵列的宽度与每个集合中的被预留的存储设备的数目的总和;以及通过将每个容量增进集合与存储设备群组中的除了至少一个容量增进集合以外的存储设备进行组合,来形成第一数目的集合。

Description

管理存储设备的方法、电子设备以及计算机可读介质
技术领域
本公开的实施例涉及数据存储领域,并且更具体地,涉及管理存储设备的方法、电子设备以及计算机可读介质。
背景技术
目前,存储系统采用独立磁盘冗余阵列(RAID)技术来构建。为了实现存储系统的高可靠性,需要限制在该存储系统的重建中所涉及的存储设备的数目。当存储系统中存储设备的数目超过阈值数目时,需要将存储设备划分成多个存储设备集合。如何执行这种划分已经成为热点问题。
发明内容
本公开的实施例提供了管理存储设备的方法、电子设备以及计算机可读介质。
在本公开的第一方面,提供了一种管理存储设备的方法。该方法包括:按照物理容量的顺序将独立冗余磁盘阵列中的存储设备组合成存储设备群组;基于存储设备的数目、以及存储设备将被划分到的多个集合中的每个集合中的存储设备的阈值数目,确定集合的第一数目,存储设备的数目大于阈值数目;以及从存储设备群组中选择至少一个容量增进集合,每个容量增进集合包括具有相同物理容量的第二数目的存储设备,第二数目等于独立冗余磁盘阵列的宽度与每个集合中的被预留的存储设备的数目的总和;以及通过将每个容量增进集合与存储设备群组中的除了至少一个容量增进集合以外的存储设备进行组合,来形成第一数目的集合。
在一些实施例中,形成第一数目的集合包括:通过将每个容量增进集合与存储设备群组中的除了至少一个容量增进集合以外的存储设备进行组合,来形成多个候选集合群组,每个候选集合群组包括第一数目的候选集合;确定每个候选集合群组的有效容量;以及将多个候选集合群组中的具有最大有效容量的候选集合群组确定为第一数目的集合。
在一些实施例中,将多个候选集合群组中的具有最大有效容量的候选集合群组确定为第一数目的集合包括:响应于确定多个候选集合群组中的第一候选集合群组和第二候选集合群组均具有最大有效容量,从第一候选集合群组中选择具有最大有效容量的第一集合,以及从第二候选集合群组中选择具有最大有效容量的第二集合;以及响应于第一集合的有效容量大于第二集合的有效容量,将第一候选集合群组确定为第一数目的集合。
在一些实施例中,存储设备群组至少包括具有第一物理容量的第一存储设备子组和具有第二物理容量的第二存储设备子组,从存储设备群组中选择至少一个容量增进集合包括:对于第一存储设备子组和第二存储设备子组中的每一个,响应于相应存储设备子组中的存储设备的数目在第二数目以上,从相应存储设备子组中选择第二数目的存储设备作为至少一个容量增进集合之一。
在一些实施例中,按照物理容量的顺序将独立冗余磁盘阵列中的存储设备组合成存储设备群组包括:按照物理容量的降序将独立冗余磁盘阵列中的存储设备组合成存储设备群组。
在本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理器、以及与至少一个处理器耦合的存储器。存储器存储有计算机程序,计算机程序在被处理器执行时使电子设备执行动作,动作包括:按照物理容量的顺序将独立冗余磁盘阵列中的存储设备组合成存储设备群组;基于存储设备的数目、以及存储设备将被划分到的多个集合中的每个集合中的存储设备的阈值数目,确定集合的第一数目,存储设备的数目大于阈值数目;以及从存储设备群组中选择至少一个容量增进集合,每个容量增进集合包括具有相同物理容量的第二数目的存储设备,第二数目等于独立冗余磁盘阵列的宽度与每个集合中的被预留的存储设备的数目的总和;以及通过将每个容量增进集合与存储设备群组中的除了至少一个容量增进集合以外的存储设备进行组合,来形成第一数目的集合。
在本公开的第三方面,提供了一种计算机可读介质。该计算机可读介质被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使机器执行根据第一方面的方法的步骤。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开内容的实施方式的关键或重要特征,亦非用于限制本公开内容的范围。本公开内容的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开内容的各实施方式的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了本公开的实施例可以在其中被实现的存储系统的示意图。
图2示出了根据本公开的一些实施例的管理存储设备的方法的框图;
图3示出了根据本公开的另一些实施例的管理存储设备的方法的框图;
图4示出了根据本公开的一些实施例的RAID的示意图;以及
图5示出了可以用来实施本公开的实施例的示例设备的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开内容的实施方式。虽然附图中显示了本公开内容的某些实施方式,然而应当理解的是,本公开内容可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施方式,相反提供这些实施方式是为了更加透彻和完整地理解本公开内容。应当理解的是,本公开内容的附图及实施方式仅用于示例性作用,并非用于限制本公开内容的保护范围。
在本公开内容的实施方式的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例/实施方式”或“该实施例/实施方式”应当理解为“至少一个实施例/实施方式”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
图1示出了本公开的实施例可以在其中被实现的存储系统100的示意图。该系统100包括多个物理存储设备122-1、122-2、……、122-27,用于提供物理存储空间。这些存储设备可以被统称为或单独称为存储设备122。存储设备122可以是各种持久性存储设备,例如,存储设备122可以包括但不限于数字通用盘(DVD)、蓝光盘(BD)、光盘(CD)、软盘、硬盘、磁带驱动、光学驱动、固态存储器设备(SSD)等等。存储设备122中的每个存储设备可以被划分为多个区段或者多个切片(slice)121。每个区段或者每个切片121具有固定的存储容量。RAID可以将不同存储设备上的区段或切片121组合成RAID条带114,RAID条带114可以包括条带114-1、114-2、……、114-6。例如,RAID可以在存储设备122-1、122-2、122-3、122-4和122-21的相应区段121上形成RAID5的条带114-3。
为了确保RAID的可靠性,一般需要在限定数目的存储设备中为RAID条带分配区段或切片。这些限定数目的存储设备形成了一个存储设备集合。如果系统中的存储设备的数目超过限定的数目,可以再划分出一个存储设备集合。也就是说,存储系统100会根据存储设备的数目而将多个存储设备划分成一个或多个存储设备集合,并且同一个RAID条带114中的区段都来自于同一个存储设备集合中的存储设备。由此,这样的存储设备集合中的存储设备数目应当能够满足建立RAID条带的所需要的最低存储设备数目。此外,存储设备集合中的存储设备数目也不能过高,这会导致出现故障存储设备的概率变大,从而降低了可靠性。如图1所示,系统100中的多个物理存储设备122-1、122-2、……、122-27被分为第一存储设备集合120-1和第二存储设备集合120-2。第一存储设备集合120-1包括存储设备122-1、122-2、……、122-21,第二存储设备集合120-2包括存储设备122-22、122-23、……、122-27。RAID用第一RR 120-1中的区段形成了第一组条带110-1,以及用第二存储设备集合120-2中的区段形成了第二组条带110-2。第一组条带110-1包括条带114-1、114-2、……、114-3,以及第二组条带110-2包括条带114-4、114-5、……、114-6。
通常,只有当RAID的已有存储设备集合中的存储设备的数目没有超过数目时,才允许向已有存储设备集合中添加新的存储设备。如果存储设备集合中的存储设备的数目超过阈值数目并且新的存储设备的数目不满足RAID宽度要求,那么新的存储设备将无法被添加到存储设备集合中。如果新的存储设备的数目满足RAID宽度要求,那么新的存储设备将被成功添加到RAID中并且组成新的存储设备集合。由于目前的存储系统并不支持对已有存储设备集合和新的存储设备集合中的存储设备的重新分配,因此在考虑RAID的总有效容量时,形成新的存储设备集合可能不是最优方案。
根据本公开的实施例,提出了一种存储设备的分配方案以支持存储设备集合的扩展。该方案按照物理容量的顺序将存储设备组合成存储设备群组,并且从存储设备群组中选择至少一个容量增进集合,每个容量增进集合包括具有相同物理容量的第二数目的存储设备,第二数目等于独立冗余磁盘阵列的宽度与每个集合中的被预留的存储设备的数目的总和,通过将每个容量增进集合与存储设备群组中的除了至少一个容量增进集合以外的存储设备进行组合来形成多个集合。根据本公开实施例的方案,通过提供存储设备向存储设备集合的重新分配,可以支持向已有存储设备集合中添加任何数目的新存储设备。此外,通过将每个容量增进集合与存储设备群组中的除了至少一个容量增进集合以外的存储设备进行组合来形成多个集合,能够优化RAID的有效容量,提高存储设备的利用率。
以下参考附图来详细描述本公开的实施例。图2示出了根据本公开实施例的管理存储设备的方法200的框图。方法200可以在图1中的存储系统100中被实现,并且由处理器来执行。为了便于讨论,将参考图1来描述方法200。
在框210,按照物理容量的顺序将RAID中的存储设备组合成存储设备群组。在一些实施例中,存储设备可以包括用于对RAID进行初始化的多个存储设备。在其他实施例中,存储设备可以包括RAID的已有存储设备集合中的存储设备以及将要向RAID中添加的新存储设备。
在一些实施例中,可以按照物理容量的降序将RAID中的存储设备组合成存储设备群组。在其他实施例中,可以按照物理容量的升序将RAID中的存储设备组合成存储设备群组。
在框220,基于存储设备的数目、以及存储设备将被划分到的多个集合中的每个集合中的存储设备的阈值数目,确定集合的第一数目,存储设备的数目大于阈值数目。在一些实施例中,存储设备将被划分到的集合可以为RAID恢复集合(Raid Resiliency Set,RRS)。在下文中,出于讨论的目的,将RRS作为存储设备将被划分到的集合的示例来描述本公开的实施例。
在一些实施例中,每个集合中的存储设备的阈值数目可以为任意适当的数目。例如,该阈值数目可以为25。
在一些实施例中,可以基于存储设备的数目、每个集合中的存储设备的阈值数目,将多个集合的第一数目确定为大于存储设备的数目与阈值数目的商的最小整数。例如,如果存储设备的数目为30并且每个集合中的存储设备的阈值数目为25,那么多个集合的第一数目被确定为
Figure BDA0002039192730000061
(即,2)。又例如,如果存储设备的数目为60并且每个集合中的存储设备的阈值数目为25,那么多个集合的第一数目被确定为
Figure BDA0002039192730000071
(即,3)。
在框230,从存储设备群组中选择至少一个容量增进集合。每个容量增进集合包括具有相同物理容量的第二数目的存储设备。第二数目等于RAID的宽度与每个集合中的被预留的存储设备的数目的总和。在下文中,为了方便讨论,在一个RRS中,容量增进集合也被称作RRS头部,由RRS头部之后的存储设备构成的存储设备子组被称作RRS主体。
在一些实施例中,存储设备群组至少包括具有第一物理容量的第一存储设备子组和具有第二物理容量的第二存储设备子组。第一物理容量不同于第二物理容量。在这样的实施例中,从存储设备群组中选择至少一个RRS头部包括:对于第一存储设备子组和第二存储设备子组中的每一个,执行以下过程。确定相应存储设备子组中的存储设备的数目是否在第二数目(即,RAID的宽度与每个集合中的被预留的存储设备的数目的总和)以上。换言之,确定相应存储设备子组中的存储设备的数目是否大于或等于第二数目。如果相应存储设备子组中的存储设备的数目大于或等于第二数目,则从该存储设备子组中选择第二数目的存储设备作为一个RRS头部。另一方面,如果相应存储设备子组中的存储设备的数目小于第二数目,则将该存储设备子组中的全部存储设备作为RRS主体。
继续参考图2,在框240,通过将每个容量增进集合与存储设备群组中的除了至少一个容量增进集合以外的存储设备进行组合,来形成第一数目的集合。
以下表1示出了在采用4D+1P的RAID5配置并且每个集合中的存储设备的阈值数目为25的实施例中,RRS头部与RRS主体的组合方式的示例。
表1
Figure BDA0002039192730000081
在表1中,假定存在两个RRS,即RRS0和RRS1。D0表示具有第一物理容量的存储设备,D1表示具有第二物理容量的存储设备,D2表示具有第三物理容量的存储设备,D3表示具有第四物理容量的存储设备,D4表示具有第五物理容量的存储设备,其中D0到D4的物理容量依次减小。
从表1的示例可见,一个RRS中可以只包括RRS头部(如示例(1))或RRS主体,也可以包括二者。例如,在表1的示例(1)中,RRS0仅包括RRS主体,而在示例(3)和(4)的RRS1仅包括RRS头部。
在下文中将参考图3来描述根据本公开的一个实施例的通过将每个容量增进集合与存储设备群组中的除了至少一个容量增进集合以外的存储设备进行组合来形成多个集合的过程。
如图3所示,在框310,通过将每个RRS头部与存储设备群组中的除了RRS头部以外的存储设备进行组合,来形成多个候选集合群组。每个候选集合群组包括第一数目的候选集合。换言之,候选集合的数目与存储设备将被划分到多个集合的数目相同。
在一些实施例中,可以创建全部RRS头部的列表和全部RRS主体的列表,通过遍历两个列表来确定两个列表中的项目的全部组合(即,由两个列表中的项目组成的多个候选集合群组)。
全部RRS头部的列表列出了各个RRS头部向RRS的所有可能的分配。例如,在包括13个具有第一物理容量的存储设备D0和13个具有第二物理容量的存储设备D1的存储系统中,可以存在两个RRS头部。两个RRS头部中的第一RRS头部(由pds0表示)包括6个存储设备D0,两个RRS头部中的第二RRS头部(由pds1表示)包括6个存储设备D1。在这样的示例中,存在RRS头部向RRS的如下四种可能的分配:
pds0被分配到RRS0,pds1被分配到RRS1;
pds1被分配到RRS0,pds0被分配到RRS1;
pds0和pds1均被分配到RRS0;
pds0和pds1均被分配到RRS1。
全部RRS主体的列表列出了各个RRS主体向RRS的所有可能的分配。由于RRS主体中的存储设备总是按照物理容量的顺序排列的,因此可以只是通过将该列表进行分割来实现RRS主体中的存储设备向RRS的分配,而不改变存储设备的排列顺序。例如,仍然考虑以上包括13个具有第一物理容量的存储设备D0和13个具有第二物理容量的存储设备D1的存储系统的示例。RRS主体将包括14个存储设备,其中包括7个存储设备D0和7个存储设备D1。在这样的示例中,存在RRS主体向RRS的如下四种可能的分配:
1.无存储设备被分配到RRS0,全部14个存储设备都被分配到RRS1;
2.1个D0被分配到RRS0,所有其他13个存储设备被分配到RRS1;
3.2个D0被分配到RRS0,所有其他12个存储设备被分配到RRS1;
….
14.7个D0和6个D1被分配到RRS0,1个D1被分配到RRS1;
15.全部14个存储设备都被RRS0,无存储设备被分配到RRS1。
在以下表2和表3中分别示出了上述示例中RRS头部的列表和RRS主体的列表。
表2
Figure BDA0002039192730000101
表3
Figure BDA0002039192730000102
继续参考图3,在通过遍历RRS头部的列表和RRS主体的列表来确定两个列表中的项目的全部组合后,在框320确定每种组合(即每个候选集合群组)的有效容量。应当理解,在将RRS头部的列表和RRS主体的列表中的项目进行组合时,如果组合后的存储设备的数目小于RAID的宽度与每个集合中的被预留的存储设备的数目的总和(例如6),或者大于每个集合中的存储设备的阈值数目(例如25),则认为该组合是无效的。因而无需针对该组合计算有效容量。
在下文中将参考图4来描述根据本公开的实施例的有效容量的确定。图4示出了根据本公开的一个实施例的RAID 400的示意图。如图4所示,RAID 400包括按照物理容量的降序排列的第一组存储设备410、第二组存储设备420、第三组存储设备430。
第一组存储设备410包括物理容量为Clarge的3个存储设备。第二组存储设备420包括物理容量为Cmiddle的4个存储设备。第三组存储设备430包括物理容量为Csmall的2个存储设备,其中Clarge>Cmiddle>Csmall
在一些实施例中,基于RAID 400的配置以及RAID 400中被预留的存储设备的数目,确定进行条带分配所需的区段的数目。例如,在RAID 400具有4D+1P RAID-5的配置并且被预留的存储设备的数目为1的情况下,进行条带分配所需的区段的数目为5+1(即,6)。
进一步,按照物理容量的降序,从RAID 400中选择所确定的数目的(例如6个)存储设备,构成存储设备子组。例如,在图4的示例中,从RAID 400中选择第一组存储设备410中的全部3个存储设备以及第二组存储设备420中的3个存储设备,构成存储设备子组440。换言之,存储设备子组440包括物理容量为Clarge的3个存储设备以及物理容量为Cmiddle的3个存储设备。
进一步,将存储设备子组440中的具有最小物理容量的存储设备的物理容量确定为存储设备子组440中的每个存储设备的有效容量。例如,在上述示例中,将存储设备子组440中的物理容量为Cmiddle的存储设备的物理容量Cmiddle作为存储设备子组440中的每个存储设备的有效容量。
此外,对于RAID 400中的除了存储设备子组440以外的每个存储设备,将其各自的物理容量作为相应存储设备的有效容量。
因此,在上述示例中,RAID 400的总的有效容量=7*Cmiddle+2*Csmall
可以理解,如果存储设备子组440包括物理容量为Clarge的6个存储设备,即包括由物理容量为Clarge的6个存储设备构成的一个容量增进集合,那么可以确定存储设备子组440中的每个存储设备的有效容量均为Clarge(即等于其各自的物理容量)。因此,RAID 400中的各个存储设备的有效容量都等于其各自的物理容量,由此可以实现RAID 400的有效容量的最大化。
返回到图3,在框330,将多个候选集合群组中的具有最大有效容量的候选集合群组确定为第一数目的集合。
在一些实施例中,如果确定多个候选集合群组中的第一候选集合群组和第二候选集合群组均具有最大有效容量,则从第一候选集合群组中选择具有最大有效容量的第一集合,以及从第二候选集合群组中选择具有最大有效容量的第二集合。如果第一集合的有效容量大于第二集合的有效容量,则将第一候选集合群组确定为第一数目的集合。
例如,在采用4D+1P的RAID5配置并且每个RRS中的存储设备的阈值数目为25的实施例中,存在具有第一物理容量的6个存储设备D0,具有第二物理容量的20个存储设备D1,第一物理容量大于第二物理容量。对于上述26个存储设备存在如下两种划分选项:
选项1:RRS1:[D0,D0,D0,D0,D0,D0,D1,D1,…,D1],
RRS2:[D1,D1,D1,D1,D1,D1]
选项2:RRS3:[D0,D0,D0,D0,D0,D0],
RRS4:[D1,D1,D1,…,D1]
在选项1中,上述26个存储设备被划分到RRS1和RRS2中,其中RRS1的有效容量大于RRS2。在选项2中,上述26个存储设备被划分到RRS3和RRS4中,其中RRS3的有效容量大于RRS4。由于选项1的RRS1的有效容量大于RRS3的有效容量,因此采用选项1作为上述26个存储设备的划分方式。
此外,在一些实施例中,对方法300的计算复杂的进行了分析。从分配过程中可知,该算法的计算复杂度主要取决于RRS头部列表和RRS主体列表扫描,这取决于RRS头部列表和RRS主体列表中的项目的数目。
在存储系统中,可能总共存在2个、3个或4个RRS。如果RRS头部的数目与RRS的数目相同,则对于不同数目的RRS可以轻松获得RRS头部列表的可能项目如下,其中C是RRS头部列表中的项目的数目,M是RRS的数目(M=2的样本实际显示在表2和表3中):
Figure BDA0002039192730000131
当存储系统中存在N个RRS头部、M个RRS并且N不小于M时,将首先选择M个RRS头部,然后将这M个RRS头部分配到M个组,因而RRS头部列表中的项目的总数为
Figure BDA0002039192730000136
因此,在存储系统中,RRS头部列表中的项目的总数如下:
Figure BDA0002039192730000132
如果存储系统中的存储设备的数目为D,那么将会在RRS主体中被分配的存储设备的数目为:
Figure BDA0002039192730000133
在将N个数字分配到M个组时,可能的分配的计数是
Figure BDA0002039192730000134
因此可以得到RRS主体列表中的项目的数目如下:
Figure BDA0002039192730000135
因此,可以得到整个存储系统中RRS头部列表和RRS主体列表的遍历时间的最终公式如下(N是RRS头部的数目,M是RRS的数目,D是存储设备的总数):
Figure BDA0002039192730000141
从以上公式可知,分配算法的计算复杂度约为O(D3)(D是存储设备的总数),这可以满足对分配时间的要求。
以下表4列出了具有不同存储设备配置的一些用户案例的遍历时间,以便可以获得有关计算复杂度的一些基本概念。请意,由于并非RRS头部列表和RRS主体列表的所有项目组合都有效,因此实际遍历时间小于表4中的值。从结果中可知,理由足够的RRS头部,预期可以在合理的时间内找到最优分配方法。由于在大多数情况下不会少于3种类型的存储设备,因此N的值也不会大于M,总的遍历时间将是可以忍受的。
表4
Figure BDA0002039192730000142
图5示出了可以用来实施本公开的实施例的示例设备500的示意性框图。设备500可以被实现为包括存储系统100。设备500可以用于实现图2或图3的方法200或300。
如图所示,设备500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的计算机程序指令或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序指令,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键存储设备、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁存储设备、光存储设备等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元501执行上文所描述的方法200或300。例如,在一些实施例中,方法200或300可被实现为计算机软件程序或计算机程序产品,其被有形地包含于机器可读介质,诸如非瞬态计算机可读介质,诸如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由CPU 501执行时,可以执行上文描述的方法200或方法300的一个或多个步骤。备选地,在其他实施例中,CPU 501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200或300。
本领域的技术人员应当理解,上述本公开的方法的各个步骤可以通过通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
应当理解,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。

Claims (11)

1.一种管理存储设备的方法,包括:
按照物理容量的顺序将独立冗余磁盘阵列中的存储设备组合成存储设备群组;
基于所述存储设备的数目、以及所述存储设备将被划分到的多个集合中的每个集合中的存储设备的阈值数目,确定所述集合的第一数目,所述存储设备的所述数目大于所述阈值数目;
从所述存储设备群组中选择至少一个容量增进集合,每个所述容量增进集合包括具有相同物理容量的第二数目的存储设备,所述第二数目等于所述独立冗余磁盘阵列的宽度与所述每个集合中的被预留的存储设备的数目的总和;以及
通过将每个所述容量增进集合与所述存储设备群组中的除了所述至少一个容量增进集合以外的存储设备进行组合,来形成所述第一数目的所述集合。
2.根据权利要求1所述的方法,其中形成所述第一数目的所述集合包括:
通过将每个所述容量增进集合与所述存储设备群组中的除了所述至少一个容量增进集合以外的存储设备进行组合,来形成多个候选集合群组,每个所述候选集合群组包括所述第一数目的候选集合;
确定每个所述候选集合群组的有效容量;以及
将所述多个候选集合群组中的具有最大有效容量的候选集合群组确定为所述第一数目的所述集合。
3.根据权利要求2所述的方法,其中将所述多个候选集合群组中的具有最大有效容量的候选集合群组确定为所述第一数目的所述集合包括:
响应于确定所述多个候选集合群组中的第一候选集合群组和第二候选集合群组均具有所述最大有效容量,从所述第一候选集合群组中选择具有最大有效容量的第一集合,以及从所述第二候选集合群组中选择具有最大有效容量的第二集合;以及
响应于所述第一集合的有效容量大于所述第二集合的有效容量,将所述第一候选集合群组确定为所述第一数目的所述集合。
4.根据权利要求1所述的方法,其中:
所述存储设备群组至少包括具有第一物理容量的第一存储设备子组和具有第二物理容量的第二存储设备子组,所述第一物理容量不同于所述第二物理容量;并且
从所述存储设备群组中选择所述至少一个容量增进集合包括:
对于所述第一存储设备子组和所述第二存储设备子组中的每一个,响应于相应存储设备子组中的存储设备的数目在所述第二数目以上,从所述相应存储设备子组中选择所述第二数目的存储设备作为所述至少一个容量增进集合之一。
5.根据权利要求1至4中的任一项所述的方法,其中按照物理容量的顺序将独立冗余磁盘阵列中的存储设备组合成存储设备群组包括:
按照所述物理容量的降序将所述独立冗余磁盘阵列中的存储设备组合成所述存储设备群组。
6.一种电子设备,包括:
至少一个处理器;以及
与所述处理器耦合的存储器,所述存储器存储有计算机程序,所述计算机程序在被处理器执行时使所述电子设备执行动作,所述动作包括:
按照物理容量的顺序将独立冗余磁盘阵列中的存储设备组合成存储设备群组;
基于所述存储设备的数目、以及所述存储设备将被划分到的多个集合中的每个集合中的存储设备的阈值数目,确定所述集合的第一数目,所述存储设备的所述数目大于所述阈值数目;
从所述存储设备群组中选择至少一个容量增进集合,每个所述容量增进集合包括具有相同物理容量的第二数目的存储设备,所述第二数目等于所述独立冗余磁盘阵列的宽度与所述每个集合中的被预留的存储设备的数目的总和;以及
通过将每个所述容量增进集合与所述存储设备群组中的除了所述至少一个容量增进集合以外的存储设备进行组合,来形成所述第一数目的所述集合。
7.根据权利要求6所述的电子设备,其中形成所述第一数目的所述集合包括:
通过将每个所述容量增进集合与所述存储设备群组中的除了所述至少一个容量增进集合以外的存储设备进行组合,来形成多个候选集合群组,每个所述候选集合群组包括所述第一数目的候选集合;
确定每个所述候选集合群组的有效容量;以及
将所述多个候选集合群组中的具有最大有效容量的候选集合群组确定为所述第一数目的所述集合。
8.根据权利要求7所述的电子设备,其中将所述多个候选集合群组中的具有最大有效容量的候选集合群组确定为所述第一数目的所述集合包括:
响应于确定所述多个候选集合群组中的第一候选集合群组和第二候选集合群组均具有所述最大有效容量,从所述第一候选集合群组中选择具有最大有效容量的第一集合,以及从所述第二候选集合群组中选择具有最大有效容量的第二集合;以及
响应于所述第一集合的有效容量大于所述第二集合的有效容量,将所述第一候选集合群组确定为所述第一数目的所述集合。
9.根据权利要求6所述的电子设备,其中:
所述存储设备群组至少包括具有第一物理容量的第一存储设备子组和具有第二物理容量的第二存储设备子组,所述第一物理容量不同于所述第二物理容量;并且
从所述存储设备群组中选择所述至少一个容量增进集合包括:
对于所述第一存储设备子组和所述第二存储设备子组中的每一个,响应于相应存储设备子组中的存储设备的数目在所述第二数目以上,从所述相应存储设备子组中选择所述第二数目的存储设备作为所述至少一个容量增进集合之一。
10.根据权利要求6至9中的任一项所述的电子设备,其中按照物理容量的顺序将独立冗余磁盘阵列中的存储设备组合成存储设备群组包括:
按照所述物理容量的降序将所述独立冗余磁盘阵列中的存储设备组合成所述存储设备群组。
11.一种计算机可读介质,其包括机器可执行指令,所述机器可执行指令在由设备执行时使所述设备执行根据权利要求1-5中的任一项所述的方法。
CN201910336135.8A 2019-04-24 2019-04-24 管理存储设备的方法、电子设备以及计算机可读介质 Pending CN111857536A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910336135.8A CN111857536A (zh) 2019-04-24 2019-04-24 管理存储设备的方法、电子设备以及计算机可读介质
US16/836,362 US11157172B2 (en) 2019-04-24 2020-03-31 Method for managing storage devices, electronic device and computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910336135.8A CN111857536A (zh) 2019-04-24 2019-04-24 管理存储设备的方法、电子设备以及计算机可读介质

Publications (1)

Publication Number Publication Date
CN111857536A true CN111857536A (zh) 2020-10-30

Family

ID=72921551

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910336135.8A Pending CN111857536A (zh) 2019-04-24 2019-04-24 管理存储设备的方法、电子设备以及计算机可读介质

Country Status (2)

Country Link
US (1) US11157172B2 (zh)
CN (1) CN111857536A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11231859B2 (en) * 2019-10-29 2022-01-25 EMC IP Holding Company LLC Providing a RAID resiliency set from a plurality of storage devices
CN113590018A (zh) 2020-04-30 2021-11-02 伊姆西Ip控股有限责任公司 用于存储管理的方法、电子设备和计算机程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101047010A (zh) * 2006-03-29 2007-10-03 国际商业机器公司 用于最大化raid系统中受保护数据量的方法和系统
US20090177918A1 (en) * 2008-01-04 2009-07-09 Bulent Abali Storage redundant array of independent drives
US20170097871A1 (en) * 2015-10-05 2017-04-06 International Business Machines Corporation Declustered raid array having redundant domains
CN108733518A (zh) * 2017-04-17 2018-11-02 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机可读介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9213721B1 (en) 2009-01-05 2015-12-15 Emc Corporation File server system having tiered storage including solid-state drive primary storage and magnetic disk drive secondary storage
US8799705B2 (en) 2012-01-04 2014-08-05 Emc Corporation Data protection in a random access disk array
US9495486B1 (en) 2012-12-28 2016-11-15 Emc Corporation Methods and apparatus for SAN environment simulation
US9535629B1 (en) 2013-05-03 2017-01-03 EMC IP Holding Company LLC Storage provisioning in a data storage environment
US9442941B1 (en) 2014-03-28 2016-09-13 Emc Corporation Data structure for hash digest metadata component
US9606870B1 (en) 2014-03-31 2017-03-28 EMC IP Holding Company LLC Data reduction techniques in a flash-based key/value cluster storage
US9342465B1 (en) 2014-03-31 2016-05-17 Emc Corporation Encrypting data in a flash-based contents-addressable block device
US10241712B1 (en) 2014-06-30 2019-03-26 EMC IP Holding Company LLC Method and apparatus for automated orchestration of long distance protection of virtualized storage
US10705907B1 (en) 2016-03-24 2020-07-07 EMC IP Holding Company LLC Data protection in a heterogeneous random access storage array
US10768822B2 (en) * 2019-01-29 2020-09-08 International Business Machines Corporation Increasing storage capacity in heterogeneous storage arrays
US11042324B2 (en) 2019-04-29 2021-06-22 EMC IP Holding Company LLC Managing a raid group that uses storage devices of different types that provide different data storage characteristics

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101047010A (zh) * 2006-03-29 2007-10-03 国际商业机器公司 用于最大化raid系统中受保护数据量的方法和系统
US20090177918A1 (en) * 2008-01-04 2009-07-09 Bulent Abali Storage redundant array of independent drives
US20170097871A1 (en) * 2015-10-05 2017-04-06 International Business Machines Corporation Declustered raid array having redundant domains
CN108733518A (zh) * 2017-04-17 2018-11-02 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机可读介质

Also Published As

Publication number Publication date
US11157172B2 (en) 2021-10-26
US20200341645A1 (en) 2020-10-29

Similar Documents

Publication Publication Date Title
US9678668B2 (en) System and method for unbalanced RAID management
US20180246668A1 (en) Storage system
US8910030B2 (en) Redistributing parity in a storage system
US8112553B2 (en) Data allocation in a distributed storage system
KR102290540B1 (ko) 네임스페이스/스트림 관리
CN111124263B (zh) 用于管理多个盘的方法、电子设备以及计算机程序产品
CN111858130A (zh) 用于拆分盘集的方法、设备和计算机程序产品
US9354826B2 (en) Capacity expansion method and device
US9600187B2 (en) Virtual grouping of memory
CN111857536A (zh) 管理存储设备的方法、电子设备以及计算机可读介质
CN112764680A (zh) 磁盘条带选择方法及存储系统
CN111857537B (zh) 管理存储设备的方法、电子设备以及计算机可读介质
CN112748864B (zh) 分配存储盘的方法、电子设备和计算机程序产品
US9524213B2 (en) Storage control apparatus, recording medium having stored therein storage control program and storage control method
CN111857535A (zh) 用于存储管理的方法、电子设备和计算机可读存储介质
CN112748848A (zh) 用于存储管理的方法、设备和计算机程序产品
US11860746B2 (en) Resilient data storage system with efficient space management
CN108228079B (zh) 存储管理方法和设备
KR102227643B1 (ko) 오케스트레이션 기반 최적 스토리지 할당을 위한 예측형 후보군 선정 방법
CN117234433B (zh) 数据迁移方法和装置、raid存储设备、存储介质及电子装置
US11531500B1 (en) Coalescing storage space of heterogeneous nodes for flexible expansion
JP2000242439A (ja) ディスクアレイサブシステム
KR101011986B1 (ko) 분산 서비스 제공을 위한 분산 컴퓨팅 시스템, 데이터 분류시스템 및 방법
CN115220646A (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN111694509A (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