CN112748858A - 用于管理盘阵列的方法、电子设备和计算机程序产品 - Google Patents

用于管理盘阵列的方法、电子设备和计算机程序产品 Download PDF

Info

Publication number
CN112748858A
CN112748858A CN201911047042.XA CN201911047042A CN112748858A CN 112748858 A CN112748858 A CN 112748858A CN 201911047042 A CN201911047042 A CN 201911047042A CN 112748858 A CN112748858 A CN 112748858A
Authority
CN
China
Prior art keywords
disk
candidate
blocks
determining
disks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911047042.XA
Other languages
English (en)
Other versions
CN112748858B (zh
Inventor
商蓉蓉
汤海鹰
张晓波
高健
吴志龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201911047042.XA priority Critical patent/CN112748858B/zh
Priority to US16/877,881 priority patent/US11287997B2/en
Publication of CN112748858A publication Critical patent/CN112748858A/zh
Application granted granted Critical
Publication of CN112748858B publication Critical patent/CN112748858B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

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)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的实施例涉及用于管理盘阵列的方法、电子设备和计算机程序产品。该方法包括确定盘阵列集合中的盘阵列的条带的宽度和可用于为盘阵列集合分配新盘阵列的候选盘的元数据,元数据指示候选盘中的每个候选盘的物理盘块的总数目和候选盘中已被使用的物理盘块的已用数目。该方法还包括基于条带的宽度和总数目,确定候选盘中可用作盘阵列集合的盘块的物理盘块的第一数目。该方法还包括基于已用数目,确定已被使用的物理盘块中被用作盘阵列集合的盘块的物理盘块的第二数目。该方法还包括基于第一数目和第二数目确定候选盘的利用率以用于新盘阵列的分配。通过上述方法,使得候选盘的利用率更加准确,保证了各个候选盘的均匀使用,提高了候选盘的性能。

Description

