一种独立磁盘冗余阵列创建方法、装置、设备及介质制造方法及图纸

技术编号:37962703 阅读:23 留言:0更新日期:2023-06-30 09:37
本发明专利技术公开了一种独立磁盘冗余阵列创建方法、装置、设备及介质,应用于存储技术领域,包括:创建存储池,并将多个磁盘添加至存储池;基于存储池创建独立磁盘冗余阵列,得到阵列信息;阵列信息包含数据盘的磁盘数量;当获取到写请求,则从所述存储池确定写请求对应的第一目标独立磁盘冗余阵列;基于所述第一目标独立磁盘冗余阵列的阵列信息以及各磁盘的权重值从所述存储池中筛选出第一目标磁盘数量个磁盘;所述第一目标磁盘数量为所述第一目标独立磁盘冗余阵列对应的数据盘的磁盘数量;将所述写请求携带的写数据写入所述第一目标磁盘数量个磁盘。本发明专利技术解决了独立磁盘冗余阵列使用成本高的问题,能够降低用户的使用成本。能够降低用户的使用成本。能够降低用户的使用成本。

【技术实现步骤摘要】
一种独立磁盘冗余阵列创建方法、装置、设备及介质


[0001]本专利技术涉及存储
,特别涉及一种独立磁盘冗余阵列创建方法、装置、设备及介质。

技术介绍

