一种基于卷级别RAID的磁阵管理方法及装置与流程

文档序号:20598746发布日期:2020-05-01 21:26阅读:237来源:国知局
一种基于卷级别RAID的磁阵管理方法及装置与流程

本发明属于电子技术领域,更具体地,涉及一种基于卷级别raid的磁阵管理方法、装置及存储介质。



背景技术:

随着存储技术的发展,磁盘数量越来越多,应用和系统对存储的可靠性、性能、容量等的要求越来越高,尤其是针对分布式存储磁阵,单盘的故障产生的故障域扩大。传统磁盘阵列(redundantarraysofindependentdrives,raid)技术,以整块磁盘为单位做的raid,通过数据条带、副本技术和数据校验技术,实现数据在磁阵上的分布。

业界最早提出了第一代raid1.0技术,通过数据条带化将数据打散分布在多个磁盘上,通过副本冗余实现磁盘的故障恢复。raid1.0实现了多种不同的raid,每种raid都具有不同的特性,比方说raid10能够实现更高的可靠性和故障恢复,但是磁盘的空间利用率较低,raid5利用率较高,但是故障可靠性相对raid10低。但是raid1.0针对整个磁阵,只能设置成一种raid,并且无法修改raid类型。

针对raid1.0的缺陷,业界存储公司纷纷提出了自己的新一代raid,即raid2.0。raid2.0在raid1.0的基础上,实现了分层raid,在原有的物理磁盘基础上,建立一层逻辑资源池,再在逻辑资源池内建立raid。相对于传统的raid,raid2.0将数据打散在所有磁盘上,由于是全盘参与数据读写,因此提升了数据的读写效率,并且raid2.0支持针对不同卷可以设置不同raid类型,满足了用户的不同读写需求。但是raid2.0也存在缺陷,由于打散数据分布在所有磁盘上,数据块和物理磁盘上没有确定的对应关系,因此有可能会存在同一个卷的两个副本落在同一块磁盘上,因此降低了可靠性。

以传统的raid技术中的raid1为例说明,如图1所示,disk0和disk1配置了raid1模式,两块磁盘互为镜像盘,一份数据要在两块盘上写两次,读取数据时也可以选择两块盘中的任意一块读取,其中一个盘故障时,另外一个盘可以继续支持数据的读写。配置了raid1后,所有创建在这组磁盘上的卷,都会遵照这个raid1的规则进行数据的写入和读取。同理,raid0、raid01、raid2、raid3、raid4、raid5等,都符合这个规律,就是一旦磁盘的设置了磁盘阵列的raid模式,所有的数据都会遵从这个固定的raid模式规则进行数据读写,并且不能再进行raid模式的更改了,除非重新对磁盘进行格式化。



技术实现要素:

针对现有技术的至少一个缺陷或改进需求,本发明提供了一种基于卷级别raid的磁阵管理方法、装置及存储介质,可以基于分区设置raid,在保证每个卷的raid功能的同时,实现了更灵活的raid策略。

为实现上述目的,按照本发明的第一方面,提供了一种基于卷级别raid的磁阵管理方法,包括:

接收创建卷请求,所述创建卷请求包含卷容量参数、raid类型参数和分布磁盘个数参数;

根据所述创建卷请求确定可用于创建卷的磁盘,并在每个确定的磁盘上划分分区,每个确定的磁盘上的所述分区组成了新创建卷;

根据所述raid类型参数为所述新创建卷设置读写策略。

在一个实施例中,根据所述创建卷请求确定用于创建卷的磁盘具体是:

根据所述卷容量参数、raid类型参数和分布磁盘个数参数计算每个磁盘分区的所需容量,根据所需容量来确定可用于创建卷的磁盘。

在一个实施例中,磁阵管理方法包括:

接收对指定卷的扩容请求;

确定组成该指定卷的所有分区,根据所述扩容请求对指定卷的所有分区进行扩容。

