CN111078124B - 一种raid卷组卷方法、系统、装置及可读存储介质 - Google Patents

一种raid卷组卷方法、系统、装置及可读存储介质 Download PDF

Info

Publication number
CN111078124B
CN111078124B CN201811222522.0A CN201811222522A CN111078124B CN 111078124 B CN111078124 B CN 111078124B CN 201811222522 A CN201811222522 A CN 201811222522A CN 111078124 B CN111078124 B CN 111078124B
Authority
CN
China
Prior art keywords
target
size
raid volume
data
volume
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
CN201811222522.0A
Other languages
English (en)
Other versions
CN111078124A (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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201811222522.0A priority Critical patent/CN111078124B/zh
Publication of CN111078124A publication Critical patent/CN111078124A/zh
Application granted granted Critical
Publication of CN111078124B publication Critical patent/CN111078124B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种RAID卷组卷方法,区别于使用预先设定好大小的作为最小单元的数据块来组建RAID卷的方法,本申请不再使用固定大小的数据块来组建RAID卷,而是在确定待存储数据的实际大小后再根据构建RAID卷的物理磁盘个数动态的决定作为每个最小单元的数据块的大小,此种基于对象的数据块大小确定方式和基于此的RAID卷组建方法,可最低以4K(SSD的最小数据存储单位)为最小单位进行高精度的存储和组卷,且使得动态调整每个RAID卷的大小成为可能,尽可能的提升了磁盘的空间利用率,有利于降本增效。本申请还同时公开了一种RAID卷组卷系统、装置及计算机可读存储介质,具有上述有益效果。

Description

一种RAID卷组卷方法、系统、装置及可读存储介质
技术领域
本申请涉及逻辑卷组卷技术领域,特别涉及一种RAID卷组卷方法、系统、装置及计算机可读存储介质。
背景技术
为了存储信息化时代成爆炸式增长的数据量,以及为存储的数据提供更好的保护和冗余性能,RAID技术逐渐被广泛使用。
RAID,Redundant Arrays of Independent Drives,中文名为磁盘阵列。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生的加成效果提升整个磁盘系统的效能。RAID0模式是RAID技术中使用较为广泛的一种方式。
RAID0模式下,会将一个完整的数据文件分成多个数据分片并分别存储在不同的物理磁盘中,此种方式是一种最简单的增加存储容量的方式,这样也能够使多个进程在不同的物理磁盘中访问一份完整数据的多个不同部分,能够在进行顺序访问时获得最大程度上的I/O并行能力,从而获得非常好的性能。为了提升此模式下的数据冗余能力,还可以采用纠删码(Erasure Coding,EC)技术为拆分出的各数据分片提供错误修复能力。
RAID0模式下,在每个物理磁盘的上层是在逻辑层面划分出的逻辑卷(也称RAID卷),目前存储RAID卷的组建方式主要基于以下两种模式:
第一种:以整个物理磁盘作为最小单元来组建,即若干个物理磁盘组成一个RAID卷,以卷为单元独立使用物理磁盘的磁盘资源;第二种:以数据块作为最小单元来组建,先把物理磁盘的存储空间划分为等份的数据块,然后若干数据块组成一个RAID子卷,上层再将若干RAID子卷组成一个完整的RAID卷。虽然第二种以数据块作为组卷的最小单元的方式已经可以做到让多个RAID共享一块物理硬盘资源,但仍无法做到硬盘资源的充分利用。
根本原因是,不管上述哪种组卷方式,其构成卷的最小单元都是预先划分好的,但在复杂实际应用场景下,待存储的数据的大小不可能永远正好是最小单元的整数倍或特定数倍,这样就会使得一些物理磁盘上永远存在剩余但又无法用于存储数据的空间,在磁盘数量较大、阵列规模较大情况下空间浪费现象会造成不必要成本的增加。
一个实例可参见图1所示的示意图,图中分别有20GB大小的逻辑卷1和30GB大小的逻辑卷2这两个RAID卷,其采用的方式为10GB大小的数据块为最小单位,此时可以看出,逻辑卷1分别从两个物理磁盘中各占用10GB组成这个逻辑卷,但在构成逻辑卷2时,由于30GB不是20GB的整倍数,导致虽然逻辑卷2的要求大小为30GB,但其仍然会占用每个物理磁盘中的两个10GB大小的数据块,使得总占用容量达到40GB。但对于逻辑卷2来说,其最多只能承接来自上层的30GB数据,因此对于下层的两个物理磁盘来说,各自有5GB空间实际上无法被用来存储数据,相同道理,在逻辑卷释放一部分存储空间时也有可能会存在相同的问题,使得空间利用率无法达到预期。
因此,如何克服现有技术中以预设设定的固定最小单元来组建RAID卷时存储的空间浪费、空间利用率无法达到预期的问题,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种RAID卷组卷方法,区别于使用预先设定好大小的作为最小单元的数据块来组建RAID卷的方法,本申请不再使用固定大小的数据块来组建RAID卷,而是在确定待存储数据的实际大小后再根据构建RAID卷的物理磁盘个数动态的决定作为每个最小单元的数据块的大小,此种基于对象的数据块大小确定方式和基于此的RAID卷组建方法,可最低以4K(SSD的最小数据存储单位)为最小单位进行高精度的存储和组卷,且使得动态调整每个RAID卷的大小成为可能,尽可能的提升了磁盘的空间利用率,有利于降本增效。
本申请的另一目的在于提供了一种RAID卷组卷系统、装置及计算机可读存储介质。
为实现上述目的,本申请提供一种RAID卷组卷方法,该RAID卷组卷方法包括:
根据下发的新数据写入任务确定完整的待存储数据的实际大小;
根据所述实际大小和目标物理磁盘的数量计算每个数据块的大小,得到目标大小;
利用各所述目标物理磁盘中大小均为所述目标大小的数据块组建目标RAID卷。
可选的,该RAID卷组卷方法还包括:
利用纠删码技术从与所述目标物理磁盘数量一致的各数据分片中计算得到预设数量的校验块;
将各所述校验块分别存储在区别于所述目标物理磁盘的校验物理磁盘。
可选的,利用各所述目标物理磁盘中大小均为所述目标大小的数据块组建目标RAID卷,包括:
利用各所述目标磁盘中大小均为所述目标大小的数据块和各所述校验物理磁盘中的校验块组建所述目标RAID卷。
可选的,该RAID卷组卷方法还包括:
当所述目标RAID卷的存储空间被调整时,根据接收到的调整指令计算总空间调整大小;
根据所述总空间调整大小和各所述目标物理磁盘的数量计算得到数据块调整大小;
根据所述数据块调整大小对每个所述目标物理磁盘中构成所述目标RAID卷的数据块的大小进行调整,得到调整后RAID卷。
为实现上述目的,本申请还提供了一种RAID卷组卷系统,该RAID卷系统包括:
实际大小确定单元,用于根据下发的新数据写入任务确定完整的待存储数据的实际大小;
数据块大小按对象确定单元,用于根据所述实际大小和目标物理磁盘的数量计算每个数据块的大小,得到目标大小;
目标RAID卷组建单元,用于利用各所述目标物理磁盘中大小均为所述目标大小的数据块组建目标RAID卷。
可选的,该RAID卷组卷系统还包括:
校验块计算单元,用于利用纠删码技术从与所述目标物理磁盘数量一致的各数据分片中计算得到预设数量的校验块;
校验块存储单元,用于将各所述校验块分别存储在区别于所述目标物理磁盘的校验物理磁盘。
可选的,所述目标RAID卷组建单元包括:
纠删RAID卷组建子单元,用于利用各所述目标磁盘中大小均为所述目标大小的数据块和各所述校验物理磁盘中的校验块组建所述目标RAID卷。
可选的,该RAID卷组卷系统还包括:
总空间调整大小计算单元,用于当所述目标RAID卷的存储空间被调整时,根据接收到的调整指令计算得到总空间调整大小;
数据块调整大小计算单元,用于根据所述总空间调整大小和各所述目标物理磁盘的数量计算得到数据块调整大小;
数据块调整单元,用于根据所述数据块调整大小对每个所述目标物理磁盘中构成所述目标RAID卷的数据块的大小进行调整,得到调整后RAID卷。
为实现上述目的,本申请还提供了一种RAID卷组卷装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述内容所描述的RAID卷组卷方法的步骤。
为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的RAID卷组卷方法的步骤。
显然,本申请所提供的一种RAID卷组卷方法,区别于使用预先设定好大小的作为最小单元的数据块来组建RAID卷的方法,本申请不再使用固定大小的数据块来组建RAID卷,而是在确定待存储数据的实际大小后再根据构建RAID卷的物理磁盘个数动态的决定作为每个最小单元的数据块的大小,此种基于对象的数据块大小确定方式和基于此的RAID卷组建方法,可最低以4K(SSD的最小数据存储单位)为最小单位进行高精度的存储和组卷,且使得动态调整每个RAID卷的大小成为可能,尽可能的提升了磁盘的空间利用率,有利于降本增效。本申请同时还提供了一种RAID卷组卷系统、装置及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有基于固定大小数据块的RAID卷组卷示意图;
图2为本申请实施例提供的一种RAID卷组卷方法的流程图;
图3为本申请实施例提供的一种基于对象的RAID卷组卷示意图;
图4为本申请实施例提供的一种RAID技术的整体逻辑示意图;
图5为本申请实施例提供的另一种RAID卷组卷方法的流程图;
图6为本申请实施例提供的一种在上述RAID卷组卷方法基础上对RAID卷大小进行调整的流程图;
图7为与图6所示的对RAID卷大小进行调整的示意图;
图8为本申请实施例提供的一个具体的RAID组卷示例的示意图;
图9为在图8所示示例基础上进行1MB空间回收的对比示意图;
图10为本申请实施例提供的一种RAID卷组卷系统的结构框图。
具体实施方式
本申请的核心是提供一种RAID卷组卷方法、系统、装置及计算机可读存储介质,区别于使用预先设定好大小的作为最小单元的数据块来组建RAID卷的方法,本申请不再使用固定大小的数据块来组建RAID卷,而是在确定待存储数据的实际大小后再根据构建RAID卷的物理磁盘个数动态的决定作为每个最小单元的数据块的大小,此种基于对象的数据块大小确定方式和基于此的RAID卷组建方法,可最低以4K(SSD的最小数据存储单位)为最小单位进行高精度的存储和组卷,且使得动态调整每个RAID卷的大小成为可能,尽可能的提升了磁盘的空间利用率,有利于降本增效。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
实施例一
以下结合图2,图2为本申请实施例提供的一种RAID卷组卷方法的流程图,其具体包括以下步骤:
S101:根据下发的新数据写入任务确定完整的待存储数据的实际大小;
本步骤旨在根据下发的新数据写入任务确定完整的待存储数据的实际大小,负责下发新数据写入任务的通常是上层的应用,应用根据用户的操作从目标地址下获取到待存储数据,一个10GB的待存储数据的实际大小就是10GB。本步骤的目的在于确定对象的大小,此处所指的对象就是待存储数据,该待存储数据可以表现为多种不同的对象表现形式。
S102:根据实际大小和目标物理磁盘的数量计算每个数据块的大小,得到目标大小;
在S101的基础上,本步骤旨在根据确定得到的完整的待存储数据的实际大小和目标物理磁盘的数量综合计算得到位于每个物理磁盘中的数据块的大小,本步骤将计算得到的数据块的大小称为目标大小。其中,目标物理磁盘是将用于组建目标RAID卷的底层物理磁盘,根据预设的组卷要求,可自定义构成目标RAID卷的目标物理磁盘的数量,比如4分片文件会将一个完整的待存储数据分成四个相同大小的数据块,并使用4个不同的物理磁盘分别存储一个数据块,以实现将该待存储数据使用RAID0模式存储于磁盘整列中,目标RAID卷就将由这四个物理磁盘中用于存储该数据块的存储空间共同形成。
因此,本步骤实际上是做一个除法运算,将实际大小作为被除数,除以目标物理磁盘的数量,得到作为目标大小的商,以此实现将该待存储数据以目标物理磁盘数均分为数据块,每个目标物理磁盘也相应需要提供能够存储该目标大小的数据块的存储空间用于存储各数据块。从本步骤就可以看出,本申请在确定待存储数据的大小后才确定每个用于组建目标RAID卷的每个目标物理磁盘上用于存储数据块的大小,这样针对每个不同大小的待存储文件将在每个物理磁盘上形成大小不同的存储单元,而非预先就将每个物理磁盘划分为固定大小的数据块用于存储固定大小的数据,能够有效减少因采用固定划分方式带来的低空间利用率,减低硬盘购置成本。
S103:利用各目标物理磁盘中大小均为目标大小的数据块组建目标RAID卷。
在S102的基础上,本步骤旨在利用各目标物理磁盘中大小均为目标大小的数据块组建目标RAID卷,可参见图3所示的示意图,区别与图1所示的基于固定数据块组建一个30GB大小的RAID1的方式,基于本实施例提供的技术方案的图3将直接在物理磁盘1和2中分别使用一个15GB的存储单元来组建RAID1,不会像图1所示方式造成存储空间的浪费,可有效提升磁盘的空间利用率。
在RAID0模式下,上述方案仅从原理上提供了一种拥有更高磁盘空间率的RAID卷组卷方法,仅描述了如何将一个完整的待存储数据进行存储,为了提升RAID0模式下存储的数据冗余度不足的缺陷,还可以进一步在上述方案的基础上加入纠删码技术,纠删码技术主要是通过纠删码算法将原始的数据进行编码得到冗余,并将数据和冗余一并存储起来,以达到容错的目的。其基本思想是将n块原始的数据元素通过一定的计算,得到m块冗余元素(校验块)。对于这n+m块的元素,当其中任意的m块元素出错(包括原始数据和冗余数据)时,均可以通过对应的重构算法恢复出原来的n块数据。生成校验的过程被成为编码(encoding),恢复丢失数据块的过程被称为解码(decoding)。磁盘利用率为n/(n+m)。基于纠删码的方法与多副本方法相比具有冗余度低、磁盘利用率高等优点。
可将加入纠删码技术进行组卷得到的RAID卷称为纠删RAID卷,区别于未加入纠删码技术组建得到的RAID卷,其多了分别位于m块物理磁盘上用于存储校验块的m个存储单元。后续将给出一种加入了纠删码技术的纠删RAID卷组卷方法。
根据上述内容给出的基于对象的RAID卷组卷方案,使得每个组建得到的RAID卷完全按需使用物理磁盘的磁盘资源,同时也使得动态的进行RAID卷容量调整成为可能,因为相当于调整了对象的大小,假设一个原先为30GB的RAID卷需要被调整为20GB,也就是有10GB的存储空间需要被原先来自的物理磁盘中释放掉,使得在由两个物理磁盘组建得到该RAID卷时,组建该RAID卷每个物理磁盘需要提供的存储空间从15GB更改为10GB,由于基于对象的RAID卷组卷方案可灵活调整每个存储单元的大小,因此释放出的部分存储空间还可以重新被利用,以实现存储空间的动态回收,而不再一定要以固定的数据块为单位执行空间回收操作。具体的,当物理磁盘为SSD(固态硬盘)时,基于对象的RAID卷组卷方案可最低以4K为存储单元,以实现完全按需使用。
还可以参见图4所示的基于本申请提供的技术方案构建得到的完整框架图,图4中所示的逻辑磁盘和虚拟卷间的关系类似RAID卷和RAID子卷间的关系,需要说明的是,不管是虚拟卷、逻辑磁盘、RAID卷、RAID子卷都是将物理磁盘提供的磁盘资源在逻辑层面进行再划分得到的虚拟磁盘,重点为虚拟,不论在何种应用场景下使用何种不同的名称进行称呼本领域都应明白其在含以上并无本质差别的事实。图4所示,一个逻辑磁盘由多个虚拟卷组成,每个虚拟卷有若干个文件组成,而每个文件被存储在不同的主机上的特定SSD中。
基于上述技术方案,本申请实施例提供的一种RAID卷组卷方法,区别于使用预先设定好大小的作为最小单元的数据块来组建RAID卷的方法,本申请不再使用固定大小的数据块来组建RAID卷,而是在确定待存储数据的实际大小后再根据构建RAID卷的物理磁盘个数动态的决定作为每个最小单元的数据块的大小,此种基于对象的数据块大小确定方式和基于此的RAID卷组建方法,可最低以4K(SSD的最小数据存储单位)为最小单位进行高精度的存储和组卷,且使得动态调整每个RAID卷的大小成为可能,尽可能的提升了磁盘的空间利用率,有利于降本增效。
实施例二
以下结合图5,图5为本申请实施例提供的另一种RAID卷组卷方法的流程图,区别于实施例一,本实施例通过S203和S204加入了纠删码技术,并在S205中同时利用数据块和校验块同时组建得到纠删RAID卷,具体实施步骤如下:
S201:根据下发的新数据写入任务确定完整的待存储数据的实际大小;
S202:根据实际大小和目标物理磁盘的数量计算每个数据块的大小,得到目标大小;
S203:利用纠删码技术从与目标物理磁盘数量一致的各数据分片中计算得到预设数量的校验块;
其中,纠删算法是从构成完整待存储文件的所有数据分片中计算得到的预设数量的校验块,校验块的数量可灵活设定,4+2纠删策略是一种将每个完整的待存储数据分为4个数据块,并计算得到2个校验块的策略,其总共存在6个数据块(4+2),此种方式下可容忍任意2个数据块的丢失或损坏,但任意一个数据块丢失或损坏,需要通过网络读取4个数据块才能进行恢复。
S204:将各校验块分别存储在区别于目标物理磁盘的校验物理磁盘;
在S203的基础上,本步骤将各校验块分别存储在区别于目标物理磁盘的校验物理磁盘,以便后续组建目标RAID卷。
S205:利用各目标磁盘中大小均为目标大小的数据块和各校验物理磁盘中的校验块组建目标RAID卷。
为了利用纠删码技术带来的数据冗余度和恢复能力,组建一个纠删RAID卷需要利用各目标磁盘中大小均为目标大小的数据块和各校验物理磁盘中的校验块。
实施例三
以下结合图6,图6为本申请实施例提供的一种在上述RAID卷组卷方法基础上对RAID卷大小进行调整的流程图,本实施例提供的技术可基于上述任一实施例,具体步骤如下:
S301:当目标RAID卷的存储空间被调整时,根据接收到的调整指令计算总空间调整大小;
为了方便理解,举例如下,一个RAID卷需要从原先的30GB调整至20GB,根据计算公式:30GB-20GB=10GB,计算得到总空间调整大小10GB。
S302:根据总空间调整大小和各目标物理磁盘的数量计算得到数据块调整大小;
假定构成该RAID卷的目标物理磁盘的数量为2,则分别根据计算公式:10GB/2=5GB,计算得到数据块调整大小为5GB,由于是空间释放或空间缩小,则该5GB代表的是在原有存储单元的大小上进行减法运算。
S303:根据数据块调整大小对每个目标物理磁盘中构成目标RAID卷的数据块的大小进行调整,得到调整后RAID卷。
根据计算公式:15GB-5GB=10GB,将每个目标物理磁盘中构成目标RAID卷的数据块的大小从15GB调整至10GB,最终得到调整后容量为20GB的调整后RAID卷。
这一过程可参见如图7所示的示意图,图7所示的示意图还将释放出的10GB提供给一个新建的RAID3组卷使用,其中,实线代表提供,虚线代表释放。
实施例四
为加深对本申请提供的技术方案的了解,本实施例将结合具体应用场景对上述技术方案进行介绍:
1、物理盘的管理不再采用固定大小的划分方式来进行,而是引入对象为粒度的管理方式(例如以一个文件为对象)。可以以文件的方式提供给上层进行使用(包括但不限于使用文件系统,如XFS等日志文件系统),利用文件自身支持精简与回收的特性实现空间的按需使用和动态回收;
2、若干文件可以组成一个虚拟的RAID卷,如4+2模式的EC卷(纠删卷),可以由6个文件来组成,每个文件对于上层应用而言,等同于传统模式下的磁盘设备;
3、当需要提供大容量卷时,可以用多个虚拟的RAID卷拼接成一个大卷来提供;由于是基于文件来组卷,每个文件空间消耗可以按4K粒度来管理,所以每个RAID卷的实际利用率也可以做到4K级别,不会存在因预留空间而引发的浪费问题;同时因文件支持回收特性,上层虚拟卷需要回收时可以通过对底层文件的回收来进行,完成后其他虚拟卷就可以使用相应资源;
以下将整体方案分为磁盘管理和RAID组卷实现逻辑两部分分别介绍:
1、磁盘管理
将磁盘空间按4K粒度进行管理,可以采用现成文件系统进行格式化,如EXT3、EXT4(Extended filesystem,扩展文件系统,一种日志文件系统)等;
2、RAID组卷实现逻辑:
2.1新建流程:当新建虚拟RAID卷时,根据RAID模式,在底层创建相应的文件。以条带宽度为4,条带深度为128KB,大小为16GB的RAID 0虚拟卷为例。系统将创建4个文件,每个文件将分布在4块不同的物理硬盘上(请对应参考图7);
2.2读写流程:按写入的逻辑偏移与长度进行映射转换,如图8,若上层下发一个1MB的写请求时,将按照128KB的逻辑偏移地址进行映射转换,生成相应子请求,然后将子请求写入在相应的文件中;
2.3空间回收:将空间回收请求按偏移与长度进行拆分,生成相应子请求,然后在相应的文件执行回收的操作;例如,请参见图9,上层下发回收位于100MB到101MB共1MB的空间,此时系统将按偏移地址进行解析,生成相应的删除子请求,然后通过文件的精简和回收特性,将空间进行释放。
通过应用本实施例提供的技术方案,区别现有技术存在如下优点:
(1)支持以逻辑卷为单位进行RAID配置,根据业务需要灵活管理不同数据;(2)支持以最小粒度为4KB进行管理,支持空间的回收,可以最大话磁盘资源的利用率。
因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
下面请参见图10,图10为本申请实施例提供的一种RAID卷组卷系统的结构框图,该RAID卷组卷系统可以包括:
实际大小确定单元100,用于根据下发的新数据写入任务确定完整的待存储数据的实际大小;
数据块大小按对象确定单元200,用于根据实际大小和目标物理磁盘的数量计算每个数据块的大小,得到目标大小;
目标RAID卷组建单元300,用于利用各目标物理磁盘中大小均为目标大小的数据块组建目标RAID卷。
进一步的,该RAID卷组卷系统还可以包括:
校验块计算单元,用于利用纠删码技术从与目标物理磁盘数量一致的各数据分片中计算得到预设数量的校验块;
校验块存储单元,用于将各校验块分别存储在区别于目标物理磁盘的校验物理磁盘。
其中,目标RAID卷组建单元300可以包括:
纠删RAID卷组建子单元,用于利用各目标磁盘中大小均为目标大小的数据块和各校验物理磁盘中的校验块组建目标RAID卷。
更进一步的,该RAID卷组卷系统还可以包括:
总空间调整大小计算单元,用于当目标RAID卷的存储空间被调整时,根据接收到的调整指令计算得到总空间调整大小;
数据块调整大小计算单元,用于根据总空间调整大小和各目标物理磁盘的数量计算得到数据块调整大小;
数据块调整单元,用于根据数据块调整大小对每个目标物理磁盘中构成目标RAID卷的数据块的大小进行调整,得到调整后RAID卷。
基于上述实施例,本申请还提供了一种RAID卷组卷装置,该装置可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然,该装置还可以包括各种必要的网络接口、电源以及其它零部件等。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,且各个实施例间为递进关系,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,可参见对应的方法部分说明。以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (8)

1.一种RAID卷组卷方法,其特征在于,所述RAID卷组卷方法包括:
根据下发的新数据写入任务确定完整的待存储数据的实际大小;
根据所述实际大小和目标物理磁盘的数量计算每个数据块的大小,得到目标大小;
利用各所述目标物理磁盘中大小均为所述目标大小的数据块组建目标RAID卷;
其中,所述RAID卷组卷方法,还包括:
当所述目标RAID卷的存储空间被调整时,根据接收到的调整指令计算总空间调整大小;
根据所述总空间调整大小和各所述目标物理磁盘的数量计算得到数据块调整大小;
根据所述数据块调整大小对每个所述目标物理磁盘中构成所述目标RAID卷的数据块的大小进行调整,得到调整后RAID卷;
其中,所述根据所述数据块调整大小对每个所述目标物理磁盘中构成所述目标RAID卷的数据块的大小进行调整,包括:
利用文件回收机制释放各所述目标物理磁盘对应的数据文件中的所述数据块调整大小的空间,以根据所述数据块调整大小对每个所述目标物理磁盘中构成所述目标RAID卷的数据块的大小进行调整,得到调整后RAID卷。
2.根据权利要求1所述的RAID卷组卷方法,其特征在于,还包括:
利用纠删码技术从与所述目标物理磁盘数量一致的各数据分片中计算得到预设数量的校验块;
将各所述校验块分别存储在区别于所述目标物理磁盘的校验物理磁盘。
3.根据权利要求2所述的RAID卷组卷方法,其特征在于,利用各所述目标物理磁盘中大小均为所述目标大小的数据块组建目标RAID卷,包括:
利用各所述目标物理磁盘中大小均为所述目标大小的数据块和各所述校验物理磁盘中的校验块组建所述目标RAID卷。
4.一种RAID卷组卷系统,其特征在于,所述RAID卷组卷系统包括:
实际大小确定单元,用于根据下发的新数据写入任务确定完整的待存储数据的实际大小;
数据块大小按对象确定单元,用于根据所述实际大小和目标物理磁盘的数量计算每个数据块的大小,得到目标大小;
目标RAID卷组建单元,用于利用各所述目标物理磁盘中大小均为所述目标大小的数据块组建目标RAID卷;
其中,所述RAID卷组卷系统,还包括:
总空间调整大小计算单元,用于当所述目标RAID卷的存储空间被调整时,根据接收到的调整指令计算得到总空间调整大小;
数据块调整大小计算单元,用于根据所述总空间调整大小和各所述目标物理磁盘的数量计算得到数据块调整大小;
数据块调整单元,用于根据所述数据块调整大小对每个所述目标物理磁盘中构成所述目标RAID卷的数据块的大小进行调整,得到调整后RAID卷;
其中,所述数据块调整单元,具体用于利用文件回收机制释放各所述目标物理磁盘对应的数据文件中的所述数据块调整大小的空间,以根据所述数据块调整大小对每个所述目标物理磁盘中构成所述目标RAID卷的数据块的大小进行调整,得到调整后RAID卷。
5.根据权利要求4所述的RAID卷组卷系统,其特征在于,还包括:
校验块计算单元,用于利用纠删码技术从与所述目标物理磁盘数量一致的各数据分片中计算得到预设数量的校验块;
校验块存储单元,用于将各所述校验块分别存储在区别于所述目标物理磁盘的校验物理磁盘。
6.根据权利要求5所述的RAID卷组卷系统,其特征在于,所述目标RAID卷组建单元包括:
纠删RAID卷组建子单元,用于利用各所述目标物理磁盘中大小均为所述目标大小的数据块和各所述校验物理磁盘中的校验块组建所述目标RAID卷。
7.一种RAID卷组卷装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至3任一项所述的RAID卷组卷方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的RAID卷组卷方法的步骤。
CN201811222522.0A 2018-10-19 2018-10-19 一种raid卷组卷方法、系统、装置及可读存储介质 Active CN111078124B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811222522.0A CN111078124B (zh) 2018-10-19 2018-10-19 一种raid卷组卷方法、系统、装置及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811222522.0A CN111078124B (zh) 2018-10-19 2018-10-19 一种raid卷组卷方法、系统、装置及可读存储介质

Publications (2)

Publication Number Publication Date
CN111078124A CN111078124A (zh) 2020-04-28
CN111078124B true CN111078124B (zh) 2024-05-28

Family

ID=70308459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811222522.0A Active CN111078124B (zh) 2018-10-19 2018-10-19 一种raid卷组卷方法、系统、装置及可读存储介质

Country Status (1)

Country Link
CN (1) CN111078124B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114415982B (zh) * 2022-03-30 2022-06-07 苏州浪潮智能科技有限公司 一种数据存储方法、装置、设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073464A (zh) * 2011-01-14 2011-05-25 南开大学 一种按需分配增量卷的创建方法
CN104317742A (zh) * 2014-11-17 2015-01-28 浪潮电子信息产业股份有限公司 一种优化空间管理的自动精简配置方法
CN104461914A (zh) * 2014-11-10 2015-03-25 浪潮电子信息产业股份有限公司 一种自动精简配置的自适应优化方法
CN106951182A (zh) * 2017-02-24 2017-07-14 深圳市中博睿存信息技术有限公司 一种块设备缓存方法和装置
CN107122131A (zh) * 2017-04-18 2017-09-01 杭州宏杉科技股份有限公司 自动精简配置的方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102334093B (zh) * 2009-03-18 2017-08-01 株式会社日立制作所 存储控制装置以及虚拟卷的控制方法
JP6477025B2 (ja) * 2015-03-03 2019-03-06 富士通株式会社 ストレージ制御装置、制御方法、および制御プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073464A (zh) * 2011-01-14 2011-05-25 南开大学 一种按需分配增量卷的创建方法
CN104461914A (zh) * 2014-11-10 2015-03-25 浪潮电子信息产业股份有限公司 一种自动精简配置的自适应优化方法
CN104317742A (zh) * 2014-11-17 2015-01-28 浪潮电子信息产业股份有限公司 一种优化空间管理的自动精简配置方法
CN106951182A (zh) * 2017-02-24 2017-07-14 深圳市中博睿存信息技术有限公司 一种块设备缓存方法和装置
CN107122131A (zh) * 2017-04-18 2017-09-01 杭州宏杉科技股份有限公司 自动精简配置的方法及装置

Also Published As

Publication number Publication date
CN111078124A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN111158587B (zh) 基于存储池虚拟化管理的分布式存储系统及数据读写方法
US10210045B1 (en) Reducing concurrency bottlenecks while rebuilding a failed drive in a data storage system
JP5112003B2 (ja) ストレージ装置及びこれを用いたデータ格納方法
US9417806B2 (en) File processing method and apparatus, and storage device
CN102405460B (zh) 虚拟存储系统及其运行方法
US10852966B1 (en) System and method for creating mapped RAID group during expansion of extent pool
CN101587425B (zh) 一种增加独立磁盘冗余阵列冗余性的方法及装置
US10691354B1 (en) Method and system of disk access pattern selection for content based storage RAID system
US20200125286A1 (en) Fragment Management Method and Fragment Management Apparatus
US20100306466A1 (en) Method for improving disk availability and disk array controller
JP6798007B2 (ja) ストレージシステム、コンピュータ読み取り可能な記録媒体、システムの制御方法
US20220027239A1 (en) Storage system
EP3404527B1 (en) Data updating technique
WO2016107167A1 (zh) 存储架构的创建方法、存储访问方法和存储系统
CN105988727B (zh) 一种基于raid的存储方法和存储装置
KR20160033643A (ko) 지능형 데이터 배치
US11379326B2 (en) Data access method, apparatus and computer program product
CN103049220A (zh) 存储控制方法、存储控制装置和固态存储系统
WO2020019267A1 (zh) 一种数据处理方法及装置
WO2015018061A1 (zh) 一种文件处理方法及存储设备
US10409682B1 (en) Distributed RAID system
CN111090394A (zh) 一种基于卷级别raid的磁阵管理方法及装置
CN106844229B (zh) 固态硬盘固件映射表的组织方法、系统及装置
CN111078124B (zh) 一种raid卷组卷方法、系统、装置及可读存储介质
EP4170499A1 (en) Data storage method, storage system, storage device, and storage medium

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