[0002]RAID(即Redundant Array of Independent Disks,独立磁盘的冗余阵列)是一种存储技术,通过增加校验冗余能力来提高存储性能和可靠性。
[0003]目前,传统RAID阵列要求磁盘容量一致,并且,想要创建多个RAID阵列,多个RAID阵列之间必须使用不同的磁盘组成。这给用户的使用带来诸多限制,提高了用户的使用成本。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种独立磁盘冗余阵列创建方法、装置、设备及介质,能够提升磁盘利用率,降低用户的使用成本。其具体方案如下:第一方面,本专利技术公开了一种独立磁盘冗余阵列创建方法,包括:创建存储池,并将多个磁盘添加至所述存储池;其中,每个磁盘均对应一个与自身容量成正比的权重值;基于所述存储池创建独立磁盘冗余阵列,得到阵列信息;所述阵列信息包含数据盘的磁盘数量;当获取到写请求,则从所述存储池确定所述写请求对应的第一目标独立磁盘冗余阵列;基于所述第一目标独立磁盘冗余阵列的阵列信息以及各磁盘的权重值从所述存储池中筛选出第一目标磁盘数量个磁盘;所述第一目标磁盘数量为所述第一目标独立磁盘冗余阵列对应的数据盘的磁盘数量;将所述写请求携带的写数据写入所述第一目标磁盘数量个磁盘。
[0005]可选的,所述基于所述第一目标独立磁盘冗余阵列的阵列信息以及各磁盘的权重值从所述存储池中筛选出第一目标磁盘数量个磁盘,包括:基于所述第一目标独立磁盘冗余阵列的阵列信息以及各磁盘的权重值,并按照预设规则从所述存储池中筛选出第一目标磁盘数量个磁盘;其中,所述预设规则为磁盘的权重值越大,磁盘被选中的概率越大。
[0006]可选的,所述阵列信息还包括阵列标识;相应的,所述方法还包括:从所述写请求中解析出阵列标识;相应的,所述从所述存储池确定所述写请求对应的第一目标独立磁盘冗余阵列,包括:基于该阵列标识从所述存储池确定所述写请求对应的第一目标独立磁盘冗余阵列。
[0007]可选的,基于所述第一目标独立磁盘冗余阵列的阵列信息以及各磁盘的权重值从所述存储池中筛选出第一目标磁盘数量个磁盘;将所述写请求携带的写数据写入所述第一目标磁盘数量个磁盘,包括:从所述第一目标独立磁盘冗余阵列的阵列信息中获取数据盘的磁盘数量,得到第一目标磁盘数量;将所述写请求携带的写数据切分为多个条带,并将每个条带切分为所述第一目标磁盘数量个数据分块;基于所述存储池中各磁盘的权重值从所述存储池中为每个条带筛选出第一目标磁盘数量个磁盘;将每个条带的数据分块写入每个条带对应的所述第一目标磁盘数量个磁盘。
[0008]可选的,还包括:从所述写请求中解析出写数据对应的初始写地址和写数据总长度。
[0009]可选的,所述将所述写请求携带的写数据切分为多个条带,包括:基于所述初始写地址和所述写数据总长度将写数据切分为多个条带,得到每个条带的起始地址和数据长度。
[0010]可选的,所述基于所述存储池中各磁盘的权重值从所述存储池中为每个条带筛选出第一目标磁盘数量个磁盘,包括:基于每个条带的起始地址以及常数计算哈希值;将所述哈希值乘以磁盘的权重值,得到磁盘选取参考值;将所述存储池中所述磁盘选取参考值最大的磁盘选出;增大所述常数,并重复执行所述基于每个条带的起始地址以及常数计算哈希值;将所述哈希值乘以磁盘的权重值,得到磁盘选取参考值;将所述存储池中所述磁盘选取参考值最大的磁盘选出的步骤,直到筛选出第一目标磁盘数量个磁盘。
[0011]可选的,所述基于每个条带的起始地址以及常数计算哈希值,包括:基于每个条带的起始地址、磁盘标识以及常数计算哈希值。
[0012]可选的,所述阵列信息还包括校验盘数量;相应的,所述方法还包括:基于校验盘数量计算每个条带的校验块。
[0013]可选的,还包括:基于各磁盘的权重值从所述存储池中筛选出第一目标独立磁盘冗余阵列的校验盘数量个磁盘,作为校验盘;将所述校验块存入相应的校验盘。
[0014]可选的,所述阵列信息还包括阵列类型信息;相应的,所述方法还包括:基于所述阵列类型信息确定所述第一目标独立磁盘冗余阵列是否包含校验盘以及校验盘数量;若第一目标独立磁盘冗余阵列包含校验盘,则基于校验盘数量计算每个条带的校验块。
[0015]可选的,还包括:当获取到读请求,则从所述存储池确定所述读请求对应的第二目标独立磁盘冗余阵列;
基于所述第二目标独立磁盘冗余阵列的阵列信息以及各磁盘的权重值从所述存储池中筛选出第二目标磁盘数量个磁盘;所述第二目标磁盘数量为所述第二目标独立磁盘冗余阵列对应的数据盘的磁盘数量;从所述第二目标磁盘数量个磁盘中读取数据并拼接,得到读取结果数据。
[0016]可选的,基于所述第二目标独立磁盘冗余阵列的阵列信息以及各磁盘的权重值从所述存储池中筛选出第二目标磁盘数量个磁盘;从所述第二目标磁盘数量个磁盘中读取数据并拼接,得到读取结果数据,包括:从所述第二目标独立磁盘冗余阵列的阵列信息中获取数据盘的磁盘数量,得到第二目标磁盘数量;基于所述写请求计算读数据对应的多个条带;基于所述存储池中各磁盘的权重值从所述存储池中为每个条带筛选出第二目标磁盘数量个磁盘;从每个条带对应的所述第二目标磁盘数量个磁盘中读取数据,并将读取到的数据拼接,得到读取结果数据。
[0017]可选的,所述基于所述写请求计算读数据对应的多个条带,包括:从所述写请求中解析出初始数据读取地址和读数据总长度;基于所述初始数据读取地址和所述读数据总长度计算多个条带,得到每个条带的起始地址和数据长度。
[0018]可选的,所述基于所述存储池中各磁盘的权重值从所述存储池中为每个条带筛选出第二目标磁盘数量个磁盘,包括:基于每个条带的起始地址以及常数计算哈希值;将所述哈希值乘以磁盘的权重值,得到磁盘选取参考值;将所述存储池中磁盘选取参考值最大的磁盘选出;增大所述常数,并重复执行所述基于每个条带的起始地址以及常数计算哈希值;将所述哈希值乘以磁盘的权重值,得到磁盘选取参考值;将所述存储池中磁盘选取参考值最大的磁盘选出的步骤,直到筛选出第二目标磁盘数量个磁盘。
[0019]可选的,还包括:当监测到所述存储池中任意磁盘发生故障,则遍历第三目标独立磁盘冗余阵列中每个条带,基于每个条带的起始地址以及各磁盘的权重值从所述存储池中筛选出磁盘列表;所述磁盘列表包括替换故障磁盘的新磁盘以及条带对应的原正常磁盘;基于原正常磁盘的数据计算新磁盘的数据块,得到恢复数据块,将恢复的数据块写入所述新磁盘。
[0020]可选的,所述遍历第三目标独立磁盘冗余阵列中每个条带,包括:遍历故障磁盘对应的独立磁盘冗余阵列中每个条带;或遍历所述存储池中全部独立磁盘冗余阵列中每个条带。
[0021]第二方面,本专利技术公开了一种独立磁盘冗余阵列创建装置,包括:存储池创建模块,用于创建存储池,并将多个磁盘添加至所述存储池本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种独立磁盘冗余阵列创建方法,其特征在于,包括:创建存储池,并将多个磁盘添加至所述存储池;其中,每个磁盘均对应一个与自身容量成正比的权重值;基于所述存储池创建独立磁盘冗余阵列,得到阵列信息;所述阵列信息包含数据盘的磁盘数量;当获取到写请求,则从所述存储池确定所述写请求对应的第一目标独立磁盘冗余阵列;基于所述第一目标独立磁盘冗余阵列的阵列信息以及各磁盘的权重值从所述存储池中筛选出第一目标磁盘数量个磁盘;所述第一目标磁盘数量为所述第一目标独立磁盘冗余阵列对应的数据盘的磁盘数量;将所述写请求携带的写数据写入所述第一目标磁盘数量个磁盘。2.根据权利要求1所述的独立磁盘冗余阵列创建方法,其特征在于,所述基于所述第一目标独立磁盘冗余阵列的阵列信息以及各磁盘的权重值从所述存储池中筛选出第一目标磁盘数量个磁盘,包括:基于所述第一目标独立磁盘冗余阵列的阵列信息以及各磁盘的权重值,并按照预设规则从所述存储池中筛选出第一目标磁盘数量个磁盘;其中,所述预设规则为磁盘的权重值越大,磁盘被选中的概率越大。3.根据权利要求1所述的独立磁盘冗余阵列创建方法,其特征在于,所述阵列信息还包括阵列标识;相应的,所述方法还包括:从所述写请求中解析出阵列标识;相应的,所述从所述存储池确定所述写请求对应的第一目标独立磁盘冗余阵列,包括:基于该阵列标识从所述存储池确定所述写请求对应的第一目标独立磁盘冗余阵列。4.根据权利要求1所述的独立磁盘冗余阵列创建方法,其特征在于,基于所述第一目标独立磁盘冗余阵列的阵列信息以及各磁盘的权重值从所述存储池中筛选出第一目标磁盘数量个磁盘;将所述写请求携带的写数据写入所述第一目标磁盘数量个磁盘,包括:从所述第一目标独立磁盘冗余阵列的阵列信息中获取数据盘的磁盘数量,得到第一目标磁盘数量;将所述写请求携带的写数据切分为多个条带,并将每个条带切分为所述第一目标磁盘数量个数据分块;基于所述存储池中各磁盘的权重值从所述存储池中为每个条带筛选出第一目标磁盘数量个磁盘;将每个条带的数据分块写入每个条带对应的所述第一目标磁盘数量个磁盘。5.根据权利要求4所述的独立磁盘冗余阵列创建方法,其特征在于,还包括:从所述写请求中解析出写数据对应的初始写地址和写数据总长度。6.根据权利要求5所述的独立磁盘冗余阵列创建方法,其特征在于,所述将所述写请求携带的写数据切分为多个条带,包括:基于所述初始写地址和所述写数据总长度将写数据切分为多个条带,得到每个条带的起始地址和数据长度。7.根据权利要求6所述的独立磁盘冗余阵列创建方法,其特征在于,所述基于所述存储
池中各磁盘的权重值从所述存储池中为每个条带筛选出第一目标磁盘数量个磁盘,包括:基于每个条带的起始地址以及常数计算哈希值;将所述哈希值乘以磁盘的权重值,得到磁盘选取参考值;将所述存储池中所述磁盘选取参考值最大的磁盘选出;增大所述常数,并重复执行所述基于每个条带的起始地址以及常数计算哈希值;将所述哈希值乘以磁盘的权重值,得到磁盘选取参考值;将所述存储池中所述磁盘选取参考值最大的磁盘选出的步骤,直到筛选出第一目标磁盘数量个磁盘。8.根据权利要求7所述的独立磁盘冗余阵列创建方法,其特征在于,所述基于每个条带的起始地址以及常数计算哈希值,包括:基于每个条带的起始地址、磁盘标识以及常数计算哈希值。9.根据权利要求4所述的独立磁盘冗余阵列创建方法,其特征在于,所述阵列信息还包括校验盘数量;相应的,所述方法还包括:基于校验盘数量计算每个条带的校验块。10.根据权利要求9所述的独立磁盘冗余阵列创建方法,其特征在于,还包括:基于各磁盘的权重值从所述存储池中筛选出第一目标独立磁盘冗余阵列的校验盘数量个磁盘,作为校验盘;将所述校验块存入相应的校验盘。11.根据权利要求4所述的独立磁盘冗余阵列创建方法,其特征在于,所述阵列信息还包括阵列类型信息;相应的,所述方法还包括:基于所述阵列类型信息确定所述第一目标独立磁盘冗余阵列是否包含校验盘以及校验盘数量;若第一目标独立磁盘冗余阵列包含校验盘,则基...

【专利技术属性】
技术研发人员:牛跃王见孙明刚
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1