CN111124269B - 用于存储管理的方法、电子设备和计算机可读存储介质 - Google Patents
用于存储管理的方法、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111124269B CN111124269B CN201811291175.7A CN201811291175A CN111124269B CN 111124269 B CN111124269 B CN 111124269B CN 201811291175 A CN201811291175 A CN 201811291175A CN 111124269 B CN111124269 B CN 111124269B
- Authority
- CN
- China
- Prior art keywords
- storage devices
- storage
- workload
- data
- storage device
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012545 processing Methods 0.000 claims abstract description 124
- 230000004044 response Effects 0.000 claims abstract description 24
- 238000010586 diagram Methods 0.000 description 11
- 238000013507 mapping Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
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/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
-
- 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
- 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
-
- 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/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/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/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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例涉及一种用于存储管理的方法、电子设备和计算机可读存储介质。该方法包括:确定多个存储池中的多个存储设备的处理能力,每个存储池中的存储设备具有相同的设备类型;基于所述处理能力,将所述多个存储设备划分为多个集合,每个集合中存储设备的处理能力之间的差异小于预定阈值;以及基于所述集合中的存储设备的工作负载,在所述多个集合之间重新分布所述多个存储设备中存储的数据。由此,可以实现多个存储池中的存储设备的负载均衡,提高存储系统的响应速度,并且更充分地利用多个存储池中的存储资源。
Description
技术领域
本公开的实施例涉及计算机领域,更具体地,涉及用于存储管理的方法、电子设备和计算机可读存储介质。
背景技术
如所知,独立冗余盘阵列(RAID)可以将多个存储设备组合起来,成为一个盘阵列。基于RAID的存储系统通过提供冗余的存储设备,可以使得整个盘阵列的可靠性大大超过单一的存储设备。
为了满足用户对于数据可靠性和存储系统的响应时间的需求,目前已经开发出映射独立冗余盘阵列(Mapped RAID)。在该映射RAID中,盘是一个逻辑概念并且可以包括多个区块(extent)。一个逻辑盘中包括的多个区块可以分布在存储池中的不同物理存储设备(下面也称为存储设备)上。传统上,由于映射RAID需要所有区块分布在相同设备类型的存储设备上,随着存储设备的多样化,通常将不同设备类型的存储设备划分到不同的存储池中,以便于映射RAID的使用。然而,每个映射RAID的区块将仅在一个存储池中进行分布,而无法跨越多个存储池。因此,如何更好地利用多个存储池中的存储资源成为热点问题。
发明内容
根据本公开的实施例,提供了用于存储管理的改进方案。
根据本公开实施例的第一方面,提供了一种用于存储管理的方法。该方法包括:确定多个存储池中的多个存储设备的处理能力,每个存储池中的存储设备具有相同的设备类型;基于所述处理能力,将所述多个存储设备划分为多个集合,每个集合中存储设备的处理能力之间的差异小于预定阈值;以及基于所述集合中的存储设备的工作负载,在所述多个集合之间重新分布所述多个存储设备中存储的数据。
根据本公开实施例的第二方面,提供了一种电子设备。该设备包括:至少一个处理器;存储器,耦合至所述至少一个处理器并且具有存储于其上的指令,所述指令在由所述至少一个处理器执行时使所述设备执行动作,所述动作包括:确定多个存储池中的多个存储设备的处理能力,每个存储池中的存储设备具有相同的设备类型;基于所述处理能力,将所述多个存储设备划分为多个集合,每个集合中存储设备的处理能力之间的差异小于预定阈值;以及基于所述集合中的存储设备的工作负载,在所述多个集合之间重新分布所述多个存储设备中存储的数据。
根据本公开实施例的第三方面,提供了一种计算机可读存储介质。该计算机可读存储介质具有存储在其上的计算机可读程序指令,所述计算机可读程序指令在被处理单元执行时使得所述处理单元实现根据本公开实施例的第一方面所述的方法。
附图说明
结合附图并参考以下详细说明,本公开各实现方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实现方式。在附图中:
图1A和1B分别示意性示出了其中可以实施本公开实施例的存储系统的示意图;
图2示意性示出了其中可以实施本公开实施例的示例性环境的框图;
图3示意性示出了图2中的存储池的图示;
图4示意性示出了根据本公开实施例的用于存储管理的构思的示意图;
图5示意性示出了根据本公开实施例的用于存储管理的方法的流程图;
图6示意性示出了根据本公开实施例的用于确定给定存储设备的工作负载的方法的流程图;
图7示意性示出了根据本公开实施例的用于在多个集合之间重新分布数据的方法的流程图;以及
图8示意性示出了适于实现本公开实施例的电子设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实现。虽然附图中显示了本公开的优选实现,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实现所限制。相反,提供这些实现是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实现”和“一个实现”表示“至少一个示例实现”。术语“另一实现”表示“至少一个另外的实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
在本公开实施例的上下文中,存储系统可以是基于RAID的存储系统。基于RAID的存储系统可以将多个存储设备组合起来,成为一个盘阵列。通过提供冗余的存储设备,可以使得整个盘阵列的可靠性大大超过单一的存储设备。RAID可以提供优于单一的存储设备的各种优势,例如,增强数据整合度,增强容错功能,增加吞吐量或容量,等等。RAID存在多个标准,例如RAID-1,RAID-2,RAID-3,RAID-4,RAID-5,RAID-6,RAID-10,RAID-50等等。关于RAID级别的更多细节,本领域技术人员例如可以参见https://en.wikipedia.org/wiki/Standard_RAID_levels、以及https://en.wikipedia.org/wiki/Nested_RAID_levels等。
图1A示意性示出了其中可以实施本公开实施例的存储系统的示意图。在图1A所示的存储系统中,以包括五个独立存储设备(110、112、114、116以及118)的RAID-5(4D+1P,其中4D表示存储系统中包括四个存储设备来用于存储数据,1P表示存储系统中包括一个存储设备来用于存储P校验)阵列为示例,来说明RAID的工作原理。应当注意,尽管图1A中示意性示出了五个存储设备,在其他的实现方式中,根据RAID的等级不同,还可以包括更多或者更少的存储设备。尽管图1A中示出了条带120、122、124、…、126,在其他的示例中,RAID系统还可以包括不同数量的条带。
在RAID中,条带跨越多个物理存储设备(例如,条带120跨越存储设备110、112、114、116以及118)。可以简单地将条带理解为多个存储设备中的满足一定地址范围的存储区域。在条带120中存储的数据包括多个部分:存储在存储设备110上的数据块D00、存储在存储设备112上的数据块D01、存储在存储设备114上的数据块D02、存储在存储设备116上的数据块D03、以及存储在存储设备118上的数据块P0。在此示例中,数据块D00、D01、D02、以及D03是被存储的数据,而数据块P0是被存储数据的P校验。
在其他条带122和124中存储数据的方式也类似于条带120,不同之处在于,有关其他数据块的校验可以存储在不同于存储设备118的存储设备上。以此方式,当多个存储设备110、112、114、116以及118中的一个存储设备出现故障时,可以从其他的正常的存储设备中恢复出故障设备中的数据。
图1B示意性示出了图1A的存储系统的重建过程的示意图。如图1B所示,当一个存储设备(例如,以阴影示出的存储设备116)出现故障时,可以从其余的正常操作的多个存储设备110、112、114、118中恢复数据。此时,可以向RAID中加入新的后备存储设备118B来替代存储设备118,以此方式,可以将恢复的数据写入118B并实现系统的重建。
应当注意,尽管在上文中参见图1A和图1B描述了包括5个存储设备(其中4个存储设备用于存储数据,1个存储设备用于存储校验)的RAID-5的存储系统,根据其他RAID等级的定义,还可以存在包括其他数量的存储设备的存储系统。例如,基于RAID-6的定义,可以利用两个存储设备来分别存储校验P和Q。又例如,基于三重校验RAID的定义,可以利用三个存储设备来分别存储校验P、Q和R。
随着分布式存储技术的发展,图1A和1B所示的存储系统中的各个存储设备110、112、114、116以及118可以不再局限于物理存储设备,而可以是虚拟存储设备。这种情形即所谓的映射RAID。例如,虚拟存储设备110上的各个区块可以分别来自于存储池中的不同的物理存储设备(在下文中将简称为存储设备)。图2示意性示出了其中可以实施本公开实施例的示例性环境200的框图。
如图2所示,环境200包括多个存储池210、212、214以及多个存储系统220、……、222,存储系统220、……、222通过网络230可以访问存储池210、212、214中的存储空间。这里,存储系统220、……、222基于映射RAID。应理解到,尽管图2中示出三个存储池,每个存储池中包括三个存储设备,但是本公开的实施例也适于更多或更少数量的存储池和存储设备的环境。
多个存储池210、212、214中的每个池具有不同的设备类型。在本例中,存储池210包括三层单元(TLC)SSD类型的存储设备210-1、210-2、210-3,存储池212包括单层单元(SLC)固态硬盘(SSD)类型的存储设备212-1、212-2、212-3,存储池214包括串行连接SCSI(服务器硬盘)(SAS)类型的存储设备214-1、214-2、214-3。应理解到,设备类型并不局限于上述示例,而是可以采用本领域已知或未来开发的任意合适设备类型的存储设备。
图3示意性示出了一个存储池的图示,该存储池可以是图2所示的存储池210、212、214中的任一个存储池。存储池可以包括多个存储设备310、320、330、340、350、…、360。每个存储设备可以包括多个存储区块,其中空白区块(如图例380所示)表示空闲的存储区块,以条纹示出的区块(如图例382所示)表示用于图1中的存储系统的第一条带的存储区块,而以阴影示出的区块(如图例384所示)表示用于图1中的存储系统的第二条带的存储区块。此时,用于第一条带的存储区块312、322、332、342、352分别用于存储第一条带的数据块D00、D01、D02、D03和校验P0。用于第二条带的存储区块324、334、344、366和314分别用于存储第二条带的数据块D10、D11、D12、D13和校验P1。
如图3所示,在各个存储设备中还可以存在预留的空闲部分370,以便用于在存储池中的一个存储设备出现故障时,可以选择各个存储设备中的空闲部分370中的存储区块,来重建故障存储设备中的各个区块。
应当注意,图3仅以4D+1P的RAID-5存储系统为示例示出了各个条带中的区块如何分布在存储池的多个存储设备中。当采用基于其他RAID等级时,本领域技术人员可以基于上文的原理来实现具体细节。例如,在6D+1P+1Q的RAID-6存储系统中,每个条带中的8个区块可以分布在一个存储池中的多个存储设备上,进而保证多个存储设备的负载均衡。
传统上,每个映射RAID仅在一个存储池中分布区块,所以每个映射RAID无法使用多个存储池中的所有存储设备来服务于用户I/O操作。而且,由于在映射RAID中总是存在访问频率高的热数据和访问频率低的冷数据,所以对于在高处理能力的存储池上分布的映射RAID而言,冷数据位于其中的高处理能力的存储设备上是一种浪费。反过来说,在低处理能力的存储池上分布的映射RAID的热数据可能由于处理能力的缺乏而具有较长的响应时间。
此外,当创建映射RAID时,存储系统就会决定该映射RAID使用哪种类型的存储设备,即,确定了对应的存储池。随着时间的推移,映射RAID的使用频率可能增加或减少,从而与当前的存储池失配。由于对于不同设备类型的存储设备和不同的存储池并没有关于性能的统一度量,很难决定映射RAID应该创建在哪个存储池上。
尽管目前已经提出了在存储池中的多个存储设备之间进行负载平衡的技术方案,但是这些方案并不适用于在存储池之间的负载均衡。鉴于此,本公开的实施例提供了用于存储管理的改进方案,可以允许映射RAID使用所有存储池中的存储设备,并且可以均衡多个存储池之间的用户I/O负载。下面结合图4进行详细说明。
图4示意性示出了根据本公开实施例的用于存储管理的构思的示意图。该图包括图2所示环境中的更多细节。如图4所示,映射RAID 410、412、414的条带401、402、403可以分布在存储池210、212、214中的任一存储池的多个存储设备上。根据本公开的实施例,所有存储池的存储设备的数量不应小于映射RAID的宽度,也就是,存储池至少具有映射RAID的宽度。根据本公开的实施例,映射RAID的一个条带可以分布在任一个存储池上,但必需分布在同一个存储池上。在一些实施例中,当创建映射RAID时,在最高处理能力的存储池上为几个条带分配空间以存储用户数据。当所分配的空间被用完时,再从次高处理能力的存储池上为新的条带分配空间。
根据本公开的实施例,基于存储设备的处理能力,将多个存储池210、212、214中的存储设备划分成多个集合440至445。在本例中,以处理能力0至5定义从高到低的处理能力。如图4所示,集合440包括存储设备210-1和210-2并且具有最高处理能力(处理能力0)。集合441包括存储设备210-3并且具有次高处理能力(处理能力1)。例如,用于存储系统数据的存储设备210-3对用户数据的处理能力低于仅用于存储用户数据的存储设备210-1和210-2。集合442至445以此类推。
根据本公开的实施例,在所划分的多个集合440至445之间重新分布存储设备上存储的数据。在一些实施例中,从多个集合440至445中选择一个工作负载较高的集合例如集合443和一个工作负载较低的集合例如集合444,然后将集合443中的存储设备上存储的部分数据例如与条带402对应的存储区块430、432上的数据移动至集合444中的空闲区块434、436。由此,可以实现存储池之间的负载均衡。
根据本公开的实施例,旨在于将热数据放置在具有高处理能力的集合中的存储设备上,使得每个存储设备的负载基本相同,并且最大化地利用具有高处理能力的存储设备。由此,可以降低存储系统的响应时间,提高响应速度。下面结合图5至图7描述根据本公开实施例的用于存储管理的方法的具体实施例。
图5示意性示出了根据本公开实施例的用于存储管理的方法500的流程图。该方法500可以在图2所示的存储系统220、……、222中实施,因而下面结合图2的环境进行描述。
如图5所示,在框510,确定多个存储池210、212、214中的各个存储设备210-1至210-3、212-1至212-3、213-1至213-3的处理能力。如前面描述的,每个存储池中的存储设备具有相同的设备类型。通常,不同设备类型的存储设备具有不同的处理能力,而相同设备类型的存储设备将具有类似的处理能力。但针对相同设备类型的存储设备而言,由于存储设备上存储的数据的数据类型(例如系统数据和用户数据)不同,存储设备所表现的处理能力会有所不同。例如,用于存储系统数据和用户数据二者的存储设备的处理能力将低于仅用于存储用户数据的存储设备的处理能力。
根据本公开的一些实施例,可以基于存储设备上存储的数据的数据类型和存储设备的设备类型来确定存储设备的处理能力。可以采用多种方式来衡量该处理能力。在一些实施例中,例如可以使用存储设备的信用评分(credit)来衡量处理能力。在此的信用评分表示存储设备可以同时支持的访问请求的数量。因而信用评分越高,该存储设备的处理能力越强。在一些实施例中,针对相同设备类型的存储设备,例如可以基于存储设备中的可用于处理用户I/O请求的资源的数量来确定存储设备的处理能力。可用资源的数量越高,该存储设备的处理能力越强。应理解到,处理能力的衡量方式并不限于所列示例,而是可以采用本领域已知或未来开发的任何合适方式。
在框520,基于在框510确定的处理能力,将多个存储设备210-1至210-3、212-1至212-3、213-1至213-3划分为多个集合440至445。根据本公开的实施例,每个集合440至445中存储设备的处理能力之间的差异小于预定阈值。这里的预定阈值可以根据需要或根据经验来设置。在一些实施例中,预定阈值可以设置为零。在一些实施例中,预定阈值可以设置为接近零的值。
在框530,基于集合440至445中的存储设备的工作负载,在多个集合440至445之间重新分布存储设备中存储的数据。由此可以实现在存储池210、212、214之间的负载均衡。下面结合图6描述如何确定结合中的给定存储设备的工作负载。
图6示意性示出了根据本公开实施例的用于确定给定存储设备的工作负载的方法600的流程图。该方法600同样可以在图2所示的存储系统220、……、222中实施,因而下面结合图2的环境进行描述。
如图6所示,在框610,获取给定存储设备的历史工作负载。根据本公开的实施例,可以基于以下中的至少一项来确定给定存储设备的历史工作负载:针对给定存储设备的数据访问请求的数量、针对给定存储设备的访问的所涉及的数据量、以及给定存储设备的响应时间。
在一些实施例中,可以基于在过去的一个时间段(例如,1小时或者其他时间间隔)内针对给定存储设备的请求的数量来确定历史工作负载。请求数量越高,则工作负载越高。在一些实施例中,可以基于在过去的一个时间段(例如,1小时或者其他时间间隔)内针对给定存储设备的访问的所涉及的数据量来确定工作负载。访问所涉及的数据量越大,则工作负载越高。在一些实施例中,可以基于在过去的一个时间段(例如,1小时或者其他时间间隔)内针对给定存储设备的访问的响应时间来确定工作负载。例如,可以获取针对多个访问的响应时间的平均值,平均值越大,则工作负载越高。应理解到,本公开实施例并不限于此,而是可以采用其它任意合适方式。
在框620,确定多个集合440至445中的存储设备的最高处理能力。在本公开的一些实施例中,通过对在框510所确定的各存储设备的处理能力进行排序,可以确定出最高处理能力。在本例中,存储设备210-1和210-2具有最高处理能力(处理能力0)。
在框630,基于最高处理能力、给定存储设备的处理能力以及给定存储设备的设备类型,校正历史工作负载以得到给定存储设备的工作负载。将会理解,由于不同集合中的存储设备本身的处理能力不同,相同的用户I/O请求将会导致不同存储设备处的不同工作负载。因而,利用存储设备之间的处理能力的差异以及设备类型的差异来校正采集到的历史工作负载,可以更准确地衡量用户I/O请求对于存储设备造成的影响。在一些实施例中,可以基于下面的公式1来确定给定存储设备的工作负载:
其中其中Creditx表示集合x中的存储设备的处理能力,Credit0表示多个集合中的存储设备的最高处理能力。其中,Tx表示集合x中的存储设备的工作负载,Tx′表示集合x中的存储设备在时间Δt之前的工作负载(即历史工作负载),Δt是前一采样时间和当前采样时间之差,α是从温度指数半衰期得到的衰落因子,ΔHx是时间Δt期间集合x中的存储设备的I/O活动性,γ是性能倾向因子,其跟随设备类型而变化。通常,存储设备的处理能力越高,γ越小。应理解到,公式1同样适用于确定给定存储设备中的给定存储区块的处理能力。此外,应理解到,可以通过其它任意合适方式来实施框620的处理,而不限于所列公式1的特定方式。
由此,通过使得较低处理能力的集合中的存储设备的工作负载值以较快的速度增加,可以确保所有I/O负载均匀地分布在各个存储设备上。此外,通过针对越高处理能力的集合设置越小的γ,使得越高处理能力的集合中的工作负载以较慢的速度增加,从而提高该集合的使用比例并且使得该集合承担更多的I/O负载。由此可以更大地提高存储系统的响应速度。
在确定了集合440至445中的存储设备的工作负载后,基于工作负载可以从这些集合中选择工作负载高的第一存储设备集合和工作负载低的第二存储设备集合例如集合443和444,并且将第一存储设备集合中存储的部分数据移动至第二存储设备集合。这可以采用多种方式来实施。下面结合图7进行详细描述。图7示意性示出了根据本公开实施例的用于在多个集合之间重新分布数据的方法700的流程图。该方法700同样可以在图2所示的存储系统220、……、222中实施,因而下面结合图2的环境进行描述。
如图7所示,在框710,可以从多个集合440至445中选择第一存储设备集合和第一存储设备集合,第一存储设备集合的工作负载超过上限阈值,第二存储设备集合的工作负载低于下限阈值。应理解到,上限阈值和下限阈值可以根据需要或根据经验来设置,并且可以相同或不同。在一些实施例中,可以通过确定每个集合中的存储设备的工作负载之和来确定该集合的工作负载。
在一些实施例中,可以从集合440至445中的各个存储设备中选择具有最高工作负载的存储设备例如存储设备212-2和具有最低工作负载的存储设备例如存储设备214-1,并且将具有最高工作负载的存储设备所在的集合例如集合443作为第一存储设备集合,而将具有最低工作负载的存储设备所在的集合例如集合444作为第二存储设备集合。
在备选实施例中,也可以选择具有次高工作负载的存储设备和次低工作负载的存储设备,并基于它们确定第一存储设备集合和第二存储设备集合。应理解到,本公开的实施例并不限于此,而是可以采用其它任意合适方式来实现第一存储设备集合和第二存储设备集合的确定。
在框720,从第一存储设备集合443和第二存储设备集合444中分别选择存储设备的第一子集和第二子集。在本例中,例如第一子集包括存储设备212-2和212-3,第二子集包括存储设备214-1和214-2。在一些实施例中,可以确定第一存储设备集合443中的存储设备的工作负载的平均值(也称为第一平均值),并且选择第一存储设备集合443中的工作负载超过第一平均值的量超过第一阈值的存储设备以形成第一子集。在一些实施例中,可以确定第二存储设备集合444中的存储设备的工作负载的平均值(也称为第二平均值),并且选择第二存储设备集合444中的工作负载低于第二平均值的量超过第二阈值的存储设备以形成第一子集。应理解到,第一阈值和第二阈值可以根据需要或根据经验来设置,并且可以相同或不同。
在一些实施例中,可以基于下面的公式2来进行第一子集和第二子集的选择:
其中,Thot表示频繁被访问的存储设备的工作负载,Tcold表示很少被访问的存储设备的工作负载,Tava表示所关注的集合中的所有存储设备的工作负载的平均值,δ是比例因子,其可以根据经验被预先设置。例如,可以将6设定为10%。应理解到,10%仅为示例,本公开的实施例并不限于此。此外应理解到,公式2也可适用于确定存储设备中的给定存储区块的工作负载。同样应理解到,公式2仅为示例,本公开的实施例还可以采用其它任意合适方式来进行第一子集和第二子集的选择。
根据本公开的实施例,可以基于第一子集和第二子集的处理能力,来从涉及第一子集的条带数据中选择源数据,以将源数据从第一子集移动至第二子集。通过这种方式,可以使得热数据置于高处理能力的存储设备上,从而最大化地利用具有高处理能力的存储设备,提高存储系统的响应速度。下面结合框730至750进行详细描述。
在框730,确定第一子集的第一处理能力是否高于第二子集的第二处理能力。如结合框520中所述的,每个集合中的存储设备的处理能力之间的差异小于预定阈值。在一些实施例中,可以将第一子集中的存储设备的平均处理能力确定为第一子集的处理能力(即,第一处理能力)。类似地,可以将第二子集中的存储设备的平均处理能力确定为第二子集的处理能力(即,第二处理能力)。在一些实施例中,也可以将第一子集中的某个存储设备的处理能力作为第一处理能力,并且将第二子集中的某个存储设备的处理能力作为第二处理能力。应理解到,本公开的实施例还可以采用其它方式来确定第一子集和第二子集的处理能力,而不限于上述示例。
响应于在框730确定第一处理能力高于第二处理能力,进入框740。在框740,将涉及第一子集的第一条带数据(例如存储区块430和432上的数据)移动至第二子集的空闲存储区块(例如存储区块434和436),该第一条带数据对应的存储区块的工作负载低于预定下限阈值。将理解到,这里旨在于将热数据置于高处理能力的存储设备上,从而最大化地利用高处理能力的存储设备。与此同时,由于移动了冷数据,所以加快了负载均衡过程,有助于响应速度的提高。
根据本公开的一些实施例,针对涉及第一子集的给定条带数据,可以确定该给定条带数据对应的存储区块的工作负载之和,并基于该求和与预定下限阈值的比较来确定第一条带数据。在一些实施例中,该预定下限阈值可以根据需要或根据经验来确定。
在一些实施例中,可以基于公式2的方式来确定第一条带数据。例如,确定涉及第一子集的条带数据对应的存储区块的工作负载的第三平均值,并且选择对应的存储区块的工作负载低于第三平均值的量超过第三阈值的条带数据作为第一条带数据。应理解到,第三阈值可以与第一阈值相同,也可以与第一阈值不同。
响应于在框730确定第一处理能力低于第二处理能力,进入框750。在框750,将涉及第一子集的第二条带数据(例如存储区块420和422上的数据)移动至第二子集的空闲存储区块(例如存储区块424和426),该第二条带数据对应的存储区块的工作负载高于预定上限阈值。将理解到,这里同样旨在于将热数据置于高处理能力的存储设备上,从而最大化地利用高处理能力的存储设备。
根据本公开的一些实施例,可以基于第三平均值与预定上限阈值的比较来确定第二条带数据。在一些实施例中,该预定上限阈值可以根据需要或根据经验来确定。在一些实施例中,该预定上限阈值可以与上述预定下限阈值相同。在一些实施例中,该预定上限阈值可以与上述预定下限阈值不同。
在备选实施例中,同样可以基于公式2的方式来确定第二条带数据。例如,从涉及第一子集的条带数据中,选择对应的存储区块的工作负载超过第三平均值的量超过第四阈值的条带数据作为第二条带数据。应理解到,第四阈值可以与第三阈值相同,也可以与第三阈值不同。
根据本公开的实施例,在将例如集合443中的存储区块430和432上的存储设备移动至集合444之后,更新例如映射RAID 412与存储池212和214之间的映射表。根据本公开的实施例,如果在第二子集中不存在可用于源数据的存储区块,则从第二存储设备集合444中的其余存储设备中确定第三存储设备,并将源数据存储至该第三存储设备。在一些实施例中,第三存储设备可以是其余存储设备中具有最低工作负载的存储设备。在备选实施例中,第三存储设备也可以是其余存储设备中具有次低工作负载的存储设备。当然,本公开实施例并不限于这些示例,而是可以采用其它任意合适方式。
根据本公开的实施例,除了在所划分的多个集合440至445之间进行负载均衡,还可以在集合440至445的内部进行负载均衡。在一些实施例中,可以将负载较高的存储设备上的部分数据移动至负载较低的存储设备上。由此可以更快速地实现多个存储池中的存储设备的工作负载的均衡,从而也更充分地利用多个存储池中的存储资源。
至此完成了多个存储池210、212、214中的存储设备的一次负载均衡操作。根据本公开的实施例,可以重复该操作,直到存储设备的工作负载相当为止。
上面结合图5至图7描述了根据本公开实施例的用于存储管理的方法。根据本方法,由于映射RAID的条带对应的所有区块可以在任一且同一存储池上分布,所以可以使得多个存储池相关联的每个映射RAID都可以使用所有存储设备,从而提高了多个存储池中的存储资源的利用率。此外,由于将热数据置于高处理能力的存储设备上,所以最大化地利用了高处理能力的存储设备,提高了存储系统的响应速度。另外,由于基于处理能力的差异可以进行冷数据的移动操作,所以加快了负载均衡的过程,进一步提高了存储系统的响应速度。
图8示意性示出了根据本公开的示例性实现的用于存储管理的设备800的框图。如图所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法500至700,可由处理单元801执行。例如,在一些实现中,方法500至700可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实现中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序被加载到RAM 803并由CPU801执行时,可以执行上文描述的方法500至700的一个或多个步骤。备选地,在其他实现中,CPU 801也可以以其他任何适当的方式被配置以实现上述过程/方法。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在对端机器上执行或完全在对端机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (19)
1.一种用于存储管理的方法,包括:
确定多个存储池中的多个存储设备的处理能力,每个存储池中的存储设备具有相同的设备类型;
基于所述处理能力,将所述多个存储设备划分为多个集合,每个集合中存储设备的处理能力之间的差异小于预定阈值;以及
基于所述集合中的存储设备的工作负载,在所述多个集合之间重新分布所述多个存储设备中存储的数据,
其中所述方法还包括针对给定存储设备,如下确定工作负载:
获取所述给定存储设备的历史工作负载;
确定所述多个集合中的存储设备的最高处理能力;以及
基于所述最高处理能力、所述给定存储设备的处理能力以及所述给定存储设备的设备类型,校正所述历史工作负载以得到所述工作负载。
2.根据权利要求1所述的方法,其中确定所述处理能力包括:
获取所述存储设备的设备类型;
获取所述存储设备中的数据的数据类型;以及
基于所述数据类型和所述设备类型,确定所述存储设备的处理能力。
3.根据权利要求1所述的方法,其中获取所述给定存储设备的历史工作负载包括基于以下中的至少一项来确定所述给定存储设备的所述历史工作负载:
针对所述给定存储设备的数据访问请求的数量,
针对所述给定存储设备的访问的所涉及的数据量,以及
所述给定存储设备的响应时间。
4.根据权利要求1所述的方法,其中重新分布所述数据包括:
从所述多个集合中选择第一存储设备集合,所述第一存储设备集合的工作负载超过上限阈值;
从所述多个集合中选择第二存储设备集合,所述第二存储设备集合的工作负载低于下限阈值;以及
将所述第一存储设备集合中存储的部分数据向所述第二存储设备集合移动。
5.根据权利要求1所述的方法,还包括:
针对所述多个集合的至少一个集合中的存储设备:
确定所述存储设备的工作负载的平均值;以及
响应于所述至少一个集合中的第一存储设备的工作负载超过所述平均值的量超过第五阈值,将所述第一存储设备中的部分数据移动至所述至少一个集合中的第二存储设备,所述第二存储设备的工作负载低于所述平均值的量超过第六阈值。
6.一种用于存储管理的方法,包括:
确定多个存储池中的多个存储设备的处理能力,每个存储池中的存储设备具有相同的设备类型;
基于所述处理能力,将所述多个存储设备划分为多个集合,每个集合中存储设备的处理能力之间的差异小于预定阈值;以及
基于所述集合中的存储设备的工作负载,在所述多个集合之间重新分布所述多个存储设备中存储的数据,
其中重新分布所述数据包括:
从所述多个集合中选择第一存储设备集合,所述第一存储设备集合的工作负载超过上限阈值;
从所述多个集合中选择第二存储设备集合,所述第二存储设备集合的工作负载低于下限阈值;以及
将所述第一存储设备集合中存储的部分数据向所述第二存储设备集合移动;并且
其中移动所述数据包括:
确定所述第一存储设备集合的工作负载的第一平均值;
从所述第一存储设备集合中选择存储设备的第一子集,所述第一子集中的存储设备的工作负载超过所述第一平均值的量超过第一阈值;
确定所述第二存储设备集合的工作负载的第二平均值;
从所述第二存储设备集合中选择存储设备的第二子集,所述第二子集中的存储设备的工作负载低于所述第二平均值的量超过第二阈值;以及
将所述第一子集中存储的部分数据向所述第二子集移动。
7.根据权利要求6所述的方法,其中移动所述数据包括:
确定所述第一子集和所述第二子集中的存储设备分别对应的第一处理能力和第二处理能力;
基于所述第一处理能力和所述第二处理能力,从涉及所述第一子集的条带数据中选择源数据;以及
将所述源数据向所述第二子集移动。
8.根据权利要求7所述的方法,其中选择所述源数据包括:
确定涉及第一子集的条带数据对应的存储区块的工作负载的第三平均值;
响应于所述第一处理能力高于所述第二处理能力,从所述条带数据中选择第一条带数据作为所述源数据,所述第一条带数据对应的存储区块的工作负载低于所述第三平均值的量超过第三阈值;以及
响应于所述第一处理能力低于所述第二处理能力,从所述条带数据中选择第二条带数据作为所述源数据,所述第二条带数据对应的存储区块的工作负载超过所述第三平均值的量超过第四阈值。
9.根据权利要求7所述的方法,还包括:
响应于在所述第二子集中不存在可用于所述源数据的存储区块,从所述第二存储设备集合中的其余存储设备中确定第三存储设备,所述第三存储设备在所述其余存储设备中具有最低工作负载;以及
将所述源数据移动至所述第三存储设备。
10.一种电子设备,包括:
至少一个处理器;
存储器,耦合至所述至少一个处理器并且具有存储于其上的指令,所述指令在由所述至少一个处理器执行时使所述设备执行动作,所述动作包括:
确定多个存储池中的多个存储设备的处理能力,每个存储池中的存储设备具有相同的设备类型;
基于所述处理能力,将所述多个存储设备划分为多个集合,每个集合中存储设备的处理能力之间的差异小于预定阈值;以及
基于所述集合中的存储设备的工作负载,在所述多个集合之间重新分布所述多个存储设备中存储的数据,
其中所述动作还包括针对给定存储设备,如下确定工作负载:
获取所述给定存储设备的历史工作负载;
确定所述多个集合中的存储设备的最高处理能力;以及
基于所述最高处理能力、所述给定存储设备的处理能力以及所述给定存储设备的设备类型,校正所述历史工作负载以得到所述工作负载。
11.根据权利要求10所述的设备,其中确定所述处理能力包括:
获取所述存储设备的设备类型;
获取所述存储设备中的数据的数据类型;以及
基于所述数据类型和所述设备类型,确定所述存储设备的处理能力。
12.根据权利要求10所述的设备,其中获取所述给定存储设备的历史工作负载包括基于以下中的至少一项来确定所述给定存储设备的所述历史工作负载:
针对所述给定存储设备的数据访问请求的数量,
针对所述给定存储设备的访问的所涉及的数据量,以及
所述给定存储设备的响应时间。
13.根据权利要求10所述的设备,其中重新分布所述数据包括:
从所述多个集合中选择第一存储设备集合,所述第一存储设备集合的工作负载超过上限阈值;
从所述多个集合中选择第二存储设备集合,所述第二存储设备集合的工作负载低于下限阈值;以及
将所述第一存储设备集合中存储的部分数据向所述第二存储设备集合移动。
14.根据权利要求10所述的设备,其中所述动作还包括:
针对所述多个集合的至少一个集合中的存储设备:
确定所述存储设备的工作负载的平均值;以及
响应于所述至少一个集合中的第一存储设备的工作负载超过所述平均值的量超过第五阈值,将所述第一存储设备中的部分数据移动至所述至少一个集合中的第二存储设备,所述第二存储设备的工作负载低于所述平均值的量超过第六阈值。
15.一种电子设备,包括:
至少一个处理器;
存储器,耦合至所述至少一个处理器并且具有存储于其上的指令,所述指令在由所述至少一个处理器执行时使所述设备执行动作,所述动作包括:
确定多个存储池中的多个存储设备的处理能力,每个存储池中的存储设备具有相同的设备类型;
基于所述处理能力,将所述多个存储设备划分为多个集合,每个集合中存储设备的处理能力之间的差异小于预定阈值;以及
基于所述集合中的存储设备的工作负载,在所述多个集合之间重新分布所述多个存储设备中存储的数据,
其中重新分布所述数据包括:
从所述多个集合中选择第一存储设备集合,所述第一存储设备集合的工作负载超过上限阈值;
从所述多个集合中选择第二存储设备集合,所述第二存储设备集合的工作负载低于下限阈值;以及
将所述第一存储设备集合中存储的部分数据向所述第二存储设备集合移动;并且
其中移动所述数据包括:
确定所述第一存储设备集合的工作负载的第一平均值;
从所述第一存储设备集合中选择存储设备的第一子集,所述第一子集中的存储设备的工作负载超过所述第一平均值的量超过第一阈值;
确定所述第二存储设备集合的工作负载的第二平均值;
从所述第二存储设备集合中选择存储设备的第二子集,所述第二子集中的存储设备的工作负载低于所述第二平均值的量超过第二阈值;以及
将所述第一子集中存储的部分数据向所述第二子集移动。
16.根据权利要求15所述的设备,其中移动所述数据包括:
确定所述第一子集和所述第二子集中的存储设备分别对应的第一处理能力和第二处理能力;
基于所述第一处理能力和所述第二处理能力,从涉及所述第一子集的条带数据中选择源数据;以及
将所述源数据向所述第二子集移动。
17.根据权利要求16所述的设备,其中选择所述源数据包括:
确定涉及第一子集的条带数据对应的存储区块的工作负载的第三平均值;
响应于所述第一处理能力高于所述第二处理能力,从所述条带数据中选择第一条带数据作为所述源数据,所述第一条带数据对应的存储区块的工作负载低于所述第三平均值的量超过第三阈值;以及
响应于所述第一处理能力低于所述第二处理能力,从所述条带数据中选择第二条带数据作为所述源数据,所述第二条带数据对应的存储区块的工作负载超过所述第三平均值的量超过第四阈值。
18.根据权利要求16所述的设备,其中所述动作还包括:
响应于在所述第二子集中不存在可用于所述源数据的存储区块,从所述第二存储设备集合中的其余存储设备中确定第三存储设备,所述第三存储设备在所述其余存储设备中具有最低工作负载;以及
将所述源数据移动至所述第三存储设备。
19.一种计算机可读存储介质,所述计算机可读存储介质具有存储在其上的计算机可读程序指令,所述计算机可读程序指令在被处理单元执行时使得所述处理单元实现根据权利要求1-9中的任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811291175.7A CN111124269B (zh) | 2018-10-31 | 2018-10-31 | 用于存储管理的方法、电子设备和计算机可读存储介质 |
US16/582,630 US11210022B2 (en) | 2018-10-31 | 2019-09-25 | Method, electronic device and computer readable storage medium of storage management |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811291175.7A CN111124269B (zh) | 2018-10-31 | 2018-10-31 | 用于存储管理的方法、电子设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111124269A CN111124269A (zh) | 2020-05-08 |
CN111124269B true CN111124269B (zh) | 2023-10-27 |
Family
ID=70328666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811291175.7A Active CN111124269B (zh) | 2018-10-31 | 2018-10-31 | 用于存储管理的方法、电子设备和计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11210022B2 (zh) |
CN (1) | CN111124269B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113391758B (zh) | 2020-03-13 | 2024-06-07 | 伊姆西Ip控股有限责任公司 | 在存储系统中管理条带的方法、设备和计算机程序产品 |
CN111831232A (zh) * | 2020-07-22 | 2020-10-27 | 浙江大华技术股份有限公司 | 数据的存储方法及装置、存储介质和电子装置 |
CN114816221A (zh) | 2021-01-22 | 2022-07-29 | 伊姆西Ip控股有限责任公司 | 存储管理方法、设备和计算机程序产品 |
CN112486423A (zh) * | 2021-02-05 | 2021-03-12 | 南京群顶科技有限公司 | 一种分布式存储方法及装置 |
CN113608697B (zh) * | 2021-08-04 | 2023-06-30 | 北京八分量信息科技有限公司 | 异构网络中存储负载的分类方法、装置及相关产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968281A (zh) * | 2012-11-26 | 2013-03-13 | 华为技术有限公司 | 一种数据迁移的方法及装置 |
CN103500072A (zh) * | 2013-09-27 | 2014-01-08 | 华为技术有限公司 | 数据迁移方法及数据迁移装置 |
CN105138290A (zh) * | 2015-08-20 | 2015-12-09 | 浪潮(北京)电子信息产业有限公司 | 一种高性能存储池组织方法及装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5960169A (en) | 1997-02-27 | 1999-09-28 | International Business Machines Corporation | Transformational raid for hierarchical storage management system |
US8285952B2 (en) | 2009-09-17 | 2012-10-09 | Hitachi, Ltd. | Method and apparatus to utilize large capacity disk drives |
JP5887757B2 (ja) | 2011-08-17 | 2016-03-16 | 富士通株式会社 | ストレージシステム、ストレージ制御装置およびストレージ制御方法 |
US8799705B2 (en) | 2012-01-04 | 2014-08-05 | Emc Corporation | Data protection in a random access disk array |
US8892941B2 (en) | 2012-06-27 | 2014-11-18 | International Business Machines Corporation | Recovering a volume table and data sets from a corrupted volume |
US20150317556A1 (en) * | 2014-04-30 | 2015-11-05 | Prophetstor Data Services, Inc. | Adaptive quick response controlling system for software defined storage system for improving performance parameter |
US20150347047A1 (en) * | 2014-06-03 | 2015-12-03 | Coraid, Inc. | Multilayered data storage methods and apparatus |
US9766837B2 (en) | 2015-06-10 | 2017-09-19 | Micron Technology, Inc. | Stripe mapping in memory |
KR102277731B1 (ko) | 2015-07-21 | 2021-07-14 | 삼성전자주식회사 | 스토리지 시스템의 구동 방법 및 스토리지 컨트롤러 |
JP6572756B2 (ja) * | 2015-11-27 | 2019-09-11 | 富士通株式会社 | 情報処理装置、ストレージ制御プログラム、及びストレージ制御方法 |
US9841908B1 (en) | 2016-06-30 | 2017-12-12 | Western Digital Technologies, Inc. | Declustered array of storage devices with chunk groups and support for multiple erasure schemes |
US9934092B2 (en) * | 2016-07-12 | 2018-04-03 | International Business Machines Corporation | Manipulating a distributed agreement protocol to identify a desired set of storage units |
CN107870730B (zh) | 2016-09-23 | 2020-11-20 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和系统 |
US10203880B1 (en) | 2016-09-29 | 2019-02-12 | EMC IP Holding Company LLC | Selectively operating data storage equipment in a “stripe write” mode and a “fill hole” mode |
US10229022B1 (en) | 2017-04-27 | 2019-03-12 | EMC IP Holding Company LLC | Providing Raid-10 with a configurable Raid width using a mapped raid group |
US10140041B1 (en) | 2017-07-28 | 2018-11-27 | EMC IP Holding Company LLC | Mapped RAID (redundant array of independent disks) in a data storage system with RAID extent sub-groups that are used to perform drive extent allocation and data striping for sequential data accesses to a storage object |
US10572407B2 (en) * | 2017-08-11 | 2020-02-25 | Western Digital Technologies, Inc. | Hybrid data storage array |
US10481802B1 (en) | 2017-10-16 | 2019-11-19 | EMC IP Holding Company LLC | Balancing Mapped RAID background I/O with user I/O via dynamically changing background credits on Mapped RAID system and method |
US10318169B2 (en) * | 2017-10-27 | 2019-06-11 | EMC IP Holding Company LLC | Load balancing of I/O by moving logical unit (LUN) slices between non-volatile storage represented by different rotation groups of RAID (Redundant Array of Independent Disks) extent entries in a RAID extent table of a mapped RAID data storage system |
-
2018
- 2018-10-31 CN CN201811291175.7A patent/CN111124269B/zh active Active
-
2019
- 2019-09-25 US US16/582,630 patent/US11210022B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968281A (zh) * | 2012-11-26 | 2013-03-13 | 华为技术有限公司 | 一种数据迁移的方法及装置 |
CN103500072A (zh) * | 2013-09-27 | 2014-01-08 | 华为技术有限公司 | 数据迁移方法及数据迁移装置 |
CN105138290A (zh) * | 2015-08-20 | 2015-12-09 | 浪潮(北京)电子信息产业有限公司 | 一种高性能存储池组织方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US11210022B2 (en) | 2021-12-28 |
CN111124269A (zh) | 2020-05-08 |
US20200133577A1 (en) | 2020-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111124269B (zh) | 用于存储管理的方法、电子设备和计算机可读存储介质 | |
CN110737391B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
CN109725837B (zh) | 管理存储系统的方法、系统和计算机程序产品 | |
CN110413201B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
US9733844B2 (en) | Data migration method, data migration apparatus, and storage device | |
JP6260407B2 (ja) | ストレージ管理装置、性能調整方法及び性能調整プログラム | |
CN110737390B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
CN108733308B (zh) | 用于管理盘池的方法和设备 | |
US11144414B2 (en) | Method and apparatus for managing storage system | |
CN110770691B (zh) | 混合数据存储阵列 | |
US11341049B2 (en) | Method, apparatus, and computer program product for managing storage system | |
CN110737393A (zh) | 数据读取方法、设备和计算机程序产品 | |
US10860260B2 (en) | Method, apparatus and computer program product for managing storage system | |
US20160004459A1 (en) | Storage system and storage control method | |
CN109213428B (zh) | 用于管理存储系统的方法和设备 | |
CN112948279A (zh) | 管理存储系统中的访问请求的方法、设备和程序产品 | |
CN111124262A (zh) | 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质 | |
JP5471822B2 (ja) | 入出力制御プログラム、情報処理装置および入出力制御方法 | |
CN116529695A (zh) | 使用存储系统优化的增强的应用性能 | |
WO2016190893A1 (en) | Storage management | |
CN113867644A (zh) | 磁盘阵列优化方法、装置、计算机设备及存储介质 | |
CN109725835A (zh) | 用于管理盘阵列的方法、设备和计算机程序产品 | |
US11237745B2 (en) | Computer system and volume arrangement method in computer system to reduce resource imbalance | |
CN111857535B (zh) | 用于存储管理的方法、电子设备和计算机可读存储介质 | |
US11669250B2 (en) | Method, device, and computer program product for managing wear level of storage system |
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 |