用于管理盘阵列的方法、电子设备和计算机程序产品
技术领域
本公开的实施例涉及数据存储领域,并且更具体地,涉及用于管理盘阵列的方法、电子设备和计算机程序产品。
背景技术
随着存储技术的发展,用户越来越多的使用盘阵列来存储数据。盘阵列是由多个独立的盘按不同方式组合起来而形成的一组盘。盘阵列例如可以是独立磁盘冗余阵列(RAID),也可以是具有其他适当结构/形式的一组盘。对于用户而言,盘阵列就像是一个盘,但是其可以提供比单个硬盘更高的存储能力,并且还可以提供数据备份。盘阵列的不同组成方式被称为RAID级别(RAID Levels),如RAID0,RAID1,RAID5等。
随着RAID技术的发展,数据读取和写入在盘块级别上而不是在盘的级别上执行。根据这种技术,多个盘中的每个盘被划分为多个物理盘块。通过以物理盘块为单位来创建RAID。因此,通常需要在有限数目的盘中为RAID分配物理盘块。该有限数目的盘的集合通常被称为RAID弹性集(RAID Resiliency Set,简称RRS)。然而,在采用RRS中的物理盘块组成盘阵列时还存在许多需要解决的问题。
发明内容
本公开的实施例提供一种用于管理盘阵列的方法、设备和计算机程序产品。
根据本公开的第一方面,提供了一种用于管理盘阵列的方法。该方法包括确定盘阵列集合中的盘阵列的条带的宽度和可用于为盘阵列集合分配新盘阵列的候选盘的元数据,元数据指示候选盘中的每个候选盘的物理盘块的总数目和候选盘中已被使用的物理盘块的已用数目。该方法还包括基于条带的宽度和总数目,确定候选盘中可用作盘阵列集合的盘块的物理盘块的第一数目。该方法还包括基于已用数目,确定已被使用的物理盘块中被用作盘阵列集合的盘块的物理盘块的第二数目。该方法还包括基于第一数目和第二数目确定候选盘的利用率以用于新盘阵列的分配。
根据本公开的第二方面,提供了一种电子设备。该电子设备包括处理器;以及存储器,存储有计算机程序指令,处理器运行存储器中的计算机程序指令控制电子设备执行动作,该动作包括确定盘阵列集合中的盘阵列的条带的宽度和可用于为盘阵列集合分配新盘阵列的候选盘的元数据,元数据指示候选盘中的每个候选盘的物理盘块的总数目和候选盘中已被使用的物理盘块的已用数目;基于条带的宽度和总数目,确定候选盘中可用作盘阵列集合的盘块的物理盘块的第一数目;基于已用数目,确定已被使用的物理盘块中被用作盘阵列集合的盘块的物理盘块的第二数目;以及基于第一数目和第二数目确定候选盘的利用率以用于新盘阵列的分配。
根据本公开的第三方面,提供了一种计算机程序产品,该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行本公开的第一方面中的方法的步骤。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1图示了根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100的示意图;
图2图示了根据本公开的实施例的用于管理盘阵列的方法200的流程图;
图3图示了根据本公开的实施例的用于确定被用作盘阵列集合的盘块的物理盘块的第二数目的方法300的流程图;
图4图示了根据本公开的实施例的候选盘的示例400的示意图;
图5图示了适于用来实施本公开内容的实施例的示例设备500的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
通常,存储设备中具有多个盘。该多个盘基于设备类型和盘的数目被分到不同的盘集合中。例如,盘集合为RRS。因此,在存储设备中可以包括至少一个盘集合。来自盘集合的物理盘块可以形成盘阵列。多个盘阵列可以形成盘阵列集合,盘阵列集合内的盘阵列的条带的宽度是相同的。盘阵列的条带的宽度是指盘阵列的条带占用的盘的数目。盘阵列条带的宽度可用作为盘阵列的宽度。因此盘阵列的宽度和盘阵列条带的宽度可以互换使用。
在从盘集合为盘阵列集合分配新盘阵列时,通常需要确定各个盘集合的利用率。此时,盘集合中的盘作为候选盘用于为盘阵列集合分配新盘阵列。然而,传统方案中盘集合利用率对于任何盘阵列集合都是相同的,例如在一个盘集合中,对于盘阵列的条带的宽度为5的盘阵列集合和对于盘阵列的条带的宽度为2的盘阵列集合,盘集合利用率是相同的。
然而,由于盘集合通常会存在一些不同容量的候选盘。对于具有不同条带宽度的盘阵列集合,可用盘片的数量是不同的。在用盘集合为不同的盘阵列集合分配新盘阵列时,如果依据相同的利用率来分配,可能导致有的候选盘被分配了过多的物理盘块用于存储数据。同时有的候选盘却只有较少的物理盘块用于存储数据。因此,降低了盘阵列的整体性能。
为了解决上述问题,本公开提出了一种用于分配盘阵列的方法。在该方法中,首先确定盘阵列集合中的盘阵列的条带的宽度和可用于为盘阵列集合分配新盘阵列的候选盘的元数据。然后基于条带的宽度和总数目来确定候选盘中可用作盘阵列集合的盘块的物理盘块的第一数目。通过利用侯选盘中已被使用的物理盘块的已用数目来确定已被使用的物理盘块中被用作盘阵列集合的盘块的物理盘块的第二数目。最后通过第一数目和第二数目确定出候选盘的利用率以用于为盘阵列分配新盘阵列。通过上述方法,可以确定出候选盘针对不同盘阵列集合的利用率。由于计算出了针对不同盘阵列集合的候选盘的利用率,使得利用率更加准确,保证了各个候选盘的均匀使用,提高了候选盘的整体性能。
下面图1图示了根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100的示意图。
如图1所示,示例环境100包括管理设备102和存储设备104。管理设备102用于从存储设备104中为盘阵列集合分配新盘阵列。
存储设备104为存储大量数据的存储介质。存储设备104包括可以包括各种易失性和/或非易失性数据存储介质。存储介质的示例可以包括但不限于磁盘、光盘、硬盘、固态硬盘(SSD)、高速缓存。备选地或附加地,存储设备104可以存在相同类型的存储介质,也可以存在不同类型的存储介质。
图1中图示的存储设备104具有多个候选盘106-0、106-1、106-2…106-N,N为正整数。存储设备104中的候选盘可以基于盘的类型被分配到至少一个盘集合中。存储设备104中的每个候选盘均被划分具有多个物理盘块,其中每个物理盘块的大小是相同的。每个候选盘上的物理盘块的数目可能不同,也可能相同。物理盘块的大小可以依据需要设置。在一些实施例中,物理盘块的大小例如可以为4GB。
在存储设备104中,类型相同的候选盘可以被分在同一盘集合内。在一些实施例中,盘集合中的候选盘的数目不超过25。不同类型的候选盘被分在不同的盘集合中。
存储设备104中的物理盘块形成盘阵列。盘阵列集合中的盘阵列具有相同的级别。盘阵列集合中盘阵列包括但不限于RAID 0、RAID 1、RAID0+1、RAID 2、RAID 3、RAID 4、RAID5、RAID 7、RAID 10,等等。
管理设备120会从用户或上层应用接收用于为盘阵列集合分配新盘阵列的请求,该请求中包括盘阵列集合的标识。然后,管理设备102会基于盘阵列集合标识获取盘阵列集合的元数据。在一些实施例中,管理设备102从存储设备104获取针对盘阵列集合的元数据。在一些实施例中,管理设备102中存储有针对盘阵列集合的元数据。在一些实施例中,管理设备102从其他设备获得针对盘阵列集合的元数据。上述示例仅是用于描述本公开,而非对本公开的具体限定,本领域技术人员可以依据需要从任意合适的设备获取元数据。
通过获得的盘阵列集合的元数据,管理设备102可以确定出盘阵列集合的设备类型,例如盘的类型。管理设备102还从存储设备104获得至少一个盘集合的元数据。从盘集合的元数据中获取盘集合的设备类型。然后,管理设备102将盘阵列集合的设备类型和至少一个盘集合的设备类型进行比较以确定哪些盘集合可用于为该盘阵列集合分配新盘阵列。
在确定一个盘集合的利用率时,管理设备102将基于盘集合中可用于盘阵列集合的物理盘块的数目和盘集合中已用的物理盘块的数目来计算盘集合针对该盘阵列集合的利用率。然后,采用盘集合利用率低于阈值利用率的盘集合来分配新盘阵列。例如,采用盘集合利用率最低的盘集合来分配新盘片。
在上面结合图1描述了根据本公开的实施例的设备和/或方法可以在其中被实施的环境100的示意图。下面结合图2描述根据本公开的实施例的用于管理盘阵列的方法200,其中方法200可以在图1中的管理设备102或任何其他适当设备处执行。
在框202处,管理设备102确定盘阵列集合中的盘阵列的条带的宽度和可用于为盘阵列集合分配新盘阵列的候选盘的元数据,元数据指示候选盘中的每个候选盘的物理盘块的总数目和候选盘中已被使用的物理盘块的已用数目。元数据中存储有该候选盘中每个候选盘具有的物理盘块数。在一些实施例中,该已用数目包括被每个不同的盘阵列集合使用的物理盘块的数目。在一些实施例中,该已用数目是所有盘阵列集合使用的物理盘块的数目。
在一些实施例中,管理设备102从用户或上层应用接收用于为盘阵列集合分配新盘阵列的请求,其中请求包括盘阵列集合的标识。然后,管理设备102基于标识,获得该盘阵列集合的元数据。盘阵列集合的元数据中包括与盘阵列集合相对应的第一设备类型。
管理设备102还获取盘集合的元数据。为了描述方便,将盘集合称为候选盘。候选盘的元数据还包括与候选盘有关的第二设备类型。管理设备102将第一设备类型与第二设备类型进行匹配。如果匹配,管理设备102确定出条带的宽度,然后将计算该候选盘的利用率。如果不匹配,则不用该候选盘来为盘阵列集合分配新盘阵列。
在框204处,管理设备102基于条带的宽度和总数目,确定候选盘中可用作盘阵列集合的盘块的物理盘块的第一数目。管理设备102在获得条带的宽302度和候选盘中每个候选盘的物理盘块的总数目后,可以确定出候选盘中可用于该盘阵列集合的物理盘块的总数目。
在一些实施例中,管理设备102接照每个候选盘的物理盘块的总数目,对候选盘进行排序。例如,接照物理盘块的数目对候选盘进行从大到小的排序。管理设备102根据条带的宽度,确定经排序的候选盘中可用作盘阵列集合的盘块的物理盘块的第一数目。
在一些实施例中,在确定第一数目时,管理设备102基于条带的宽度来将候选盘分为两部分,第一部分中的候选盘的个数为条带的宽度加1,即包括用于为盘阵列集合分配盘阵列的盘,还包括预留的一个盘以用于在其他盘损坏时用于存储损坏盘上的数据。
在第一部分中物理盘块数最少的最后一个盘作为预留盘,其他每个侯选盘中可用于盘阵列集合的物理盘块的数目与最后一个盘的盘块数目相同。预留盘中的物理盘块不被用于作为可用于盘阵列集合的盘块。例如,在条带的宽度为5时,选取的前6个盘分别具有10、10、10、6、6、6个盘块。因此,每个盘可用于盘阵列集合的物理盘块的数目是6。由于,第6个盘用作预留盘,其上具有的物理盘块不用作盘阵列集合的盘块。此外,第一到第三个盘中各有4个物理盘块不被作于所述盘阵列集合。
而第二部分中的物理盘块均用作盘阵列集合的盘块。因此,可以确定出经排序的候选盘中可用作盘阵列集合的盘块的物理盘块的第一数目。
在框206处,管理设备102基于已用数目,确定已被使用的物理盘块中被用作盘阵列集合的盘块的物理盘块的第二数目。管理设备102可以通过已用数目确定出已被使用的物理盘块中被用作盘阵列集合的盘块的物理盘块的第二数目。管理设备102确定第二数目的详细过程将在下面结合图3和图4进行详细描述。
在框208处,管理设备102基于第一数目和第二数目确定候选盘的利用率以用于针对新盘阵列的分配。
在一些实施例中,管理设备102用第二数目除以第一数目即可确定候选盘的利用率。上述示例仅是用于描述本公开,而非对本公开的具体限定。本领域技术人员可以依据任意合适的方式从第一数目和第二数目来确定利用率。
在管理设备102确定了候选盘的利用率后,如果利用率低于阈值利用率,则向存储设备104发送用于在候选盘中为盘阵列集合分配新盘阵列的指示,以用于新盘阵列的分配。
在一些实施例中,管理设备102还可以确定出其他候选盘针对盘阵列集合的利用率。然后管理设备102将多个利用率进行比较,确定出利用率最小的候选盘作为用于分配新盘阵列的目标候选盘。
通过上述方法,可以确定出候选盘针对不同盘阵列集合的利用率。因此,针对不同盘阵列集合的候选盘的利用率更加准确,从而保证了候选盘的均匀使用,提高了候选盘的整体性能。
上面图2图示了根据本公开的实施例的用于管理盘阵列的方法200的示意图。下面将结合图3和图4来描述图2中的框206处的操作。图3图示了根据本公开的实施例的用于确定被用作盘阵列集合的盘块的物理盘块的第二数目的方法300的流程图。图3中的方法300可由图1中的管理设备102或任何其他适当设备执行。
在框302处,管理设备102从候选盘确定出一组候选盘,一组候选盘的总数大于条带的宽度。管理102对候选盘进行排序。然后从排序的候选盘中选出具有较多物理盘块的前N个候选盘,N为盘阵列集合的宽度加1。
图4图示了根据本公开的实施例的候选盘的示例400的示意图。如图4所示,在盘阵列的条带的宽度或盘阵列的宽度为5时,则从候选盘中选出具有最多物理盘块的前6个盘:盘401、盘402、盘403、盘404、盘405和盘406。其中盘401、盘402、盘403、盘404、盘405用于盘阵列集合的存储数据的盘。盘406用于作为盘阵列集合的预留盘,以用于在其他盘损坏时,损坏盘上的数据存储到盘406上。
盘401、402具有10个物理盘块,盘403、盘404、盘405和盘406具有6个物理盘块。选取的这些盘上已分布了三个盘阵列。第一盘阵列的盘阵列宽度为5,其使用了盘401的物理盘块401-1、盘402的物理盘块402-1、盘403的物理盘块403-1、盘404的物理盘块404-1和盘405的物理盘块405-1。第二盘阵列的盘阵列宽度为5,其使用了盘401的物理盘块401-2、盘402的物理盘块402-2、盘403的物理盘块403-2、盘404的物理盘块404-2和盘405的物理盘块405-2。第三盘阵列的宽度为2,其使用了盘401的物理盘块401-3、盘402的物理盘块402-3。
在框304处,管理设备102确定一组候选盘中的已被使用的物理盘块所位于的条带的宽度。管理设备102可以获得一组候选盘中的每个候选盘的元数据。该元数据中记载了每个物理盘块属于哪个盘阵列以及条带的宽度。例如,在图4中,获得盘401的元数据可以确定出其物理盘块401-1、物理盘块401-2和物理盘块401-3所属的盘阵列的条带的宽度。
在框306处,管理设备102基于所确定的宽度,确定未被包括在盘阵列集合中的物理盘块的第三数目。
在确定已用物理盘块是否未被包括在盘阵列集合的盘块中时,管理设备102需要确定该已用物理盘块所在的盘的物理盘块的总数目是否大于该盘中可用于盘阵列集合的盘块的数目。如果所在的盘的物理盘块的总数目不大于该盘中可用于盘阵列集合的盘块的数目,则该盘上不存在可以不作为盘阵列集合的盘块的已用物理盘块。如果所在的盘的物理盘块的总数目大于该盘中可用于盘阵列集合的盘块的数目,管理设备102将确定出的宽度与要分配的盘阵列的宽度进行比较。
在盘阵列的宽度小于要分配的盘阵列的宽度时,已用物理盘块才被确定为未被包括在盘阵列集合的盘块中。例如盘401和402的物理盘块数为10,可用于盘阵列集合的盘块数为6。盘401和盘402的物理盘块总数大于可用于盘阵列集合的盘块的数目。已用物理盘块401-3和已用物理盘块402-3的条带的宽度为2,小于要分配的盘阵列的宽度5。因此,已用物理盘块401-3和已用物理盘块402-3不被用作盘阵列集合的盘块。
备选地或附加地,每个盘上的已用物理盘块不用作盘阵列集合盘块的最大数目为每个盘的物理盘块总数与该盘用作盘阵列集合的盘块的数目之差。
在框308处,管理设备102基于已用数目和第三数目确定第二数目。在一些实施例中,管理设备102用已用数目减去第三数目得到第二数目。
通过上方法,可以快速的确定已被使用的物理盘块中被用作盘阵列集合的盘块的物理盘块的第二数目。使得针对不同的盘阵列集合可以准确的确定出已用物理盘块的数目,保证了利用率的准确,提高了侯选盘的利用率。
图5示出了可以用来实施本公开内容的实施例的示例设备500的示意性框图。例如,如图1所示的管理设备102可以由设备500来实施。如图所示,设备500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的计算机程序指令或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序指令,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200和300可由处理单元501执行。例如,在一些实施例中,方法200和300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序被加载到RAM 503并由CPU501执行时,可以执行上文描述的方法200和300的一个或多个动作。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (11)