在一个实施例中,磁阵管理方法包括:

接收对指定卷的删除请求;

确定组成该指定卷的所有分区,对指定卷的所有分区进行格式化并释放存储空间。

在一个实施例中,磁阵管理方法可以为磁阵上创建的不同卷设定不同的raid类型参数。

按照本发明的第二方面,提供了一种基于卷级别raid的磁阵管理装置,包括:

接收模块,用来接收创建卷请求,所述创建卷请求包含了卷容量参数、raid类型参数和分布磁盘个数参数;

创建模块,用来根据所述创建卷请求确定可用于创建卷的磁盘,并在每个确定的磁盘上划分分区,每个确定的磁盘上的所述分区组成了新创建卷;

raid设置模块,用来根据所述raid类型参数为所述新创建卷设置读写策略。

按照本发明的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的磁阵管理方法。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:通过基于分区上建立raid,相对传统固定raid模式,可以实现更灵活的raid策略;更细粒度的raid策略,raid策略设置以分区为单位,粒度更小,而非传统的以磁盘为单位的raid;故障可靠性、读写性能跟传统raid保持一致,理论上不存在功能缺失;新添加不会引起整个磁阵的数据迁移;支持卷的扩容,通过修改分区大小实现,更加快速,并且不会引起数据迁移;卷的删除性能也是通过分区实现,更加快速。

附图说明

图1是现有raid技术原理示意图;

图2是本发明实施例提供的一种基于卷级别raid的磁阵管理方法的原理示意图;

图3是本发明实施例提供的一种基于卷级别raid的磁阵管理方法的流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本专利针对以上问题,提出了一种基于卷级别raid的磁阵管理方法,接收创建卷请求,设定卷容量参数、raid类型参数和分布磁盘个数参数;根据创建卷请求确定可用于创建卷的磁盘,并在每个确定的磁盘上划分分区,每个确定的磁盘上的分区组成了新创建卷;根据raid类型参数为新创建卷设置读写策略。本发明的这种全新的磁盘raid技术,支持卷级别raid,可以以新建卷为对象,针对每个新建的卷设置不同的raid模式,不再以磁盘为单位设置整个磁阵的固定raid,同时能保证每个卷仍然具有设置的raid模式功能。

本发明实施例的一种基于卷级别raid的磁阵管理方法,当磁阵收到一个创建卷请求,磁阵会根据创建卷请求中的卷容量大小参数、raid类型参数和分布磁盘个数,确定可用于创建卷的磁盘,在每个确定的磁盘上为这个卷划分一个分区,每个磁盘上的分区组成了新创建卷;以分区为单位,建立多个分区之间的raid组关系,同时,每个分区又来自于不同的物理磁盘,就保证了分区上的raid组的可靠性以及读写性能与传统raid相同。

在一个实施例中,根据卷容量参数、raid类型参数和分布磁盘个数参数计算每个磁盘分区的所需容量,根据所需容量来确定可用于创建卷的磁盘。

结合图2说明本发明的一种基于卷级别raid的磁阵管理方法。当创建一个卷时,指定分布磁盘个数参数为4,磁阵会确定符合条件的4块硬盘,会在每个硬盘上创建一个分区,4块硬盘上的4个分区,组成了这个卷。可以为不同的卷设置不同的raid。图中共创建了3个卷,volume0设置了raid10,volume1设置了raid4,volume2设置了raid5。

当一块磁盘disk3发生故障时,这个磁盘上的所有分区也会故障,而组成每个卷的分区,由于跟磁盘是一一对应关系,因此具体一个卷的可靠性跟这个卷的raid级别有关。volume0由于是raid10,因此这个卷允许一个分区故障,也就是允许一个磁盘故障,但是raid10会导致卷空间使用率只有实际占用空间的一半,但是读写性能是普通盘的两倍;volume1是raid4,有一块校验盘,当校验盘disk3发生故障时,volume1仍能提供服务,但是由于有一块校验盘缘故,空间使用率只有实际占用空间大小的3/4;volume2是raid5,同raid4一样,支持一个块盘故障,并且空间使用率是3/4,但是没有专门的校验盘,校验数据分布在不同分区上。

