【技术实现步骤摘要】
一种磁盘阵列的扩容方法、装置、存储系统及产品
[0001]本申请涉及数据存储
,特别是涉及一种磁盘阵列的扩容方法
、
装置
、
存储系统及产品
。
技术介绍
[0002]RAID
(
Redundant Array of Independent Disk
,独立磁盘冗余阵列)是一种虚拟化技术,它将多个独立的物理磁盘按照不同的方式组合成一个虚拟磁盘组
。
从而解决单个磁盘容量小
、
性能低
、
可靠性差的缺点
。RAID
利用条带技术将主机请求的数据按照一定的拓扑分割成多个子
IO
(
Input/Output 读数据
、
写数据请求)划分到不同的磁盘上,在存取数据时,阵列中的相关磁盘一起动作,大幅提升数据的访问速度及操盘空间的利用率
。
[0003]用户使用存储设备时需要在
RAID
阵列上创建卷作为块设备,提供给前端主机进行读写操作,当卷的存储空间不足导致无法存储更多数据时,需要对卷进行扩容,如果扩容卷所在的
RAID
阵列有空闲的可用空间,则可以直接从
RAID
阵列上分配可用空间进行扩容
。
但是,当
RAID
阵列中没有空闲的可用空间时,就需要增加硬盘先对
RAID
进行扩容,然后再对卷进行扩容
。
[0004] ...
【技术保护点】
【技术特征摘要】
1.
一种磁盘阵列的扩容方法,其特征在于,包括:按照阵列分块大小,将新增硬盘空间划分为多个新增数据分块,将所述多个新增数据分块添加到磁盘阵列;所述阵列分块大小为创建所述磁盘阵列时指定的数据分块大小;将所有新增数据分块标记为未扩容,保持所述磁盘阵列中原有的数据分块及校验分块的空间分布不变;当向未扩容的数据分块首次写入数据时,基于待写入数据生成满分块数据并写入所述未扩容的数据分块,更新所述数据分块所属条带的校验数据;所述满分块数据占用的空间大小与所述阵列分块大小一致;当未扩容的数据分块首次被写入满分块数据后,将所述数据分块标记为完成扩容
。2.
根据权利要求1所述的磁盘阵列的扩容方法,其特征在于,还包括:根据所述磁盘阵列中新增数据分块,初始化扩容位图;所述扩容位图用于记录所述磁盘阵列是否完成扩容;当未扩容的数据分块被首次写入满分块数据后,根据所述数据分块在所述磁盘阵列中的位置,更新所述扩容位图
。3.
根据权利要求1所述的磁盘阵列的扩容方法,其特征在于,将所述多个新增数据分块添加到磁盘阵列,包括:以硬盘为单位,将每个新增数据分块分别添加到所述磁盘阵列中每个条带的末尾,使每个条带中包含每个硬盘的一个数据分块
。4.
根据权利要求1所述的磁盘阵列的扩容方法,其特征在于,基于待写入数据生成满分块数据,包括:获取待写入数据占用的空间大小及所述阵列分块大小;使用全零数据对所述待写入数据进行补足,生成满分块数据
。5.
根据权利要求1所述的磁盘阵列的扩容方法,其特征在于,基于待写入数据生成满分块数据,包括:按照阵列分块大小,在所述磁盘阵列的内存中新建一块全零内存区域,并存储全零数据;根据所述阵列分块大小,从所述全零内存区域中取出全零数据对所述待写入数据进行补足,使所述待写入数据占用的空间大小与所述阵列分块大小一致
。6.
根据权利要求4或5所述的磁盘阵列的扩容方法,其特征在于,基于待写入数据生成满分块数据,还包括:当所述待写入数据的大小等于所述阵列分块大小时,将所述待写入数据作为所述满分块数据;当所述待写入数据占用的空间大小大于所述阵列分块大小时,根据所述阵列分块大小,将所述待写入数据进行分割;对分割得到的每部分数据分别生成一个满分块数据,并写入不同的未扩容的数据分块
。7.
根据权利要求2所述的磁盘阵列的扩容方法,其特征在于,根据所述磁盘阵列中新增数据分块,初始化扩容位图,包括:创建扩容位图,并根据所述新增数据分块记录条带编号及条带标识,其中,条带编号与
条带标识一一对应,所述条带编号指示条带的位置,所述条带标识由分块标识组成;所述分块标识包括未扩容状态及完成扩容状态,用于指示所述条带中新增数据分块是否完成扩容;在初始化所述扩容位图时,将所有分块标识设置为未扩容状态
。8.
根据权利要求7所述的磁盘阵列的扩容方法,其特征在于,根据所述数据分块在所述磁盘阵列中的位置,更新所述扩容位图,包括:获取所述数据分块所在条带的条带编号;确定所述数据分块在所述条带中的位置;根据所述条带编号从所述扩容位图中确定对应的条带标识,根据所述数据分块在所述条带中的位置,将对应的位置字符设置为完成扩容状态
。9.
根据权利要求2所述的磁盘阵列的扩容方法,其特征在于,还包括:当接收到写数据请求时,判断所述写数据请求...
【专利技术属性】
技术研发人员:夏方健,朱红玉,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。