一种RAID重构方法及装置与流程

文档序号:26719618发布日期:2021-09-22 20:25阅读:来源:国知局

技术特征:
1.一种raid重构方法,其特征在于,应用于raid驱动,所述方法包括:确定目标硬盘;其中,所述目标硬盘用于重构目标raid;遍历所述目标raid所属的文件系统中存储的各个元数据,并在遍历到每个元数据时,确定该元数据对应的目标数据文件是否为有效文件;如果是,根据所述目标raid中未被移出的初始硬盘中所存储的指定数据,重构待存储至所述目标硬盘中的目标数据;所述指定数据为:所述目标数据文件对应的数据;如果否,遍历下一元数据,并返回所述在遍历到每个元数据时,确定该元数据对应的目标数据文件是否为有效文件的步骤;将所述目标数据存储至所述目标硬盘中。2.根据权利要求1所述的方法,其特征在于,在所述根据所述目标raid中未被移出的初始硬盘中所存储的指定数据,重构待存储至所述目标硬盘中的目标数据的步骤之前,所述方法还包括:确定用于存储该元数据对应的目标数据文件的写入区域中是否存在数据写入任务;如果不存在,执行所述根据所述目标raid中未被移出的初始硬盘中所存储的指定数据,重构待存储至所述目标硬盘中的目标数据的步骤。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:在遍历完所述各个元数据中的最后一个元数据时,将所述目标raid标记为正常状态。4.根据权利要求1或2所述的方法,其特征在于,所述目标raid中的多个硬盘被设置为一个第一类硬盘和至少一个第二类硬盘,每个所述第二类硬盘用于存储数据文件的部分数据,所述第一类硬盘用于存储数据文件的校验值;所述根据目标raid中未被移出的初始硬盘中所存储的指定数据,重构待存储至所述目标硬盘中的目标数据的步骤,包括:若所述目标硬盘为所述第一类硬盘,则根据各个初始硬盘中所存储的所述目标数据文件的部分数据,计算所述目标数据文件的校验值,作为待存储至所述目标硬盘中的目标数据;若所述目标硬盘为所述第二类硬盘,则根据各个初始硬盘中所存储的所述目标数据文件的部分数据和校验值,生成所述目标raid中丢失的所述目标数据文件的部分数据,作为待存储至所述目标硬盘中的目标数据。5.根据权利要求1或2所述的方法,其特征在于,所述目标raid中的多个硬盘为smr,且所述目标raid包括第一阵列和第二阵列,其中,所述第一阵列是由所述多个smr的smr区构成的,所述第二阵列是由所述多个smr的cmr区构成的,所述第一阵列包括:多个条带,每个条带包括:所述多个smr的smr区中偏移地址相同的写入区域,且用于存储按照对齐顺序写入的方式写入的数据文件;在所述遍历所述目标raid所属的文件系统中存储的各个元数据的步骤之前,所述方法还包括:将所述目标硬盘的smr区与所述多个初始硬盘的smr区,配置为所述目标raid的新的第一阵列,并将所述目标硬盘的cmr区与所述多个初始硬盘的cmr区,配置为所述目标raid的新的第二阵列。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述新的第二阵列中更新所述目标数据文件的元数据。7.根据权利要求5所述的方法,其特征在于,所述将所述目标数据存储至所述目标硬盘中的步骤,包括:确定各个所述初始硬盘中存储所述指定数据的写入区域所属的指定条带;将所述目标数据存储至所述目标硬盘的smr区中属于所述指定条带的写入区域中。8.一种raid重构装置,其特征在于,应用于raid驱动,所述装置包括:硬盘确定模块,用于确定目标硬盘;其中,所述目标硬盘用于重构目标raid;元数据遍历模块,用于遍历所述目标raid所属的文件系统中存储的各个元数据,并在遍历到每个元数据时,确定该元数据对应的目标数据文件是否为有效文件;如果是,触发数据重构模块,如果否,遍历下一元数据,并返回所述在遍历到每个元数据时,确定该元数据对应的目标数据文件是否为有效文件的步骤;所述数据重构模块,用于根据所述目标raid中未被移出的初始硬盘中所存储的指定数据,重构待存储至所述目标硬盘中的目标数据;其中,所述指定数据为:所述目标数据文件对应的数据;数据存储模块,用于将所述目标数据存储至所述目标硬盘中。9.根据权利要求8所述的装置,其特征在于,所述元数据遍历模块具体用于:在所述根据所述目标raid中未被移出的初始硬盘中所存储的指定数据,重构待存储至所述目标硬盘中的目标数据之前,确定用于存储该元数据对应的目标数据文件的写入区域中是否存在数据写入任务;如果不存在,触发所述数据重构模块;和/或,所述装置还包括:raid标记模块,用于在遍历完所述各个元数据中的最后一个元数据时,将所述目标raid标记为正常状态;和/或,所述目标raid中的多个硬盘被设置为一个第一类硬盘和至少一个第二类硬盘,每个所述第二类硬盘用于存储数据文件的部分数据,所述第一类硬盘用于存储数据文件的校验值;所述数据重构模块具体用于:若所述目标硬盘为所述第一类硬盘,则根据各个初始硬盘中所存储的所述目标数据文件的部分数据,计算所述目标数据文件的校验值,作为待存储至所述目标硬盘中的目标数据;若所述目标硬盘为所述第二类硬盘,则根据各个初始硬盘中所存储的所述目标数据文件的部分数据和校验值,生成所述目标raid中丢失的所述目标数据文件的部分数据,作为待存储至所述目标硬盘中的目标数据;和/或,所述目标raid中的多个硬盘为smr,且所述目标raid包括第一阵列和第二阵列,其中,所述第一阵列是由所述多个smr的smr区构成的,所述第二阵列是由所述多个smr的cmr区构成的,所述第一阵列包括:多个条带,每个条带包括:所述多个smr的smr区中偏移地址相同的写入区域,且用于存储按照对齐顺序写入的方式写入的数据文件;所述装置还包括:阵列配置模块,用于在所述遍历所述目标raid所属的文件系统中存储的各个元数据之
前,将所述目标硬盘的smr区与所述多个初始硬盘的smr区,配置为所述目标raid的新的第一阵列,并将所述目标硬盘的cmr区与所述多个初始硬盘的cmr区,配置为所述目标raid的新的第二阵列;和/或,所述装置还包括:元数据更新模块,用于在所述新的第二阵列中更新所述目标数据文件的元数据;和/或,所述数据存储模块具体用于:确定各个所述初始硬盘中存储所述指定数据的写入区域所属的指定条带;将所述目标数据存储至所述目标硬盘的smr区中属于所述指定条带的写入区域中。10.一种raid驱动,其特征在于,所述raid驱动用于执行权利要求1

7任一所述的方法步骤。11.一种电子设备,其特征在于,设置有raid驱动,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现权利要求1

7任一所述的方法步骤。12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1

7任一所述的方法步骤。

技术总结
本发明实施例提供了一种RAID重构方法及装置,涉及数据存储技术领域。该重构方法应用于RAID驱动,该方法包括:确定目标硬盘;其中,所述目标硬盘用于重构目标RAID;遍历所述目标RAID所属的文件系统所存储的各个元数据,并在遍历到每个元数据时,确定该元数据对应的目标数据文件是否为有效文件;如果是,根据各个初始硬盘中所存储的指定数据,重构待存储至所述目标硬盘中的目标数据;将所述目标数据存储至所述目标硬盘中。与现有技术相比,应用本发明实施例提供的方案,可以实现在保证RAID中所存储数据的完整性,以及RAID的数据安全性,提升RAID的安全等级的前提下,快速高效地对移出了发生读写异常的硬盘后的RAID进行重构。发生读写异常的硬盘后的RAID进行重构。发生读写异常的硬盘后的RAID进行重构。


技术研发人员:赵修伟
受保护的技术使用者:杭州海康威视数字技术股份有限公司
技术研发日:2021.07.12
技术公布日:2021/9/21
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1