一种磁盘阵列的扩容方法技术

技术编号:39804585 阅读:17 留言:0更新日期:2023-12-22 02:36
本申请涉及数据存储技术领域,公开了一种磁盘阵列的扩容方法

【技术实现步骤摘要】
一种磁盘阵列的扩容方法、装置、存储系统及产品


[0001]本申请涉及数据存储
,特别是涉及一种磁盘阵列的扩容方法

装置

存储系统及产品


技术介绍

[0002]RAID

Redundant Array of Independent Disk
,独立磁盘冗余阵列)是一种虚拟化技术,它将多个独立的物理磁盘按照不同的方式组合成一个虚拟磁盘组

从而解决单个磁盘容量小

性能低

可靠性差的缺点
。RAID
利用条带技术将主机请求的数据按照一定的拓扑分割成多个子
IO

Input/Output 读数据

写数据请求)划分到不同的磁盘上,在存取数据时,阵列中的相关磁盘一起动作,大幅提升数据的访问速度及操盘空间的利用率

[0003]用户使用存储设备时需要在
RAID
阵列上创建卷作为块设备,提供给前端主机进行读写操作,当卷的存储空间不足导致无法存储更多数据时,需要对卷进行扩容,如果扩容卷所在的
RAID
阵列有空闲的可用空间,则可以直接从
RAID
阵列上分配可用空间进行扩容

但是,当
RAID
阵列中没有空闲的可用空间时,就需要增加硬盘先对
RAID
进行扩容,然后再对卷进行扩容

[0004]在对磁盘阵列进行扩容时,磁盘阵列会根据当前的硬盘数量对存储空间进行重新分配,在此过程中磁盘阵列中的数据分块及校验分块的位置发生变化,因此需要对磁盘中存储的数据进行迁移,即将数据从原来的数据分块中读到内存中,再将数据从内存写入新的数据分块

大量的数据迁移操作会严重占用系统带宽,降低存储系统对于前台主机业务
IO

Input/Output
,读取

写入请求)的处理性能,影响用户业务的正常进行


技术实现思路

[0005]有鉴于此,本申请旨在提出一种磁盘阵列的扩容方法

装置

存储系统及产品,以解决磁盘阵列扩容期间产生大量的数据迁移,导致存储系统处理前台主机业务
IO
的性能严重降低的问题

[0006]为达到上述目的,本申请的技术方案如下:本申请实施例第一方面提供磁盘阵列的扩容方法,所述方法包括:按照阵列分块大小,将新增硬盘空间划分为多个新增数据分块,将所述多个新增数据分块添加到磁盘阵列;所述阵列分块大小为创建所述磁盘阵列时指定的数据分块大小;将所有新增数据分块标记为未扩容,保持所述磁盘阵列中原有的数据分块及校验分块的空间分布不变;当向未扩容的数据分块首次写入数据时,基于待写入数据生成满分块数据并写入所述未扩容的数据分块,更新所述数据分块所属条带的校验数据;所述满分块数据占用的空间大小与所述阵列分块大小一致;当未扩容的数据分块首次被写入满分块数据后,将所述数据分块标记为完成扩


[0007]可选地,所述磁盘阵列的扩容方法还包括:根据所述磁盘阵列中新增数据分块,初始化扩容位图;所述扩容位图用于记录所述磁盘阵列是否完成扩容;当未扩容的数据分块被首次写入满分块数据后,根据所述数据分块在所述磁盘阵列中的位置,更新所述扩容位图

[0008]可选地,将所述多个新增数据分块添加到磁盘阵列,包括:以硬盘为单位,将每个新增数据分块分别添加到所述磁盘阵列中每个条带的末尾,使每个条带中包含每个硬盘的一个数据分块

[0009]可选地,基于待写入数据生成满分块数据,包括:获取待写入数据占用的空间大小及所述阵列分块大小;使用全零数据对所述待写入数据进行补足,生成满分块数据

[0010]可选地,基于待写入数据生成满分块数据,包括:按照阵列分块大小,在所述磁盘阵列的内存中新建一块全零内存区域,并存储全零数据;根据所述阵列分块大小,从所述全零内存区域中取出全零数据对所述待写入数据进行补足,使所述待写入数据占用的空间大小与所述阵列分块大小一致

[0011]可选地,基于待写入数据生成满分块数据,还包括:当所述待写入数据的大小等于所述阵列分块大小时,将所述待写入数据作为所述满分块数据;当所述待写入数据占用的空间大小大于所述阵列分块大小时,根据所述阵列分块大小,将所述待写入数据进行分割;对分割得到的每部分数据分别生成一个满分块数据,并写入不同的未扩容的数据分块

[0012]可选地,根据所述磁盘阵列中新增数据分块,初始化扩容位图,包括:创建扩容位图,并根据所述新增数据分块记录条带编号及条带标识,其中,条带编号与条带标识一一对应,所述条带编号指示条带的位置,所述条带标识由分块标识组成;所述分块标识包括未扩容状态及完成扩容状态,用于指示所述条带中新增数据分块是否完成扩容;在初始化所述扩容位图时,将所有分块标识设置为未扩容状态

[0013]可选地,根据所述数据分块在所述磁盘阵列中的位置,更新所述扩容位图,包括:获取所述数据分块所在条带的条带编号;确定所述数据分块在所述条带中的位置;根据所述条带编号从所述扩容位图中确定对应的条带标识,根据所述数据分块在所述条带中的位置,将对应的位置字符设置为完成扩容状态

