[go: up one dir, main page]

CN109196458B - 存储系统可用容量计算方法及装置 - Google Patents

存储系统可用容量计算方法及装置 Download PDF

Info

Publication number
CN109196458B
CN109196458B CN201780011499.8A CN201780011499A CN109196458B CN 109196458 B CN109196458 B CN 109196458B CN 201780011499 A CN201780011499 A CN 201780011499A CN 109196458 B CN109196458 B CN 109196458B
Authority
CN
China
Prior art keywords
stripe
storage system
length
lorig
capacity
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
Application number
CN201780011499.8A
Other languages
English (en)
Other versions
CN109196458A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN109196458A publication Critical patent/CN109196458A/zh
Application granted granted Critical
Publication of CN109196458B publication Critical patent/CN109196458B/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or 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
    • 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/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on 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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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

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)
  • Debugging And Monitoring (AREA)

Abstract

一种存储系统容量计算方法,获取候选的分条长度LORIGy(601),计算所述候选的分条长度LORIGy的分条对应的存储系统的可用容量(602)。

Description

存储系统可用容量计算方法及装置
技术领域
本发明涉及信息技术领域,尤其涉及一种存储系统可用容量计算方法及装置。
背景技术
存储系统包含大量的硬盘,实际应用中,存储系统中的硬盘容量各异。现有技术为解决存储系统中硬盘容量不统一的问题,将所有硬盘的容量都折算为存储系统中容量最小的硬盘的容量从而获得存储系统的可用容量。例如,存储系统中1块0.6太字节(Terabyte,TB)硬盘,1块1.2TB硬盘,1块3.6TB硬盘,存储系统将1.2TB硬盘和3.6TB硬盘的容量折算为0.6TB,得到存储系统可用容量为1.8TB。存储系统再根据某一种分条算法进行配置,该方案无法获得存储系统中优选的可用容量,严重浪费存储系统中硬盘的容量。
发明内容
本申请提供了一种存储系统容量计算方法及装置,用于确定存储系统的优选的可用容量,以避免存储系统硬盘容量的浪费。
本申请的第一方面提供了一种存储系统可用容量计算方案,其中,存储系统包含可用硬盘组DGi,可用硬盘组DGi中硬盘数量为Ni,并且DGi中硬盘Di的容量为CDi,DGx中的硬盘Dx的容量CDx大于DGx+1中的硬盘Dx+1的容量CDx+1;其中i为取值1至G的每一个整数,G为整数,G不小于2,x为整数,并且x为取值1至G-1的每一个整数;存储系统中可有效配置的分条长度为[r,z],其中r和z为正整数,z大于r;在该方案中,管理设备获取候选的分条长度LORIGy,其中y取值为可有效配置的分条长度r至z中的每一个整数,并且LORIGy=y,LORIGy表示将可有效配置的分条长度y作为候选的分条长度;管理设备计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量,从而从存储系统可用容量中确定最大值,避免浪费存储系统中硬盘的容量。
结合本申请第一方面,在本申请第一方面的第一种实现方式中,该方案还包括管理设备对存储系统中的可用硬盘进行分组,获得G个可用硬盘组DGi,对所述G个可用硬盘组DGi进行排序。可用硬盘为存储系统中除热备盘外的硬盘。
结合本申请第一方面或本申请第一方面的第一种实现方式中,在第二种可能的实现方式中,管理设备根据候选的分条长度为LORIGr至LORIGz的每一个分条对应的存储系统的可用容量,确定存储系统的可用容量中的最大值对应的候选的分条长度LORIGP;其中P取值为r至z的一个整数。在实现存储系统数据保护,提高存储系统可靠性的同时,确定存储系统中的可用容量的最大值。
结合本申请第一方面的第二种可能实现方式,在第三种可能实现方式中,管理设备将存储系统的分条长度配置为LORIGP,从而在实现存储系统数据保护,提高存储系统可靠性的同时,充分利用存储系统的存储容量。
结合本申请第一方面或第一方面的第一至三种任一可能实现方式,在第四种可能实现方式中,管理设备计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量,具体包括:管理设备从t=1开始执行步骤a:判断是否满足
Figure BDA0001765790000000021
其中CDGi=CDi*Ni;当t=1时,LORIGy等于LCUy;当t不为1时,LCUy等于
Figure BDA0001765790000000022
t表示当前可用硬盘组序列的最小值;
当满足
Figure BDA0001765790000000023
并且t=1,执行步骤2a;
当满足
Figure BDA0001765790000000024
并且t大于1并且不大于G时,执行步骤2b;
当不满足
Figure BDA0001765790000000025
并且t不大于G时,执行步骤2c;
步骤2a:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure BDA0001765790000000026
其中,V为分条中数据条带的数量;
步骤2b:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure BDA0001765790000000027
步骤2c:将t+1作为新的t,执行步骤a,t不大于G。根据V分条中数据条带的数量,确定每一种分条配置存储系统中能够有效存储数据条带的可用容量,从而充分利用存储系统存储用户数据,提高存储系统硬盘容量的利用率。
结合本申请第一方面或第一方面的第一至三种任一可能实现方式,在第五种可能实现方式中,管理设备计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量,具体包括:管理设备从t=1开始执行步骤a:判断是否满足
Figure BDA0001765790000000028
其中CDGi=CDi*Ni;当t=1时,LORIGy等于LCUy;当t不为1时,LCUy等于
Figure BDA0001765790000000029
t表示当前可用硬盘组序列的最小值;
当满足
Figure BDA00017657900000000210
并且t=1,执行步骤2a;
当满足
Figure BDA00017657900000000211
并且t大于1并且不大于G时,执行步骤2b;
当不满足
Figure BDA00017657900000000212
并且t不大于G时,执行步骤2c;
步骤2a:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure BDA00017657900000000213
步骤2b:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure BDA00017657900000000214
步骤2c:将t+1作为新的t,执行步骤a,t不大于G。
结合本申请第一方面的第四种可能实现方式或第五种可能实现方式,在第六种可能实现方式中,存储系统还包括热备盘,热备盘容量为PC,热备盘的可用容量为
Figure BDA0001765790000000031
在获得存储系统最大的可用容量的同时,获得存储系统热备盘可用容量。
本申请也适用于DGx中的硬盘Dx的容量CDx等于DGx+1中的硬盘Dx+1的容量CDx+1,即存储系统中硬盘容量相同的场景。
本申请第一方面的各种实现方式中,一种实现方式,存储系统中可有效配置的分条长度为[r,z]的分条为使用纠删码算法的分条。另一种实现方式中,存储系统中可有效配置的分条长度为[r,z]的分条为使用多副本算法的分条,分条中数据条带的数量为1。
本申请第二方面还提供了一种存储系统,存储系统包含控制器和可用硬盘组DGi,可用硬盘组DGi中硬盘数量为Ni,并且DGi中硬盘Di的容量CDi,DGx中的硬盘Dx的容量CDx大于DGx+1中的硬盘Dx+1的容量CDx+1;其中i为取值1至G的每一个整数,G为整数,G不小于2,x为整数,并且x为取值1至G-1的每一个整数;存储系统中可有效配置的分条长度为[r,z],其中r和z为正整数,z大于r;控制器包含处理器和接口,处理器和接口通信,处理器用于执行本申请第一方面各方案。
相应地,本申请第三方面还提供了一种存储系统可用容量计算装置,应用于本申请第一方面的存储系统中,存储系统可用容量计算装置包含多个单元,用于执行本申请第一方面各方案。另一种实现,存储系统可用容量计算装置,应用于本申请第一方面的存储系统中,存储系统可用容量计算装置包含处理器和接口,处理器和接口通信,处理器用于执行本申请第一方面各方案。
相应地,本申请第四方面还提供了计算机可读存储介质和计算机程序产品,计算机可读存储介质和计算机程序产品中包含计算机指令用于实现本申请第一方面各方案。
本申请的第五方面提供了一种存储系统可用容量计算方案,其中,该方案包括:管理设备获取可用硬盘的信息,对可用硬盘分组得到G个可用硬盘组DGi,对G个可用硬盘组DGi进行排序;其中,可用硬盘组DGi中硬盘数量为Ni,并且DGi中硬盘Di的容量为CDi,DGx中的硬盘Dx的容量CDx大于DGx+1中的硬盘Dx+1的容量CDx+1;其中i为取值1至G的每一个整数,G为整数,G不小于2,x为整数,并且x为取值1至G-1的每一个整数;存储系统中可有效配置的分条长度为[r,z],其中r和z为正整数,z大于r;进一步的,管理设备获取候选的分条长度LORIGy,其中y取值为可有效配置的分条长度r至z中的每一个整数,并且LORIGy=y,LORIGy表示将可有效配置的分条长度y作为候选的分条长度;管理设备计算并显示候选的分条长度为LORIGy的分条对应的存储系统的可用容量,从而从存储系统可用容量中确定最大值。进一步的,本申请的第五方面的各种实现可以参考本申请的第一方面的各种实现。相应的,根据本申请的第五方面及其各种实现,还提供了一种存储系统、存储系统可用容量计算装置、计算机可读存储介质和计算机程序产品。
本申请的第六方面提供了一种存储系统可用容量计算方案,其中,该方案包括:管理设备获取可用硬盘的信息,对可用硬盘分组得到G个可用硬盘组DGi,对G个可用硬盘组DGi进行排序;其中,可用硬盘组DGi中硬盘数量为Ni,并且DGi中硬盘Di的容量为CDi,DGx中的硬盘Dx的容量CDx大于DGx+1中的硬盘Dx+1的容量CDx+1;其中i为取值1至G的每一个整数,G为整数,G不小于2,x为整数,并且x为取值1至G-1的每一个整数;存储系统中可有效配置的分条长度为[r,z],其中r和z为正整数,z大于r;进一步的,管理设备获取候选的分条长度LORIGy,其中L y取值为可有效配置的分条长度r至z中的每一个整数,并且LORIGy=y,LORIGy表示将可有效配置的分条长度y作为候选的分条长度;管理设备计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量,管理设备显示候选的分条长度LORIGr至LORIGz的分条对应的存储系统的可用容量的最大值,从而从存储系统可用容量中确定最大值。进一步的,管理设备还显示存储系统的可用容量中的最大值对应的候选的分条长度LORIGP;其中P为取值为r至z的一个整数。进一步的,本申请的第六方面的各种实现可以参考本申请的第一方面的各种实现。相应的,根据本申请的第六方面及其各种实现,还提供了一种存储系统、存储系统可用容量计算装置、计算机可读存储介质和计算机程序产品。
附图说明
图1为本发明实施例存储系统示意图;
图2为本发明实施例控制器结构示意图;
图3为本发明实施例存储系统存储容量示意图;
图4为本发明实施例存储系统存储容量示意图;
图5为本发明实施例存储系统存储容量示意图;
图6为本发明实施例方法流程图;
图7为本发明实施例计算存储系统可用容量流程图;
图8为本发明实施例计算存储系统可用容量流程图;
图9为本发明实施例存储系统可用容量结果示意图;
图10为本发明实施例存储系统可用容量结果示意图;
图11为本发明实施例存储系统容量计算装置结构示意图。
本发明实施例
如图1所示,本发明实施例中的存储系统,可以为存储阵列(如
Figure BDA0001765790000000041
Figure BDA0001765790000000042
Figure BDA0001765790000000043
18000系列,
Figure BDA0001765790000000044
V3系列),分布式文件存储系统(如
Figure BDA0001765790000000045
Figure BDA0001765790000000046
9000系列),分布式块存储系统(如
Figure BDA0001765790000000047
Figure BDA0001765790000000048
系列)等。本发明实施例以存储阵列为例,存储阵列包括存储控制器101和多块硬盘,其中,硬盘包含固态硬盘(Solid State Disk,SSD)、机械硬盘或者混合硬盘等。机械硬盘如HDD(Hard Disk Drive)。
如图2所示,控制器101包含中央处理单元(Central Processing Unit,CPU)201、存储器202和接口203,存储器202中存储计算机指令,CPU201执行存储器202中的计算机指令对存储系统进行管理及数据访问操作。另外,为节省CPU201的计算资源,现场可编程门阵列(Field Programmable Gate Array,FPGA)或其他硬件也可以用于执行本发明实施例中CPU201全部操作,或者,FPGA或其他硬件与CPU201分别用于执行本发明实施例CPU的部分操作。为方便描述,本发明实施例统一用处理器来指CPU201和存储器202的组合,以及上述各种实现,处理器与接口203通信。
存储系统为提高可靠性,防止数据丢失,在存储数据的时候,通常会使用分条的形式存储数据,即在多个存储器上(例如多块磁盘或者多个存储介质上)上并行写入多个条带。
分条,通常指存储数据的时候,并行写入多个存储器的多个条带的集合。条带,也称为分条单元,分条由条带组成。分条长度,通常指一个分条包含的条带的数量。一个分条包含的条带的类型和数量可以由分条算法决定,分条算法可以为纠删码(Erasure Coding,EC)或多副本算法等。例如,存储系统使用EC算法,则构成一个分条的条带需要分布在不同的硬盘上。一个分条包含M个数据条带(数据条带指包含源数据的条带)和N个校验条带(检验条带指包含校验数据的条带),分条长度为M+N,其中M和N均为整数,则需要(M+N)块硬盘存储分条中的条带。具体的,例如EC算法为独立硬盘冗余阵列(Redundant Array ofIndependent Disks,RAID)算法,例如RAID 5算法组成的EC分条,校验条带的数量为1,RAID5算法组成的EC分条的分条长度为M+1;RAID 6算法组成的EC分条,校验条带的数量为2,RAID 6算法组成的EC分条的分条长度为M+2。还例如,存储系统使用多副本方式算法获得分条,在使用多副本构成的分条中,条带的数量等于副本数量。例如3副本算法,即一个分条中包含3份相同的数据条带,3份相同的数据条带分别存储在3块硬盘上,此种情况下,分条长度为3。在使用多副本算法的分条中,可以将其中1份副本作为数据条带,其他副本作为校验条带,因此多副本算法的分条中,数据条带的数量为1。源数据也称为用户写入数据,包含元数据。相同的分条算法可以有不同的分条长度,例如,EC算法中的RAID 6算法,可以有不同长度的分条;多副本算法也可以有不同的副本数量。
热备盘是存储系统中发生硬盘故障造成数据损失,使用分条算法进行数据恢复时,存储恢复出来的数据的硬盘。
存储系统的可用容量是指存储系统除热备盘外可以用于存储数据的硬盘容量。存储系统设计中一般采用数据可靠性优先的原则。在使用分条算法保护的存储系统中,由于可靠性约束,可能导致存储系统中硬盘容量无法全部用来存储数据,不同分条长度配置下的存储系统的可用容量存在最大值。本发明实施例根据存储系统硬盘容量、硬盘数量以及分条算法,计算每种分条长度对应的存储系统的可用容量,进而得到存储系统可用容量最大值对应的分条长度作为最优的分条长度。
本发明实施例以存储系统包含16块硬盘为例,其中包含3块900吉字节(Gigabyte,GB)硬盘,5块1.8TB硬盘,8块3.6TB硬盘。存储系统设置的分条算法为RAID6(即包含2个校验条带),需要2块热备盘,因此,可用于存储分条的条带的硬盘数量为14,除去热备盘外可用于存储分条的条带的硬盘称为可用硬盘。通常存储系统根据存储性能和可靠性等因素,会为用户提供存储系统可支持的分条长度,如[5,25],即存储系统支持的分条长度为5到25。根据前面描述可知,分条中的条带需要存储在不同的硬盘上,因此,实际上分条长度要受硬盘数量的约束,因此,存储系统实际可以配置的分条长度不能超过可用硬盘的数量,存储系统实际可以配置的分条长度称为可有效配置的分条长度。以本发明实施例为例,除2块热备盘外,可用硬盘的数量为14。因此,可有效配置的分条长度为[5,14],即可有效配置的分条长度为5至14。
本发明实施例中,为计算每一个可有效配置的分条长度对应的存储容量的值,从而确定所述存储系统的可用容量中的最大值对应的分条长度,本发明实施例以下称每一个可有效配置的分条长度为候选的分条长度。本发明实施例提供一种存储系统的可用容量的计算算法,可以根据存储系统可用硬盘的数量确定使用相同分条算法的情况下,采用不同的候选的分条长度时能够获得的存储系统的可用容量,例如使用RAID 6算法的不同候选的分条长度时获得的可用容量。由于获得了不同的可用容量值,因此可以确定出最大的存储系统可用容量所对应的分条长度,并根据所确定出的分条长度配置存储系统,从而提高存储系统硬盘容量的利用率。
本发明实施例一种应用场景如图3所示,存储厂商为用户推荐合理的存储系统配置,显示每种候选的分条长度对应的存储系统中的可用容量及不可用容量等信息。根据存储系统硬盘信息,提供如图3所示界面,支持用户输入热备盘数量M和分条算法类型(如EC)等,存储系统根据候选的EC分条长度和存储系统的硬盘信息等,从而计算并显示每种候选的分条长度对应的可用容量以及不可用容量等,还可以显示所有候选的分条长度的分条对应的存储系统的可用容量的最大值,进一步的,还可以显示存储系统的可用容量中的最大值对应的候选的分条长度。具体实现,可以由存储厂商提供的网站或应用为用户提供上述操作,在这种应用场景下,具体实现可以由运行该网站或应用的服务器作为管理设备计算每种候选的分条长度对应的存储系统中的可用容量及不可用容量等信息。管理设备的结构可参考图2所示的结构及相应实现。进一步的,管理设备还包括显示设备。
为进一步方便用户选择,本发明实施例还可以提供图4所示界面,从而为用户选择、配置存储系统提供更大的灵活性。在图4界面中呈现可选择的硬盘容量,如1.8TB,3.6TB,900GB,界面还进一步提供“选择硬盘容量C”的选项及“选择硬盘数量”的选项,供用户输入硬盘容量和数量。具体实现中,图4中呈现的可选择的硬盘容量可以省略,硬盘容量直接在“选择硬盘容量C”选项中呈现。为使用户可以选用不同容量的硬盘,图4所示的界面中还包含“进一步添加”选项,供用户进一步选择不同容量的硬盘及数量。用户通过图4所示的界面选择存储系统。图4界面中的其他选项描述如图3所示,在此不再赘述。
为方便用户获得候选的分条长度对应的存储系统中的可用容量及不可用容量等信息,如图5所示,用户界面进一步提供从候选的分条长度为LORIGr至LORIGz的分条对应的存储系统的可用容量及不可用容量界面。图3至图5所示的界面为用户提供存储系统配置选项,用户选择相应的配置的存储系统。图3至图5所示的界面也可以集成到存储系统本身,即存储系统本身提供图3至图5所示的操作,具体的,一种实现可以由存储系统的控制器作为管理设备计算每种候选的分条长度的分条对应的存储系统中的可用容量及不可用容量等信息,确定存储系统中的可用容量最大值对应的分条长度,存储系统将分条配置为该长度;另一种实现,可以由存储系统的管理设备计算每种候选的分条长度的分条对应的存储系统中的可用容量及不可用容量等信息,确定存储系统中的可用容量最大值对应的分条长度,存储系统将分条配置为该长度。
在具体实现中,管理设备获取存储系统中硬盘信息,硬盘信息包含硬盘容量及数量。管理设备获取存储系统的硬盘信息具体包括收集存储系统中安装的硬盘信息或者用户输入的存储系统的硬盘信息。管理设备根据获得的硬盘信息,根据热备盘的数量,从存储系统中选择容量最大的硬盘作为热备盘。当存储系统中容量最大的硬盘的数量少于热备盘的数量,则从次容量最大的盘中继续选择热备盘。管理设备将存储系统中扣除热备盘后的硬盘进行分组,即将可用硬盘进行分组,获得可用硬盘组DGi。热备盘容量为PC,热备盘的数量由分条算法决定,如RAID6,则需要2块热备盘。其中,容量相同的硬盘在同一个可用硬盘组DGi,可用硬盘组DGi中的硬盘数量为Ni。可用硬盘组DGi中的硬盘Di的容量为CDi。管理设备根据可用硬盘组中硬盘容量从大到小的顺序对可用硬盘组进行排序依次为DG1到DGG,即DGx中的硬盘Dx的容量CDx大于DGx+1中的硬盘Dx+1的容量CDx+1,可用硬盘组序列为1到G。其中i为取值1至G的每一个整数,G为整数,G不小于2,x为整数,并且x为取值1至G-1的每一个整数。存储系统中可有效配置的分条长度为[r,z],其中r和z为正整数,z大于r。管理设备根据相同分条算法下可有效配置的分条长度为[r,z]中的每一个分条长度执行如图6所示的流程:
601:获取候选的分条长度LORIGy。其中y取值为可有效配置的分条长度r至z中的每一个整数。为表述方便,用LORIGy表示候选的分条长度,即候选的分条长度LORIGy等于可有效配置的分条长度y。LORIGy表示将可有效配置的分条长度y作为候选的分条长度,获取候选的分条长度LORIGy即获取可有效配置的分条长度y。
602:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量。
管理设备根据候选的分条长度为LORIGr至LORIGz的每一个分条对应的存储系统的可用容量,确定存储系统的可用容量中的最大值对应的分条长度LORIGP;其中P为取值为r至z的一个整数。进一步的,管理设备将存储系统的分条长度配置为LORIGP,即将存储系统的分条长度配置为P。本发明实施例中分条长度为[r,z]的分条均使用相同的分条算法,例如RAID6。本发明实施例计算候选的分条长度为LORIGr至LORIGz的分条对应的存储系统的可用容量,确定存储系统的可用容量中选择最大值对应的分条长度,从而提高存储系统中硬盘容量的利用率。
其中一种实现方式,步骤602,如图7所示,具体包括:
步骤701:判断是否满足
Figure BDA0001765790000000071
其中CDGi=CDi*Ni;当t=1时,LORIGy等于LCUy;当t不为1时,LCUy等于
Figure BDA0001765790000000072
t表示当前可用硬盘组序列的最小值;t意味着当CDi*LCUy不满足上述条件时,则从可用硬盘组序列从小到大的顺序中选择下一个可用硬盘组作为当前可用硬盘组序列的最小值;
当满足
Figure BDA0001765790000000081
并且t=1(记为Y&t=1),则执行步骤702a;
当满足
Figure BDA0001765790000000082
并且t大于1并且不大于G时(记为Y&1<t≤G),则执行步骤702b;
当不满足
Figure BDA0001765790000000083
并且t不大于G时(记为N&t≤G),执行步骤702c;
步骤702a:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure BDA0001765790000000084
其中,V为分条中数据条带的数量;由EC算法生成的长度为M+N的分条中,V=M;在由多副本算法生成的分条中,V=1。根据V分条中数据条带的数量,确定每一种分条配置存储系统中能够有效存储数据条带的容量,从而充分利用存储系统存储用户数据,提高存储系统硬盘容量的利用率。
步骤702b:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure BDA0001765790000000085
步骤702c:将t+1作为新的t,执行步骤701,t不大于G。
在步骤702a中,存储系统中的热备盘可用容量为PC,在步骤702b中,存储系统中热备盘可用容量为
Figure BDA0001765790000000086
存储系统中热备盘可用容量是指存储系统中热备盘可以用于存储分条恢复出来的数据的硬盘容量。
另一种实现方式,步骤602,如图8所示,具体包括:
步骤801:判断是否满足
Figure BDA0001765790000000087
其中CDGi=CDi*Ni;当t=1时,LORIGy等于LCUy;当t不为1时,LCUy等于
Figure BDA0001765790000000088
t表示当前可用硬盘组序列的最小值;t意味着当CDi*LCUy不满足上述条件时,则从可用硬盘组序列从小到大的顺序中选择下一个可用硬盘组作为当前可用硬盘组序列的最小值;
当满足
Figure BDA0001765790000000089
并且t=1(记为Y&t=1),则执行步骤802a;
当满足
Figure BDA00017657900000000810
并且t大于1并且不大于G时(记为Y&1<t≤G),则执行步骤802b;
当不满足
Figure BDA00017657900000000811
并且t不大于G时(记为N&t≤G),执行步骤802c;
步骤802a:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量
Figure BDA00017657900000000812
步骤802b:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量
Figure BDA0001765790000000091
步骤802c:将t+1作为新的t,执行步骤801,t不大于G。
在步骤802a中,存储系统中的热备盘可用容量为PC,在步骤802b中,存储系统中热备盘可用容量为
Figure BDA0001765790000000092
存储系统中热备盘可用容量是指存储系统中热备盘可以用于存储分条恢复出来的数据的硬盘容量。
在图8所示的实施例中,可以计算每种候选的分条长度的分条对应的存储系统的可用容量。
本发明实施例以存储系统包含16块硬盘为例,其中包含3块900GB硬盘,5块1.8TB硬盘,8块3.6TB硬盘。存储系统设置为RAID6(即包含2个校验条带),需要2块热备盘,选择单盘容量最大的2块硬盘,即热备盘容量为7.2TB(7200GB)。可用硬盘组DG1中的硬盘D1的容量CD1为3.6TB,可用硬盘组DG1中的硬盘数量为N1=6;可用硬盘组DG2中的硬盘D2的容量CD2为1.8TB,可用硬盘组DG2中的硬盘数量为N1=5;可用硬盘组DG3中的硬盘D3的容量CD3为900GB,可用硬盘组DG3中的硬盘数量为N1=3。根据可用硬盘组中硬盘容量从大到小的顺序对可用硬盘组进行排序依次为DG1到DG3。其中i为取值1至3的每一个整数,即i的取值为1、2和3。G=3。可有效配置的分条长度为[5,14],即r=5,z=14。结合图6及图7,分别计算候选的分条长度为5到14的分条对应的存储系统的可用容量。
根据图7所示的流程,1)计算候选的分条长度为5的分条对应的存储系统的可用容量,t表示当前可用硬盘组序列的最小值,t的初始值为1,CD1*LCU5=3.6TB*5<(900GB*3+1.8TB*5+3.6TB*6),执行步骤702a,在候选的分条长度为5时,V=3,可用容量
Figure BDA0001765790000000093
热备盘可用容量为7200GB。
2)计算候选的分条长度为6的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,CD1*LCU6=3.6TB*6<(900GB*3+1.8TB*5+3.6TB*6),执行步骤702a,在候选的分条长度为6时,V=4,可用容量
Figure BDA0001765790000000094
热备盘可用容量为7200GB。
3)计算候选的分条长度为7的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,CD1*LCU7=3.6TB*7<(900GB*3+1.8TB*5+3.6TB*6),执行步骤702a,在候选的分条长度为7时,V=5,可用容量
Figure BDA0001765790000000095
热备盘可用容量为7200GB。
4)计算候选的分条长度为8的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,CD1*LCU8=3.6TB*8<(900GB*3+1.8TB*5+3.6TB*6),执行步骤702a,在候选的分条长度为8时,V=6,可用容量
Figure BDA0001765790000000101
热备盘可用容量为7200GB。
5)计算候选的分条长度为9的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,CD1*LCU9=3.6TB*9<(900GB*3+1.8TB*5+3.6TB*6),执行步骤702a,在候选的分条长度为9时,V=7,可用容量
Figure BDA0001765790000000102
热备盘可用容量为7200GB。
6)计算候选的分条长度为10的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,CD1*LCU10=3.6TB*10>(900GB*3+1.8TB*5+3.6TB*6),执行步骤702c,将t+1作为新的t,即新的t=2,当前可用硬盘组序列的最小值为2,执行步骤701,
Figure BDA0001765790000000103
CD2*LCU4=1.8TB*4<(900GB*3+1.8TB*5),则执行步骤702b。在候选的分条长度为10时,V=8,
Figure BDA0001765790000000104
Figure BDA0001765790000000105
热备盘可用容量为
Figure BDA0001765790000000106
7)计算候选的分条长度为11的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,CD1*LCU11=3.6TB*11>(900GB*3+1.8TB*5+3.6TB*6),执行步骤702c,将t+1作为新的t,即新的t=2,当前可用硬盘组序列的最小值为2,执行步骤701,
Figure BDA0001765790000000107
CD2*LCU5=1.8TB*5<(900GB*3+1.8TB*5),则执行步骤702b。在候选的分条长度为11时,V=9,
Figure BDA0001765790000000108
Figure BDA0001765790000000109
热备盘可用容量为
Figure BDA00017657900000001010
8)计算候选的分条长度为12的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,CD1*LCU12=3.6TB*12>(900GB*3+1.8TB*5+3.6TB*6),执行步骤702c,将t+1作为新的t,即新的t=2,当前可用硬盘组序列的最小值为2,执行步骤701,
Figure BDA00017657900000001011
CD2*LCU6=1.8TB*6<(900GB*3+1.8TB*5),则执行步骤702b。在候选的分条长度为12时,V=10,
Figure BDA00017657900000001012
Figure BDA0001765790000000111
热备盘可用容量为
Figure BDA0001765790000000112
9)计算候选的分条长度为13的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,CD1*LCU13=3.6TB*13>(900GB*3+1.8TB*5+3.6TB*6),执行步骤702c,将t+1作为新的t,即新的t=2,当前可用硬盘组序列的最小值为2,执行步骤701,
Figure BDA0001765790000000113
CD2*LCU7=1.8TB*7>(900GB*3+1.8TB*5),则执行步骤702c,将t+1作为新的t,即新的t=3,当前可用硬盘组序列的最小值为3,执行步骤701,
Figure BDA0001765790000000114
CD3*LCU2=900GB*2<900GB*3,执行步骤702b。在候选的分条长度为13时,V=11,
Figure BDA0001765790000000115
850GB,热备盘可用容量为
Figure BDA0001765790000000116
10)计算候选的分条长度为14的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,CD1*LCU14=3.6TB*14>(900GB*3+1.8TB*5+3.6TB*6),执行步骤702c,将t+1作为新的t,即新的t=2,当前可用硬盘组序列的最小值为2,执行步骤701,
Figure BDA0001765790000000117
CD2*LCU8=1.8TB*8>(900GB*3+1.8TB*5),则执行步骤702c,将t+1作为新的t,即新的t=3,当前可用硬盘组序列的最小值为3,执行步骤701,
Figure BDA0001765790000000118
CD3*LCU3=900GB*3=900GB*3,执行步骤702b。在候选的分条长度为14时,V=12,
Figure BDA0001765790000000119
Figure BDA00017657900000001110
热备盘可用容量为
Figure BDA00017657900000001111
根据图6和图7所示流程,获得如图9所示候选的分条长度5至14的分条对应的存储系统的可用容量、容量利用率以及热备盘的可用容量。其中,容量利用率为存储系统的可用容量与存储系统总容量的百分比。因此,本发明实施例中,将存储系统配置为分条长度为9的分条,存储系统的可用容量最大,即25900GB,容量利用率达到63.95%。本发明实施例根据图6和图7所示的流程计算候选的分条长度为5至14的分条对应的存储系统的可用容量,生成10所示图表。
本发明实施例在计算候选的分条长度为5至14的分条对应的存储系统的可用容量时,可以从候选的分条长度为5的分条开始计算,也可以从候选的分条长度为14的分条开始计算。还可以并行计算多个候选的分条长度的分条对应的存储系统的可用容量。本发明实施例对此不作限定。
本发明实施例计算存储系统可用容量的方案,可以用于用户在选购存储系统时为用户提供硬盘容量规划。本发明实施例计算存储系统可用容量的方案也可以用于配置存储系统的分条,在本发明实施例中,将存储系统配置为:2块3.6TB的热备盘,使用RAID6(2个校验条带)算法,分条长度为9,从而提高存储系统硬盘容量的利用率。
另外,本发明实施例也适用于DGx中的硬盘Dx的容量CDx等于DGx+1中的硬盘Dx+1的容量CDx+1,即存储系统中硬盘容量相同的场景。
基于上述实施例,如图11所示,本发明实施例进一步提供了一种存储系统可用容量计算装置,应用于本发明实施例的管理设备中。具体地,存储系统可用容量计算装置110包含获取单元1101和计算单元1102;其中,获取单元1101用于获取候选的分条长度LORIGy,其中y取值为可有效配置的分条长度r至z中的每一个整数,并且LORIGy=y;计算单元1102用于计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量。进一步的,存储系统可用容量计算装置110还包括分组单元和排序单元;其中,分组单元用于对存储系统中的可用硬盘进行分组,获得G个可用硬盘组DGi;排序单元用于对G个可用硬盘组DGi进行排序。进一步的,存储系统可用容量计算装置110还包含确定单元,用于根据候选的分条长度为LORIGr至LORIGz的分条对应的存储系统的可用容量,确定存储系统的可用容量中的最大值对应的候选的分条长度LORIGP;其中P为取值为r至z的一个整数。进一步的,存储系统可用容量计算装置110还包含配置单元,用于将存储系统的分条长度配置为LORIGP。可选的,计算单元1102具体用于执行图7或图8所示的流程。进一步的,存储系统可用容量计算装置还包括显示单元,用于显示本发明实施例各种计算结果。本发明实施例进一步提供了一种存储系统可用容量计算装置的具体实现可参考本发明实施例前面的描述,在此不再赘述。
同理,存储系统容量计算装置100也适用于DGx中的硬盘Dx的容量CDx等于DGx+1中的硬盘Dx+1的容量CDx+1,即存储系统中硬盘容量相同的场景。
如图11所示的存储系统容量计算机装置100,具体可以为管理设备,关于管理设备的描述可以参考前面描述,获取单元1101和计算单元1102对应管理设备的处理器。另一种实现,存储系统容量计算机装置100可以为计算机程序,计算机程序包含计算机指令用于实现获取单元1101和计算单元1102的功能。计算机程序可以存储在计算机可读存储介质中,或者计算机程序还可以服务器中供用户使用或下载。计算机可读存储介质可以为非易失性的也可以为易失性的。计算程序存储在服务器中供用户使用,具体可以为服务器的处理器执行计算机程序中的计算机指令。
相应的,本发明实施例还提供了计算机可读存储介质和计算机程序产品,计算机可读存储介质和计算机程序产品中包含计算机指令用于实现本发明实施例中描述的各种方案。
本发明实施例中以EC和多副本作为分条算法,但本发明实施例中的分条算法并不限于EC和多副本作为分条算法。
在本发明所提供的几个实施例中,应该理解到,所公开的装置、方法,可以通过其它的方式实现。例如,以上所描述的装置实施例所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例各方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