1.一种用于管理盘阵列的方法,包括:
确定盘阵列集合中的盘阵列的条带的宽度和可用于为所述盘阵列集合分配新盘阵列的候选盘的元数据,所述元数据指示所述候选盘中的每个候选盘的物理盘块的总数目和所述候选盘中已被使用的物理盘块的已用数目;
基于所述条带的宽度和所述总数目,确定所述候选盘中可用作所述盘阵列集合的盘块的物理盘块的第一数目;
基于所述已用数目,确定所述已被使用的物理盘块中被用作所述盘阵列集合的盘块的物理盘块的第二数目;以及
基于所述第一数目和所述第二数目确定所述候选盘的利用率以用于所述新盘阵列的所述分配。
2.根据权利要求1所述的方法,其中确定所述第一数目包括:
基于每个候选盘的物理盘块的所述总数目,对所述候选盘进行排序;以及
基于所述条带的宽度,确定经排序的所述候选盘中可用作所述盘阵列集合的盘块的物理盘块的第一数目。
3.根据权利要求1所述的方法,其中确定所述第二数目包括:
从所述候选盘确定出一组候选盘,所述一组候选盘的总数大于所述条带的宽度;
确定所述一组候选盘中的所述已被使用的物理盘块所位于的条带的宽度;
基于所确定的所述宽度,确定未被包括在所述盘阵列集合中的物理盘块的第三数目;以及
基于所述已用数目和所述第三数目确定所述第二数目。
4.根据权利要求1所述的方法,还包括:
根据确定所述利用率低于所述阈值利用率,发送用于在所述候选盘中为所述盘阵列集合分配新盘阵列的指示,以用于所述新盘阵列的所述分配。
5.根据权利要求1所述的方法,其中确定所述条带的宽度和所述元数据包括:
接收用于为所述盘阵列集合分配新盘阵列的请求,所述请求包括所述盘阵列集合的标识;
基于所述标识,获得与所述盘阵列集合相对应的第一设备类型;
获取与所述候选盘有关的所述元数据,所述元数据还包括与所述候选盘有关的第二设备类型;以及
根据确定所述第一设备类型与所述第二设备类型匹配,确定所述条带的宽度。
6.一种电子设备,所述电子设备包括:
处理器;以及
存储器,存储有计算机程序指令,处理器运行存储器中的所述计算机程序指令控制所述电子设备执行动作,所述动作包括:
确定盘阵列集合中的盘阵列的条带的宽度和可用于为所述盘阵列集合分配新盘阵列的候选盘的元数据,所述元数据指示所述候选盘中的每个候选盘的物理盘块的总数目和所述候选盘中已被使用的物理盘块的已用数目;
基于所述条带的宽度和所述总数目,确定所述候选盘中可用作所述盘阵列集合的盘块的物理盘块的第一数目;
基于所述已用数目,确定所述已被使用的物理盘块中被用作所述盘阵列集合的盘块的物理盘块的第二数目;以及
基于所述第一数目和所述第二数目确定所述候选盘的利用率以用于所述新盘阵列的所述分配。
7.根据权利要求6所述的电子设备,其中确定所述第一数目包括:
基于每个候选盘的物理盘块的所述总数目,对所述候选盘进行排序;以及
基于所述条带的宽度,确定经排序的所述候选盘中可用作所述盘阵列集合的盘块的物理盘块的第一数目。
8.根据权利要求6所述的电子设备,其中确定所述第二数目包括:
从所述候选盘确定出一组候选盘,所述一组候选盘的总数大于所述条带的宽度;
确定所述一组候选盘中的所述已被使用的物理盘块所位于的条带的宽度;
基于所确定的所述宽度,确定未被包括在所述盘阵列集合中的物理盘块的第三数目;以及
基于所述已用数目和所述第三数目确定所述第二数目。
9.根据权利要求6所述的电子设备,还包括:
根据确定所述利用率低于所述阈值利用率,发送用于在所述候选盘中为所述盘阵列集合分配新盘阵列的指示,以用于所述新盘阵列的所述分配。
10.根据权利要求6所述的电子设备,其中确定所述条带的宽度和所述元数据包括:
接收用于为所述盘阵列集合分配新盘阵列的请求,所述请求包括所述盘阵列集合的标识;
基于所述标识,获得与所述盘阵列集合相对应的第一设备类型;
获取与所述候选盘有关的所述元数据,所述元数据还包括与所述候选盘有关的第二设备类型;以及
根据确定所述第一设备类型与所述第二设备类型匹配,确定所述条带的宽度。
11.一种计算机程序产品,所述计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至5中任一项所述的方法的步骤。
CN201911047042.XA 2019-10-30 2019-10-30 用于管理盘阵列的方法、电子设备和计算机程序产品 Active CN112748858B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911047042.XA CN112748858B (zh) 2019-10-30 2019-10-30 用于管理盘阵列的方法、电子设备和计算机程序产品
US16/877,881 US11287997B2 (en) 2019-10-30 2020-05-19 Method, electronic device and computer program product for managing disk array

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911047042.XA CN112748858B (zh) 2019-10-30 2019-10-30 用于管理盘阵列的方法、电子设备和计算机程序产品