在一个实施例中,当磁阵收到给一个卷进行扩容请求时,磁阵会找到组成这个卷的所有分区,并且对每一个分区进行扩容,从而达到扩容卷空间的效果。

在一个实施例中,当磁阵收到对一个卷删除的请求时,磁阵同样会找到组成这个卷的所有分区,将这些分区格式化,并删除分区,释放卷空间。

在一个实施例中,当磁阵中添加新的物理硬盘时,已经存在的卷,并不会因为新加入磁盘而发生数据迁移,新加入的盘会被用来接受新的创建请求,而不会影响到已有的卷。

本发明实施例的一种基于卷级别raid的磁阵管理方法,如图3所示,包括步骤:

s1,接收创建卷容量大小、raid类型、分布磁盘个数的参数设置;

s2,向磁阵发送创建卷请求;

s3,磁阵根据卷的大小、raid类型、分布磁盘个数,计算出符合要求的规定个数磁盘,并且计算出每个磁盘创建分区的大小;

s4,磁阵根据计算出的分区大小,在每块磁盘上创建相应大小的分区;

s5,磁阵根据卷的raid类型,设置该卷的数据读写策略。传统卷只有一种raid,所有卷使用同一种读写策略,本方案可以给不同的卷设置不同的raid读写策略,磁阵收到读写请求时,会根据不同的卷raid类型,调用不同的读写策略接口。

s6,当有这个卷的数据读写请求时,磁阵会根据这个卷的raid类型,调用相应的数据读写策略,对数据进行读写。

本发明实施例的一种基于卷级别raid的磁阵管理装置,包括:

接收模块,用来接收创建卷请求,创建卷请求包含了卷容量参数、raid类型参数和分布磁盘个数参数;

创建模块,用来根据所述创建卷请求确定可用于创建卷的磁盘,并在每个确定的磁盘上划分分区,每个确定的磁盘上的所述分区组成了新创建卷;

raid设置模块,用来根据所述raid类型参数为新创建卷设置读写策略。

在一个实施例中,创建模块包括确定模块,用来根据所述卷容量参数、raid类型参数和分布磁盘个数参数计算每个磁盘分区的所需容量,根据所需容量来确定可用于创建卷的磁盘。

在一个实施例中,磁阵管理装置包括卷扩容管理模块,用来接收对指定卷的扩容请求,并确定组成该指定卷的所有分区,根据扩容请求对指定卷的所有分区进行扩容。

在一个实施例中,磁阵管理装置包括卷删除管理模块,用来接收对指定卷的删除请求,并确定组成该指定卷的所有分区,对指定卷的所有分区进行格式化并释放存储空间。

本发明通过分区,这个相对磁盘更加细粒度的存储单位,在分区上建立raid,相对传统固定raid模式,实现了更灵活的raid策略,同时,又能保证每个卷的raid级别不降级,读写性能和空间使用率方面跟传统raid一致,具体来说包括以下优点:

1)更灵活的raid策略,而不是传统固定的raid策略,一旦设置就无法更改,除非对磁盘进行格式化;

2)更细粒度的raid策略,raid策略设置以分区为单位,粒度更小,而非传统的以磁盘为单位的raid;

3)故障可靠性、读写性能跟传统raid保持一致,理论上不存在功能缺失;

4)新添加不会引起整个磁阵的数据迁移;

5)支持卷的扩容,通过修改分区大小实现,更加快速,并且不会引起数据迁移;

6)卷的删除性能也是通过分区实现,更加快速。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现上述任一磁阵管理方法实施例的技术方案。其实现原理、技术效果与上述磁阵管理方法类似,此处不再赘述。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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