Claims (34)

1.一种存储系统容量计算方法,其特征在于,存储系统包含可用硬盘组DGi,可用硬盘组DGi中硬盘数量为Ni,并且DGi中硬盘Di的容量为CDi,DGx中的硬盘Dx的容量CDx大于DGx+1中的硬盘Dx+1的容量CDx+1;其中i为取值1至G的每一个整数,G为整数,G不小于2,x为整数,并且x为取值1至G-1的每一个整数;所述存储系统中可有效配置的分条长度为[r,z],其中r和z为正整数,z大于r;
所述方法包括:
管理设备获取候选的分条长度LORIGy,其中y取值为可有效配置的分条长度r至z中的每一个整数,并且LORIGy=y;
所述管理设备计算所述候选的分条长度LORIGy的分条对应的存储系统的可用容量。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述管理设备对所述存储系统中的可用硬盘进行分组,获得G个可用硬盘组DGi
所述管理设备对所述G个可用硬盘组DGi进行排序。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述管理设备根据候选的分条长度为LORIGr至LORIGz的每一个分条对应的存储系统的可用容量,确定所述存储系统的可用容量中的最大值对应的候选的分条长度LORIGP;其中P取值为r至z的一个整数。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述管理设备将所述存储系统的分条长度配置为LORIGP
5.根据权利要求1所述的方法,其特征在于,所述管理设备计算所述候选的分条长度为LORIGy的分条对应的存储系统的可用容量,具体包括:所述管理设备从t=1开始执行步骤a:判断是否满足
Figure FDA0002479733910000011
其中CDGi=CDi*Ni;当t=1时,LORIGy等于LCUy;当t不为1时,LCUy等于
Figure FDA0002479733910000012
t表示当前可用硬盘组序列的最小值;
当满足
Figure FDA0002479733910000013
并且t=1,执行步骤2a;
当满足
Figure FDA0002479733910000014
并且t大于1并且不大于G时,执行步骤2b;
当不满足
Figure FDA0002479733910000015
并且t不大于G时,执行步骤2c;
步骤2a:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure FDA0002479733910000016
其中,V为分条中数据条带的数量;
步骤2b:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure FDA0002479733910000017
步骤2c:将t+1作为新的t,执行步骤a,t不大于G。
6.根据权利要求1所述的方法,其特征在于,其特征在于,所述管理设备计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量,具体包括:所述管理设备从t=1开始执行步骤a:判断是否满足
Figure FDA0002479733910000021
其中CDGi=CDi*Ni;当t=1时,LORIGy等于LCUy;当t不为1时,LCUy等于
Figure FDA0002479733910000022
t表示当前可用硬盘组序列的最小值;
当满足
Figure FDA0002479733910000023
并且t=1,执行步骤2a;
当满足
Figure FDA0002479733910000024
并且t大于1并且不大于G时,执行步骤2b;
当不满足
Figure FDA0002479733910000025
并且t不大于G时,执行步骤2c;
步骤2a:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure FDA0002479733910000026
步骤2b:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure FDA0002479733910000027
步骤2c:将t+1作为新的t,执行步骤a,t不大于G。
7.根据权利要求5或6所述的方法,其特征在于,所述存储系统还包括热备盘,所述热备盘容量为PC,所述热备盘的可用容量为
Figure FDA0002479733910000028
8.根据权利要求1或2所述的方法,其特征在于,所述存储系统中可有效配置的分条长度为[r,z]的分条为使用纠删码算法的分条。
9.根据权利要求1或2所述的方法,其特征在于,所述存储系统中可有效配置的分条长度为[r,z]的分条为使用多副本算法的分条。
10.一种存储系统,其特征在于,存储系统包含管理设备和可用硬盘组DGi,可用硬盘组DGi中硬盘数量为Ni,并且DGi中硬盘Di的容量为CDi,DGx中的硬盘Dx的容量CDx大于DGx+1中的硬盘Dx+1的容量CDx+1;其中i为取值1至G的每一个整数,G为整数,G不小于2,x为整数,并且x为取值1至G-1的每一个整数;所述存储系统中可有效配置的分条长度为[r,z],其中r和z为正整数,z大于r;
所述管理设备包含处理器和接口,所述处理器和所述接口通信,所述处理器用于:
获取候选的分条长度LORIGy,其中y取值为可有效配置的分条长度r至z中的每一个整数,并且LORIGy=y;
计算所述候选的分条长度为LORIGy的分条对应的存储系统的可用容量。
11.根据权利要求10所述的存储系统,其特征在于,所述处理器还用于:对所述存储系统中的可用硬盘进行分组,获得G个可用硬盘组DGi
对所述G个可用硬盘组DGi进行排序。
12.根据权利要求10或11所述的存储系统,其特征在于,所述处理器还用于:根据候选的分条长度为LORIGr至LORIGz的分条对应的存储系统的可用容量,确定存储系统的可用容量中的最大值对应的候选的分条长度LORIGP;其中P取值为r至z的一个整数。
13.根据权利要求10所述的存储系统,其特征在于,所述处理器还用于将所述存储系统的分条长度配置为LORIGP
14.根据权利要求10所述的存储系统,其特征在于,所述处理器具体用于:从t=1开始执行步骤a:判断是否满足
Figure FDA0002479733910000031
其中CDGi=CDi*Ni;当t=1时,LORIGy等于LCUy;当t不为1时,LCUy等于
Figure FDA0002479733910000032
t表示当前可用硬盘组序列的最小值;
当满足
Figure FDA0002479733910000033
并且t=1,执行步骤2a;
当满足
Figure FDA0002479733910000034
并且t大于1并且不大于G时,执行步骤2b;
当不满足
Figure FDA0002479733910000035
并且t不大于G时,执行步骤2c;
步骤2a:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure FDA0002479733910000036
其中,V为分条中数据条带的数量;
步骤2b:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure FDA0002479733910000037
步骤2c:将t+1作为新的t,执行步骤a,t不大于G。
15.根据权利要求10所述的存储系统,其特征在于,其特征在于,所述处理器具体用于:从t=1开始执行步骤a:判断是否满足
Figure FDA0002479733910000038
其中CDGi=CDi*Ni;当t=1时,LORIGy等于LCUy;当t不为1时,LCUy等于
Figure FDA0002479733910000039
t表示当前可用硬盘组序列的最小值;
当满足
Figure FDA00024797339100000310
并且t=1,执行步骤2a;
当满足
Figure FDA00024797339100000311
并且t大于1并且不大于G时,执行步骤2b;
当不满足
Figure FDA00024797339100000312
并且t不大于G时,执行步骤2c;
步骤2a:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure FDA00024797339100000313
步骤2b:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure FDA00024797339100000314
步骤2c:将t+1作为新的t,执行步骤a,t不大于G。
16.根据权利要求14或15所述的存储系统,其特征在于,所述存储系统还包括热备盘,所述热备盘容量为PC,所述热备盘的可用容量为
Figure FDA0002479733910000041
17.根据权利要求10所述的存储系统,其特征在于,所述存储系统中可有效配置的分条长度为[r,z]的分条为使用纠删码算法的分条。
18.根据权利要求10所述的存储系统,其特征在于,所述存储系统中可有效配置的分条长度为[r,z]的分条为使用多副本算法的分条。
19.一种存储系统容量计算装置,其特征在于,所述装置应用于存储系统中,所述存储系统包含可用硬盘组DGi,可用硬盘组DGi中硬盘数量为Ni,并且DGi中硬盘Di的容量为CDi,DGx中的硬盘Dx的容量CDx大于DGx+1中的硬盘Dx+1的容量CDx+1;其中i为取值1至G的每一个整数,G为整数,G不小于2,x为整数,并且x为取值1至G-1的每一个整数;所述存储系统中可有效配置的分条长度为[r,z],其中r和z为正整数,z大于r;
所述装置包含获取单元和计算单元,其中:
所述获取单元用于获取候选的分条长度LORIGy,其中y取值为可有效配置的分条长度r至z中的每一个整数,并且LORIGy=y;
所述计算单元用于计算所述候选的分条长度为LORIGy的分条对应的存储系统的可用容量。
20.根据权利要求19所述的装置,其特征在于,所述装置还包括分组单元和排序单元;其中,
所述分组单元用于对所述存储系统中的可用硬盘进行分组,获得G个可用硬盘组DGi
所述排序单元用于对所述G个可用硬盘组DGi进行排序。
21.根据权利要求19或20所述的装置,其特征在于,所述装置还包括确定单元,用于根据候选的分条长度LORIGr至LORIGz的每一个分条对应的存储系统的可用容量,确定存储系统的可用容量中的最大值对应的候选的分条长度LORIGP;其中P取值为r至z的一个整数。
22.根据权利要求21所述的装置,其特征在于,所述装置还包括配置单元,用于将所述存储系统的分条长度配置为LORIGP
23.根据权利要求19所述的装置,其特征在于,所述计算单元具体用于:从t=1开始执行步骤a:判断是否满足
Figure FDA0002479733910000042
其中CDGi=CDi*Ni;当t=1时,LORIGy等于LCUy;当t不为1时,LCUy等于
Figure FDA0002479733910000043
t表示当前可用硬盘组序列的最小值;
当满足
Figure FDA0002479733910000044
并且t=1,执行步骤2a;
当满足
Figure FDA0002479733910000045
并且t大于1并且不大于G时,所执行步骤2b;
当不满足
Figure FDA0002479733910000046
并且t不大于G时,执行步骤2c;
步骤2a:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure FDA0002479733910000051
其中,V为分条中数据条带的数量;
步骤2b:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure FDA0002479733910000052
步骤2c:将t+1作为新的t,执行步骤a,t不大于G。
24.根据权利要求19所述的装置,其特征在于,所述计算单元具体用于:从t=1开始执行步骤a:判断是否满足
Figure FDA0002479733910000053
其中CDGi=CDi*Ni;当t=1时,LORIGy等于LCUy;当t不为1时,LCUy等于
Figure FDA0002479733910000054
t表示当前可用硬盘组序列的最小值;
当满足
Figure FDA0002479733910000055
并且t=1,执行步骤2a;
当满足
Figure FDA0002479733910000056
并且t大于1并且不大于G时,执行步骤2b;
当不满足
Figure FDA0002479733910000057
并且t不大于G时,执行步骤2c;
步骤2a:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure FDA0002479733910000058
步骤2b:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure FDA0002479733910000059
步骤2c:将t+1作为新的t,执行步骤a,t不大于G。
25.根据权利要求23或24所述的装置,其特征在于,所述存储系统还包括热备盘,所述热备盘容量为PC,所述热备盘的可用容量为
Figure FDA00024797339100000510
26.根据权利要求19所述的装置,其特征在于,所述存储系统中可有效配置的分条长度为[r,z]的分条为使用纠删码算法的分条。
27.根据权利要求19所述的装置,其特征在于,所述存储系统中可有效配置的分条长度为[r,z]的分条为使用多副本算法的分条。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储用于计算存储系统可用容量的计算机指令,所述存储系统包含可用硬盘组DGi,可用硬盘组DGi中硬盘数量为Ni,并且DGi中硬盘Di的容量为CDi,DGx中的硬盘Dx的容量CDx大于DGx+1中的硬盘Dx+1的容量CDx+1;其中i为取值1至G的每一个整数,G为整数,G不小于2,x为整数,并且x为取值1至G-1的每一个整数;所述存储系统中可有效配置的分条长度为[r,z],其中r和z为正整数,z大于r;
其中,所述计算机可读存储介质包含第一计算机指令,用于获取候选的分条长度LORIGy,其中y取值为可有效配置的分条长度r至z中的每一个整数,并且LORIGy=y;
所述计算机可读存储介质包含第二计算机指令,用于计算所述候选的分条长度LORIGy的分条对应的存储系统的可用容量。
29.根据权利要求28所述的计算机可读存储介质,其特征在于,所述计算机可读存储介质还包含第三计算机指令,用于对所述存储系统中的可用硬盘进行分组,获得G个可用硬盘组DGi,对所述G个可用硬盘组DGi进行排序。
30.根据权利要求28或29所述的计算机可读存储介质,其特征在于,所述计算机可读存储介质还包含第四计算机指令,用于根据候选的分条长度LORIGr至LORIGz的每一个分条对应的存储系统的可用容量,确定存储系统的可用容量中的最大值对应的候选的分条长度LORIGP;其中P取值为r至z的一个整数。
31.根据权利要求30所述的计算机可读存储介质,其特征在于,所述计算机可读存储介质还包含第五计算机指令,用于将所述存储系统的分条长度配置为LORIGP
32.根据权利要求28所述的计算机可读存储介质 ,其特征在于,所述第二计算机指令具体用于:从t=1开始执行步骤a:判断是否满足
Figure FDA0002479733910000061
其中CDGi=CDi*Ni;当t=1时,LORIGy等于LCUy;当t不为1时,LCUy等于
Figure FDA0002479733910000062
t表示当前可用硬盘组序列的最小值;
当满足
Figure FDA0002479733910000063
并且t=1,执行步骤2a;
当满足
Figure FDA0002479733910000064
并且t大于1并且不大于G时,执行步骤2b;
当不满足
Figure FDA0002479733910000065
并且t不大于G时,执行步骤2c;
步骤2a:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure FDA0002479733910000066
其中,V为分条中数据条带的数量;
步骤2b:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure FDA0002479733910000067
步骤2c:将t+1作为新的t,执行步骤a,t不大于G。
33.根据权利要求28所述的计算机可读存储介质,其特征在于,所述第二计算机指令具体用于:从t=1开始执行步骤a:判断是否满足
Figure FDA0002479733910000068
其中CDGi=CDi*Ni;当t=1时,LORIGy等于LCUy;当t不为1时,LCUy等于
Figure FDA0002479733910000069
t表示当前可用硬盘组序列的最小值;
当满足
Figure FDA00024797339100000610
并且t=1,执行步骤2a;
当满足
Figure FDA00024797339100000611
并且t大于1并且不大于G时,执行步骤2b;
当不满足
Figure FDA00024797339100000612
并且t不大于G时,执行步骤2c;
步骤2a:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure FDA0002479733910000071
步骤2b:计算候选的分条长度为LORIGy的分条对应的存储系统的可用容量为
Figure FDA0002479733910000072
步骤2c:将t+1作为新的t,执行步骤a,t不大于G。
34.根据权利要求32或33所述的计算机可读存储介质,其特征在于,所述存储系统还包括热备盘,所述热备盘容量为PC,所述热备盘的可用容量为
Figure FDA0002479733910000073
CN201780011499.8A 2017-11-03 2017-11-03 存储系统可用容量计算方法及装置 Active CN109196458B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/109360 WO2019084917A1 (zh) 2017-11-03 2017-11-03 存储系统可用容量计算方法及装置

Publications (2)

Publication Number Publication Date
CN109196458A CN109196458A (zh) 2019-01-11
CN109196458B true CN109196458B (zh) 2020-12-01

Family

ID=64948910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780011499.8A Active CN109196458B (zh) 2017-11-03 2017-11-03 存储系统可用容量计算方法及装置

Country Status (4)

Country Link
US (1) US11385828B2 (zh)
EP (1) EP3553664B1 (zh)
CN (1) CN109196458B (zh)
WO (1) WO2019084917A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114721585A (zh) * 2021-01-06 2022-07-08 伊姆西Ip控股有限责任公司 存储管理方法、设备和计算机程序产品
US11592988B2 (en) * 2021-01-12 2023-02-28 EMC IP Holding Company LLC Utilizing a hybrid tier which mixes solid state device storage and hard disk drive storage
US11842074B2 (en) * 2021-03-21 2023-12-12 Vast Data Ltd. Striping in a storage system
CN115237332A (zh) 2021-04-23 2022-10-25 伊姆西Ip控股有限责任公司 管理盘方法、电子设备和计算机程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840360A (zh) * 2009-10-28 2010-09-22 创新科存储技术有限公司 Raid系统的快速重建方法及装置
CN102043685A (zh) * 2010-12-31 2011-05-04 成都市华为赛门铁克科技有限公司 独立磁盘冗余阵列系统及其数据恢复方法
CN106648469A (zh) * 2016-12-29 2017-05-10 华为技术有限公司 一种缓存数据处理方法、装置和存储控制器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3702231B2 (ja) * 2002-01-31 2005-10-05 株式会社東芝 ディスクアレイ装置及び同装置における動的記憶容量拡張方法
US7302522B2 (en) * 2004-12-27 2007-11-27 Lsi Corporation Optimizing I/O performance in a RAID subsystem using an adaptive maximum request size for a logical drive
US20060294300A1 (en) * 2005-06-22 2006-12-28 Seagate Technology Llc Atomic cache transactions in a distributed storage system
CN101685380A (zh) * 2008-09-27 2010-03-31 佛山市顺德区顺达电脑厂有限公司 磁盘阵列重组方法
US8656131B2 (en) * 2008-10-31 2014-02-18 Dot Hill Systems Corporation Method and apparatus for expanding a virtual storage device
JP2010282281A (ja) * 2009-06-02 2010-12-16 Hitachi Ltd ディスクアレイ装置、及びその制御方法、並びにプログラム
CN102819408B (zh) * 2012-08-24 2016-01-06 记忆科技(深圳)有限公司 可动态调整条带深度的raid 0的实现方法及系统
WO2015034388A1 (en) * 2013-09-09 2015-03-12 Emc Corporation Resource provisioning based on logical profiles and objective functions
US20150199152A1 (en) * 2014-01-16 2015-07-16 Avalanche Technology, Inc. Method of managing redundant array of independent disks (raid) groups in a solid state disk array
CN105760254B (zh) * 2016-01-27 2019-08-06 四川效率源信息安全技术股份有限公司 一种基于raid1e的数据恢复方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840360A (zh) * 2009-10-28 2010-09-22 创新科存储技术有限公司 Raid系统的快速重建方法及装置
CN102043685A (zh) * 2010-12-31 2011-05-04 成都市华为赛门铁克科技有限公司 独立磁盘冗余阵列系统及其数据恢复方法
CN106648469A (zh) * 2016-12-29 2017-05-10 华为技术有限公司 一种缓存数据处理方法、装置和存储控制器

Also Published As

Publication number Publication date
EP3553664A1 (en) 2019-10-16
US11385828B2 (en) 2022-07-12
US20200117386A1 (en) 2020-04-16
EP3553664B1 (en) 2022-07-27
EP3553664A4 (en) 2020-04-29
WO2019084917A1 (zh) 2019-05-09
CN109196458A (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
CN107870730B (zh) 用于管理存储系统的方法和系统
CN104932953B (zh) 一种数据分发方法、数据存储方法、相关装置以及系统
US10210045B1 (en) Reducing concurrency bottlenecks while rebuilding a failed drive in a data storage system
US9910748B2 (en) Rebuilding process for storage array
US10082965B1 (en) Intelligent sparing of flash drives in data storage systems
CN104657405B (zh) 用于归档数据的基于优先级的可靠性机制的方法和系统
US10289336B1 (en) Relocating data from an end of life storage drive based on storage drive loads in a data storage system using mapped RAID (redundant array of independent disks) technology
CN109196458B (zh) 存储系统可用容量计算方法及装置
CN109725831B (zh) 管理存储系统的方法、系统和计算机可读介质
CN101827121A (zh) 在raid中创建文件的方法、服务端和系统
US11797387B2 (en) RAID stripe allocation based on memory device health
CN111552436B (zh) 存储系统中数据恢复方法、系统及装置
CN111124264B (zh) 用于重建数据的方法、设备和计算机程序产品
CN107203442B (zh) 独立磁盘冗余阵列的重建性能的评估方法和设备
US10324794B2 (en) Method for storage management and storage device
CN110413454B (zh) 基于存储阵列的数据重建方法、装置及存储介质
JP2021503115A (ja) Raidのリビルドを強化するための機械学習を利用した方法、コンピュータ・プログラムおよびコンピュータ・システム
US20170083244A1 (en) Mitigating the impact of a single point of failure in an object store
CN108874314A (zh) 一种独立冗余磁盘阵列的重构方法及装置
CN116339644B (zh) 一种独立磁盘冗余阵列创建方法、装置、设备及介质
CN117193672A (zh) 存储设备的数据处理方法及装置、存储介质及电子设备
EP3889785B1 (en) Stripe reconstruction method in storage system and striping server
CN104216660A (zh) 提高磁盘阵列性能的方法及装置
US11860746B2 (en) Resilient data storage system with efficient space management
US9858147B2 (en) Storage apparatus and method of controlling storage apparatus

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