Publications (2)

Publication Number Publication Date
CN112748858A true CN112748858A (zh) 2021-05-04
CN112748858B CN112748858B (zh) 2024-04-19

Family

ID=75640872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911047042.XA Active CN112748858B (zh) 2019-10-30 2019-10-30 用于管理盘阵列的方法、电子设备和计算机程序产品

Country Status (2)

Country Link
US (1) US11287997B2 (zh)
CN (1) CN112748858B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112748867B (zh) 2019-10-31 2024-04-19 伊姆西Ip控股有限责任公司 用于存储管理的方法、电子设备以及计算机程序产品
US11314608B1 (en) * 2020-10-02 2022-04-26 Dell Products L.P. Creating and distributing spare capacity of a disk array

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102667738A (zh) * 2009-10-09 2012-09-12 提琴存储器公司 具有多个raid组分条的内存系统及其方法
US9367395B1 (en) * 2014-03-31 2016-06-14 Emc Corporation Managing data inconsistencies in storage systems
US9558068B1 (en) * 2014-03-31 2017-01-31 EMC IP Holding Company LLC Recovering from metadata inconsistencies in storage systems
CN108874321A (zh) * 2018-06-29 2018-11-23 郑州云海信息技术有限公司 一种独立冗余磁盘阵列数据重构方法、装置及设备
CN109213618A (zh) * 2017-06-30 2019-01-15 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN110058960A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4236590B2 (ja) * 2002-03-13 2009-03-11 富士通株式会社 Raid装置の制御装置
US6985995B2 (en) * 2002-03-29 2006-01-10 Panasas, Inc. Data file migration from a mirrored RAID to a non-mirrored XOR-based RAID without rewriting the data
US10776317B1 (en) 2015-03-31 2020-09-15 EMC IP Holding Company LLC Metadata analytics for online fragmentation detection on Unix file systems and common block file systems
US10019168B2 (en) 2015-05-19 2018-07-10 EMC IP Holding Company LLC Method and system for multicasting data to persistent memory
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
CN109725838B (zh) * 2017-10-27 2022-02-25 伊姆西Ip控股有限责任公司 用于管理多个盘的方法、装置以及计算机可读介质
US11016939B2 (en) 2018-07-11 2021-05-25 EMC IP Holding Company, LLC Architecture for scalable metadata microservices orchestration
US10534674B1 (en) 2018-07-11 2020-01-14 EMC IP Holding Company, LLC Scalable, persistent, high performance and crash resilient metadata microservice
US11113146B2 (en) 2019-04-30 2021-09-07 EMC IP Holding Company LLC Chunk segment recovery via hierarchical erasure coding in a geographically diverse data storage system
US11023147B2 (en) 2019-10-10 2021-06-01 EMC IP Holding Company LLC Mapping storage extents into resiliency groups
CN112748867B (zh) * 2019-10-31 2024-04-19 伊姆西Ip控股有限责任公司 用于存储管理的方法、电子设备以及计算机程序产品
US11061770B1 (en) 2020-06-30 2021-07-13 EMC IP Holding Company LLC Reconstruction of logical pages in a storage system
US11099940B1 (en) 2020-06-30 2021-08-24 EMC IP Holding Company LLC Reconstruction of links to orphaned logical pages in a storage system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102667738A (zh) * 2009-10-09 2012-09-12 提琴存储器公司 具有多个raid组分条的内存系统及其方法
US9367395B1 (en) * 2014-03-31 2016-06-14 Emc Corporation Managing data inconsistencies in storage systems
US9558068B1 (en) * 2014-03-31 2017-01-31 EMC IP Holding Company LLC Recovering from metadata inconsistencies in storage systems
CN109213618A (zh) * 2017-06-30 2019-01-15 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN110058960A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN108874321A (zh) * 2018-06-29 2018-11-23 郑州云海信息技术有限公司 一种独立冗余磁盘阵列数据重构方法、装置及设备