[0014]可选地,所述磁盘阵列的扩容方法还包括:当接收到写数据请求时,判断所述写数据请求操作的区域是否为新增数据分块;若所述写数据请求操作的区域不是新增数据分块,则将数据直接写入所述区域;若所述写数据请求操作的区域是新增数据分块,则查询所述扩容位图判断所述数
据分块是否完成扩容;若所述数据分块完成扩容,则将数据直接写入所述区域

[0015]可选地,所述磁盘阵列的扩容方法还包括:当接收到读数据请求时,判断所述读数据请求操作的区域是否为新增数据分块;若所述读数据请求操作的区域不是新增数据分块,则直接读取所述区域的数据;若所述读数据请求操作的区域是新增数据分块,则查询所述扩容位图判断所述数据分块是否完成扩容;若所述数据分块已经完成扩容,则直接读取所述数据分块的数据;若所述数据分块未扩容,则不读取所述数据分块并直接返回全零数据

[0016]可选地,将初始化完成的扩容位图存储在非易失内存中;当所述扩容位图中所有分块标识均为完成扩容状态时,删除所述扩容位图,并释放内存

[0017]可选地,所述磁盘阵列为带有校验分块的磁盘阵列

[0018]根据本申请实施例的第二方面,提供一种磁盘阵列的扩容装置,实现如本申请实施例第一方面所述的方法,所述装置包括:添加模块,被配置为按照阵列分块大小,将新增硬盘空间划分为多个新增数据分块,将所述多个新增数据分块添加到磁盘阵列;所述阵列分块大小为创建所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种磁盘阵列的扩容方法,其特征在于,包括:按照阵列分块大小,将新增硬盘空间划分为多个新增数据分块,将所述多个新增数据分块添加到磁盘阵列;所述阵列分块大小为创建所述磁盘阵列时指定的数据分块大小;将所有新增数据分块标记为未扩容,保持所述磁盘阵列中原有的数据分块及校验分块的空间分布不变;当向未扩容的数据分块首次写入数据时,基于待写入数据生成满分块数据并写入所述未扩容的数据分块,更新所述数据分块所属条带的校验数据;所述满分块数据占用的空间大小与所述阵列分块大小一致;当未扩容的数据分块首次被写入满分块数据后,将所述数据分块标记为完成扩容
。2.
根据权利要求1所述的磁盘阵列的扩容方法,其特征在于,还包括:根据所述磁盘阵列中新增数据分块,初始化扩容位图;所述扩容位图用于记录所述磁盘阵列是否完成扩容;当未扩容的数据分块被首次写入满分块数据后,根据所述数据分块在所述磁盘阵列中的位置,更新所述扩容位图
。3.
根据权利要求1所述的磁盘阵列的扩容方法,其特征在于,将所述多个新增数据分块添加到磁盘阵列,包括:以硬盘为单位,将每个新增数据分块分别添加到所述磁盘阵列中每个条带的末尾,使每个条带中包含每个硬盘的一个数据分块
。4.
根据权利要求1所述的磁盘阵列的扩容方法,其特征在于,基于待写入数据生成满分块数据,包括:获取待写入数据占用的空间大小及所述阵列分块大小;使用全零数据对所述待写入数据进行补足,生成满分块数据
。5.
根据权利要求1所述的磁盘阵列的扩容方法,其特征在于,基于待写入数据生成满分块数据,包括:按照阵列分块大小,在所述磁盘阵列的内存中新建一块全零内存区域,并存储全零数据;根据所述阵列分块大小,从所述全零内存区域中取出全零数据对所述待写入数据进行补足,使所述待写入数据占用的空间大小与所述阵列分块大小一致
。6.
根据权利要求4或5所述的磁盘阵列的扩容方法,其特征在于,基于待写入数据生成满分块数据,还包括:当所述待写入数据的大小等于所述阵列分块大小时,将所述待写入数据作为所述满分块数据;当所述待写入数据占用的空间大小大于所述阵列分块大小时,根据所述阵列分块大小,将所述待写入数据进行分割;对分割得到的每部分数据分别生成一个满分块数据,并写入不同的未扩容的数据分块
。7.
根据权利要求2所述的磁盘阵列的扩容方法,其特征在于,根据所述磁盘阵列中新增数据分块,初始化扩容位图,包括:创建扩容位图,并根据所述新增数据分块记录条带编号及条带标识,其中,条带编号与
条带标识一一对应,所述条带编号指示条带的位置,所述条带标识由分块标识组成;所述分块标识包括未扩容状态及完成扩容状态,用于指示所述条带中新增数据分块是否完成扩容;在初始化所述扩容位图时,将所有分块标识设置为未扩容状态
。8.
根据权利要求7所述的磁盘阵列的扩容方法,其特征在于,根据所述数据分块在所述磁盘阵列中的位置,更新所述扩容位图,包括:获取所述数据分块所在条带的条带编号;确定所述数据分块在所述条带中的位置;根据所述条带编号从所述扩容位图中确定对应的条带标识,根据所述数据分块在所述条带中的位置,将对应的位置字符设置为完成扩容状态
。9.
根据权利要求2所述的磁盘阵列的扩容方法,其特征在于,还包括:当接收到写数据请求时,判断所述写数据请求...

【专利技术属性】
技术研发人员:夏方健朱红玉
申请(专利权)人:苏州元脑智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1