存储系统可用容量计算方法及装置与流程

文档序号:16595810发布日期:2019-01-14 19:37阅读:661来源:国知局
存储系统可用容量计算方法及装置与流程

本发明涉及信息技术领域,尤其涉及一种存储系统可用容量计算方法及装置。



背景技术:

存储系统包含大量的硬盘,实际应用中,存储系统中的硬盘容量各异。现有技术为解决存储系统中硬盘容量不统一的问题,将所有硬盘的容量都折算为存储系统中容量最小的硬盘的容量从而获得存储系统的可用容量。例如,存储系统中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:判断是否满足其中cdgi=cdi*ni;当t=1时,lorigy等于lcuy;当t不为1时,lcuy等于t表示当前可用硬盘组序列的最小值;

当满足并且t=1,执行步骤2a;

当满足并且t大于1并且不大于g时,执行步骤2b;

当不满足并且t不大于g时,执行步骤2c;

步骤2a:计算候选的分条长度为lorigy的分条对应的存储系统的可用容量为

其中,v为分条中数据条带的数量;

步骤2b:计算候选的分条长度为lorigy的分条对应的存储系统的可用容量为

步骤2c:将t+1作为新的t,执行步骤a,t不大于g。根据v分条中数据条带的数量,确定每一种分条配置存储系统中能够有效存储数据条带的可用容量,从而充分利用存储系统存储用户数据,提高存储系统硬盘容量的利用率。

结合本申请第一方面或第一方面的第一至三种任一可能实现方式,在第五种可能实现方式中,管理设备计算候选的分条长度为lorigy的分条对应的存储系统的可用容量,具体包括:管理设备从t=1开始执行步骤a:判断是否满足其中cdgi=cdi*ni;当t=1时,lorigy等于lcuy;当t不为1时,lcuy等于t表示当前可用硬盘组序列的最小值;

当满足并且t=1,执行步骤2a;

当满足并且t大于1并且不大于g时,执行步骤2b;

当不满足并且t不大于g时,执行步骤2c;

步骤2a:计算候选的分条长度为lorigy的分条对应的存储系统的可用容量为

步骤2b:计算候选的分条长度为lorigy的分条对应的存储系统的可用容量为

步骤2c:将t+1作为新的t,执行步骤a,t不大于g。

结合本申请第一方面的第四种可能实现方式或第五种可能实现方式,在第六种可能实现方式中,存储系统还包括热备盘,热备盘容量为pc,热备盘的可用容量为

在获得存储系统最大的可用容量的同时,获得存储系统热备盘可用容量。

本申请也适用于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,其中ly取值为可有效配置的分条长度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所示,本发明实施例中的存储系统,可以为存储阵列(如18000系列,v3系列),分布式文件存储系统(如9000系列),分布式块存储系统(如系列)等。本发明实施例以存储阵列为例,存储阵列包括存储控制器101和多块硬盘,其中,硬盘包含固态硬盘(solidstatedisk,ssd)、机械硬盘或者混合硬盘等。机械硬盘如hdd(harddiskdrive)。

如图2所示,控制器101包含中央处理单元(centralprocessingunit,cpu)201、存储器202和接口203,存储器202中存储计算机指令,cpu201执行存储器202中的计算机指令对存储系统进行管理及数据访问操作。另外,为节省cpu201的计算资源,现场可编程门阵列(fieldprogrammablegatearray,fpga)或其他硬件也可以用于执行本发明实施例中cpu201全部操作,或者,fpga或其他硬件与cpu201分别用于执行本发明实施例cpu的部分操作。为方便描述,本发明实施例统一用处理器来指cpu201和存储器202的组合,以及上述各种实现,处理器与接口203通信。

存储系统为提高可靠性,防止数据丢失,在存储数据的时候,通常会使用分条的形式存储数据,即在多个存储器上(例如多块磁盘或者多个存储介质上)上并行写入多个条带。

分条,通常指存储数据的时候,并行写入多个存储器的多个条带的集合。条带,也称为分条单元,分条由条带组成。分条长度,通常指一个分条包含的条带的数量。一个分条包含的条带的类型和数量可以由分条算法决定,分条算法可以为纠删码(erasurecoding,ec)或多副本算法等。例如,存储系统使用ec算法,则构成一个分条的条带需要分布在不同的硬盘上。一个分条包含m个数据条带(数据条带指包含源数据的条带)和n个校验条带(检验条带指包含校验数据的条带),分条长度为m+n,其中m和n均为整数,则需要(m+n)块硬盘存储分条中的条带。具体的,例如ec算法为独立硬盘冗余阵列(redundantarrayofindependentdisks,raid)算法,例如raid5算法组成的ec分条,校验条带的数量为1,raid5算法组成的ec分条的分条长度为m+1;raid6算法组成的ec分条,校验条带的数量为2,raid6算法组成的ec分条的分条长度为m+2。还例如,存储系统使用多副本方式算法获得分条,在使用多副本构成的分条中,条带的数量等于副本数量。例如3副本算法,即一个分条中包含3份相同的数据条带,3份相同的数据条带分别存储在3块硬盘上,此种情况下,分条长度为3。在使用多副本算法的分条中,可以将其中1份副本作为数据条带,其他副本作为校验条带,因此多副本算法的分条中,数据条带的数量为1。源数据也称为用户写入数据,包含元数据。相同的分条算法可以有不同的分条长度,例如,ec算法中的raid6算法,可以有不同长度的分条;多副本算法也可以有不同的副本数量。

热备盘是存储系统中发生硬盘故障造成数据损失,使用分条算法进行数据恢复时,存储恢复出来的数据的硬盘。

存储系统的可用容量是指存储系统除热备盘外可以用于存储数据的硬盘容量。存储系统设计中一般采用数据可靠性优先的原则。在使用分条算法保护的存储系统中,由于可靠性约束,可能导致存储系统中硬盘容量无法全部用来存储数据,不同分条长度配置下的存储系统的可用容量存在最大值。本发明实施例根据存储系统硬盘容量、硬盘数量以及分条算法,计算每种分条长度对应的存储系统的可用容量,进而得到存储系统可用容量最大值对应的分条长度作为最优的分条长度。

本发明实施例以存储系统包含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。

本发明实施例中,为计算每一个可有效配置的分条长度对应的存储容量的值,从而确定所述存储系统的可用容量中的最大值对应的分条长度,本发明实施例以下称每一个可有效配置的分条长度为候选的分条长度。本发明实施例提供一种存储系统的可用容量的计算算法,可以根据存储系统可用硬盘的数量确定使用相同分条算法的情况下,采用不同的候选的分条长度时能够获得的存储系统的可用容量,例如使用raid6算法的不同候选的分条长度时获得的可用容量。由于获得了不同的可用容量值,因此可以确定出最大的存储系统可用容量所对应的分条长度,并根据所确定出的分条长度配置存储系统,从而提高存储系统硬盘容量的利用率。

本发明实施例一种应用场景如图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:判断是否满足其中cdgi=cdi*ni;当t=1时,lorigy等于lcuy;当t不为1时,lcuy等于t表示当前可用硬盘组序列的最小值;t意味着当cdi*lcuy不满足上述条件时,则从可用硬盘组序列从小到大的顺序中选择下一个可用硬盘组作为当前可用硬盘组序列的最小值;

当满足并且t=1(记为y&t=1),则执行步骤702a;

当满足并且t大于1并且不大于g时(记为y&1<t≤g),则执行步骤702b;

当不满足并且t不大于g时(记为n&t≤g),执行步骤702c;

步骤702a:计算候选的分条长度为lorigy的分条对应的存储系统的可用容量为其中,v为分条中数据条带的数量;由ec算法生成的长度为m+n的分条中,v=m;在由多副本算法生成的分条中,v=1。根据v分条中数据条带的数量,确定每一种分条配置存储系统中能够有效存储数据条带的容量,从而充分利用存储系统存储用户数据,提高存储系统硬盘容量的利用率。

步骤702b:计算候选的分条长度为lorigy的分条对应的存储系统的可用容量为

步骤702c:将t+1作为新的t,执行步骤701,t不大于g。

在步骤702a中,存储系统中的热备盘可用容量为pc,在步骤702b中,存储系统中热备盘可用容量为存储系统中热备盘可用容量是指存储系统中热备盘可以用于存储分条恢复出来的数据的硬盘容量。

另一种实现方式,步骤602,如图8所示,具体包括:

步骤801:判断是否满足其中cdgi=cdi*ni;当t=1时,lorigy等于lcuy;当t不为1时,lcuy等于t表示当前可用硬盘组序列的最小值;t意味着当cdi*lcuy不满足上述条件时,则从可用硬盘组序列从小到大的顺序中选择下一个可用硬盘组作为当前可用硬盘组序列的最小值;

当满足并且t=1(记为y&t=1),则执行步骤802a;

当满足并且t大于1并且不大于g时(记为y&1<t≤g),则执行步骤802b;

当不满足并且t不大于g时(记为n&t≤g),执行步骤802c;

步骤802a:计算候选的分条长度为lorigy的分条对应的存储系统的可用容量

步骤802b:计算候选的分条长度为lorigy的分条对应的存储系统的可用容量

步骤802c:将t+1作为新的t,执行步骤801,t不大于g。

在步骤802a中,存储系统中的热备盘可用容量为pc,在步骤802b中,存储系统中热备盘可用容量为存储系统中热备盘可用容量是指存储系统中热备盘可以用于存储分条恢复出来的数据的硬盘容量。

在图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&lt;(900gb*3+1.8tb*5+3.6tb*6),执行步骤702a,在候选的分条长度为5时,v=3,可用容量

热备盘可用容量为7200gb。

2)计算候选的分条长度为6的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,cd1*lcu6=3.6tb*6&lt;(900gb*3+1.8tb*5+3.6tb*6),执行步骤702a,在候选的分条长度为6时,v=4,可用容量热备盘可用容量为7200gb。

3)计算候选的分条长度为7的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,cd1*lcu7=3.6tb*7&lt;(900gb*3+1.8tb*5+3.6tb*6),执行步骤702a,在候选的分条长度为7时,v=5,可用容量热备盘可用容量为7200gb。

4)计算候选的分条长度为8的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,cd1*lcu8=3.6tb*8&lt;(900gb*3+1.8tb*5+3.6tb*6),执行步骤702a,在候选的分条长度为8时,v=6,可用容量热备盘可用容量为7200gb。

5)计算候选的分条长度为9的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,cd1*lcu9=3.6tb*9&lt;(900gb*3+1.8tb*5+3.6tb*6),执行步骤702a,在候选的分条长度为9时,v=7,可用容量热备盘可用容量为7200gb。

6)计算候选的分条长度为10的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,cd1*lcu10=3.6tb*10&gt;(900gb*3+1.8tb*5+3.6tb*6),执行步骤702c,将t+1作为新的t,即新的t=2,当前可用硬盘组序列的最小值为2,执行步骤701,cd2*lcu4=1.8tb*4&lt;(900gb*3+1.8tb*5),则执行步骤702b。在候选的分条长度为10时,v=8,

热备盘可用容量为

7)计算候选的分条长度为11的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,cd1*lcu11=3.6tb*11&gt;(900gb*3+1.8tb*5+3.6tb*6),执行步骤702c,将t+1作为新的t,即新的t=2,当前可用硬盘组序列的最小值为2,执行步骤701,cd2*lcu5=1.8tb*5&lt;(900gb*3+1.8tb*5),则执行步骤702b。在候选的分条长度为11时,v=9,

热备盘可用容量为

8)计算候选的分条长度为12的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,cd1*lcu12=3.6tb*12&gt;(900gb*3+1.8tb*5+3.6tb*6),执行步骤702c,将t+1作为新的t,即新的t=2,当前可用硬盘组序列的最小值为2,执行步骤701,cd2*lcu6=1.8tb*6&lt;(900gb*3+1.8tb*5),则执行步骤702b。在候选的分条长度为12时,v=10,

热备盘可用容量为

9)计算候选的分条长度为13的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,cd1*lcu13=3.6tb*13&gt;(900gb*3+1.8tb*5+3.6tb*6),执行步骤702c,将t+1作为新的t,即新的t=2,当前可用硬盘组序列的最小值为2,执行步骤701,cd2*lcu7=1.8tb*7&gt;(900gb*3+1.8tb*5),则执行步骤702c,将t+1作为新的t,即新的t=3,当前可用硬盘组序列的最小值为3,执行步骤701,cd3*lcu2=900gb*2&lt;900gb*3,执行步骤702b。在候选的分条长度为13时,v=11,

850gb,热备盘可用容量为

10)计算候选的分条长度为14的存储系统的可用容量:t表示当前可用硬盘组序列的最小值,t的初始值为1,cd1*lcu14=3.6tb*14&gt;(900gb*3+1.8tb*5+3.6tb*6),执行步骤702c,将t+1作为新的t,即新的t=2,当前可用硬盘组序列的最小值为2,执行步骤701,cd2*lcu8=1.8tb*8&gt;(900gb*3+1.8tb*5),则执行步骤702c,将t+1作为新的t,即新的t=3,当前可用硬盘组序列的最小值为3,执行步骤701,cd3*lcu3=900gb*3=900gb*3,执行步骤702b。在候选的分条长度为14时,v=12,

热备盘可用容量为

根据图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和多副本作为分条算法。

在本发明所提供的几个实施例中,应该理解到,所公开的装置、方法,可以通过其它的方式实现。例如,以上所描述的装置实施例所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例各方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1