Also Published As

Publication number Publication date
CN112748858B (zh) 2024-04-19
US20210132843A1 (en) 2021-05-06
US11287997B2 (en) 2022-03-29

Similar Documents

Publication Publication Date Title
US10216440B2 (en) Disk management in distributed storage system including grouping disks into cold and hot data disk rings and reducing a spinning rate of disks storing cold data
US10474397B2 (en) Unified indirection in a multi-device hybrid storage unit
US10740308B2 (en) Key_Value data storage system
US9696931B2 (en) Region-based storage for volume data and metadata
US11150949B2 (en) Resource release method, resource allocation method, devices, and computer program products
CN109213696B (zh) 用于缓存管理的方法和设备
CN108287669A (zh) 数据存储方法、装置及存储介质
CN110737401B (zh) 用于管理独立冗余磁盘阵列的方法、设备和计算机程序产品
US11385823B2 (en) Method, electronic device and computer program product for rebuilding disk array
CN112748867B (zh) 用于存储管理的方法、电子设备以及计算机程序产品
US10067696B2 (en) Capacity exhaustion prevention for distributed storage
KR20170023734A (ko) 플래시 메모리 플러싱을 개선하는 방법 및 시스템
CN105242879A (zh) 一种数据存储方法以及协议服务器
CN112748858B (zh) 用于管理盘阵列的方法、电子设备和计算机程序产品
CN113126890A (zh) 用于存储的方法、设备和计算机程序产品
CN111857557B (zh) Raid类型转换的方法、设备和计算机程序产品
CN112748862A (zh) 用于管理盘的方法、电子设备和计算机程序产品
CN112748849A (zh) 用于存储数据的方法、设备和计算机程序产品
CN111858188A (zh) 存储管理的方法、设备和计算机程序产品
CN111124253B (zh) 管理存储设备的方法、装置和计算机程序产品
CN111124249A (zh) 用于数据处理的方法、设备和计算机程序产品
CN114442910A (zh) 管理存储系统的方法、电子设备和计算机程序产品
US10331371B2 (en) Determining maximum volume size
US11048417B2 (en) Method, device and computer program product for storage management
CN111857560B (zh) 用于管理数据的方法、设备和计算机程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant