一种RAID阵列的数据恢复方法及相关装置制造方法及图纸

技术编号:36357907 阅读:61 留言:0更新日期:2023-01-14 18:14
本申请公开了一种RAID阵列的数据恢复方法,涉及存储技术领域,包括:保存RAID阵列中条带的条带信息;在安全内存中保存待写入所述条带的数据与校验数据;所述安全内存为存储系统掉电后,由电池备电单元为所述存储系统供电时,完成数据保存的内存;在所述存储系统恢复后,从所述安全内存读取所述数据与所述校验数据;读取所述条带信息,并根据所述条带信息,将读取的所述数据与所述校验数据写入所述条带。该方法能够解决写洞问题,且不会对存储系统的性能造成影响,也不需要增加硬件资源。本申请还公开了一种RAID阵列的数据恢复装置、设备以及计算机可读存储介质,均具有上述技术效果。均具有上述技术效果。均具有上述技术效果。

【技术实现步骤摘要】
一种RAID阵列的数据恢复方法及相关装置


[0001]本申请涉及存储
,特别涉及一种RAID阵列的数据恢复方法;还涉及一种RAID阵列的数据恢复装置、设备以及计算机可读存储介质。

技术介绍

[0002]RAID技术是存储领域中的重要技术,其使用条带、镜像和校验来保证数据可靠性。在提高I/O性能方面,业界多利用多控节点组成集群,主节点负责处理主机的I/O请求,辅助节点负责存储系统的后台任务(例如,RAID阵列初始化、巡检和重构任务等),以此来提高存储系统的I/O性能。在增加数据可靠性方面,目前业界多利用RAID阵列中的冗余磁盘来恢复故障盘的数据。然而如果RAID阵列在更新条带内部数据的时候,系统突然断电或出现其他故障,此时就会出现条带中的部分数据更新完成,而条带中的其他数据没有更新完成。因此当系统重启之后,条带中的数据是不完整的,条带处于数据不一致的情况,就会出现Write Hole问题,即写洞问题。
[0003]为了解决Write Hole问题,目前业界主要采取如下两种方法:1、采用文件系统的Journal(日志)的设计思想,实现写请求的原子处理;2、采用非易失性内存作为写缓存,达到原子写操作的目的。然而第一种方法需要多次读写底层文件系统,而多次读写底层文件系统会严重影响性能。第二种方法需要增加NVRAM硬件资源,且NVRAM硬件资源价格昂贵且存储资源有限,有限的存储资源无法大批量的存储数据。
[0004]有鉴于此,如何解决上述技术缺陷已成为本领域技术人员亟待解决的技术问题。
专利技术内
[0005]本申请的目的是提供一种RAID阵列的数据恢复方法,能够解决写洞问题,且不会对存储系统的性能造成影响,也不需要增加硬件资源。本申请的另一个目的是提供一种RAID阵列的数据恢复装置、设备以及计算机可读存储介质,均具有上述技术效果。
[0006]为解决上述技术问题,本申请提供了一种RAID阵列的数据恢复方法,包括:保存RAID阵列中条带的条带信息;在安全内存中保存待写入所述条带的数据与校验数据;所述安全内存为存储系统掉电后,由电池备电单元为所述存储系统供电时,完成数据保存的内存;在所述存储系统恢复后,从所述安全内存读取所述数据与所述校验数据;读取所述条带信息,并根据所述条带信息,将读取的所述数据与所述校验数据写入所述条带。
[0007]可选的,所述保存条带的条带信息包括:在I/O群组的各个节点中保存所述条带信息。
[0008]可选的,所述在安全内存中保存待写入所述条带的数据与校验数据包括:在I/O群组中的写请求对应的节点的所述安全内存中保存所述数据与所述校验数据。
[0009]可选的,所述从所述安全内存读取所述数据与所述校验数据前还包括:判断所述安全内存是否可用;若所述安全内存可用,则从所述安全内存读取所述数据与所述校验数据。
[0010]可选的,还包括:若所述安全内存不可用,则根据已写入所述条带的数据恢复未写入所述条带的数据。
[0011]可选的,所述根据已写入所述条带的数据恢复未写入所述条带的数据前还包括:判断RAID阵列是否具有数据恢复能力;若所述RAID阵列具有数据恢复能力,则根据已写入所述条带的数据恢复未写入所述条带的数据。
[0012]可选的,所述判断所述RAID阵列是否具有数据恢复能力包括:判断所述RAID阵列是否有故障盘;若所述RAID阵列没有故障盘,则所述RAID阵列具有数据恢复能力。
[0013]可选的,还包括:若所述RAID阵列有故障盘,则判断故障盘的个数是否超出允许值;若所述故障盘的个数未超出所述允许值,则所述RAID阵列具有数据恢复能力;若所述故障盘的个数超出所述允许值,则所述RAID阵列不具有数据恢复能力。
[0014]可选的,所述根据已写入所述条带的数据恢复未写入所述条带的数据前还包括:判断第一预设时长后所述安全内存是否恢复可用;若所述第一预设时长后所述安全内存未恢复可用,则根据已写入所述条带的数据恢复未写入所述条带的数据;若所述第一预设时长后所述安全内存恢复可用,则从所述安全内存读取所述数据与所述校验数据,并将读取的所述数据与所述校验数据写入对应的所述条带。
[0015]可选的,还包括:若所述RAID阵列不具有数据恢复能力,则判断第二预设时长后所述安全内存是否恢复可用;若所述第二预设时长后所述安全内存未恢复可用,则结束条带数据恢复流程;若所述第二预设时长后所述安全内存恢复可用,则从所述安全内存读取所述数据与所述校验数据,并将读取的所述数据与所述校验数据写入对应的所述条带。
[0016]可选的,还包括:判断第三预设时长后所述数据与所述校验数据是否成功写入所述条带;若第三预设时长后所述数据与所述校验数据成功写入所述条带,则删除所述安全内存中的所述数据与所述校验数据。
[0017]可选的,还包括:若第三预设时长后所述数据与所述校验数据未成功写入所述条带,则记录写入异常事件。
[0018]可选的,所述保存RAID阵列中条带的条带信息包括:保存所述条带的条带地址和/或所述条带的条带编号。
[0019]可选的,所述保存RAID阵列中条带的条带信息包括:
在所述安全内存保存所述条带信息。
[0020]可选的,还包括:将所述数据与所述校验数据备份到所述I/O群组中的另一个节点。
[0021]可选的,还包括:所述校验数据保存到所述安全内存中,且所述数据写入磁盘后,向主机发送写成功信号。
[0022]为解决上述技术问题,本申请还提供了一种RAID阵列的数据恢复装置,包括:第一保存模块,用于保存RAID阵列中条带的条带信息;第二保存模块,用于在安全内存中保存待写入所述条带的数据与校验数据;所述安全内存为存储系统掉电后,由电池备电单元为所述存储系统供电时,完成数据保存的内存;读取模块,用于在所述存储系统掉电恢复后,从所述安全内存读取所述数据与所述校验数据;写入模块,用于读取所述条带信息,并根据所述条带信息,将读取的所述数据与所述校验数据写入所述条带。
[0023]为解决上述技术问题,本申请还提供了一种RAID阵列的数据恢复设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上任一项所述的RAID阵列的数据恢复方法的步骤。
[0024]为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的RAID阵列的数据恢复方法的步骤。
[0025]本申请所提供的RAID阵列的数据恢复方法,包括:保存RAID阵列中条带的条带信息;在安全内存中保存待写入所述条带的数据与校验数据;所述安全内存为存储系统掉电后,由电池备电单元为所述存储系统供电时,完成数据保存的内存;在所述存储系统恢复后,从所述安全内存读取所述数据与所述校验数据;读取所述条带信息,并根据所述条带信息,将读取的所述数据与所述校验数据写入所述条带。
[0026]可见,本申请所提供本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种RAID阵列的数据恢复方法,其特征在于,包括:保存RAID阵列中条带的条带信息;在安全内存中保存待写入所述条带的数据与校验数据;所述安全内存为存储系统掉电后,由电池备电单元为所述存储系统供电时,完成数据保存的内存;在所述存储系统恢复后,从所述安全内存读取所述数据与所述校验数据;读取所述条带信息,并根据所述条带信息,将读取的所述数据与所述校验数据写入所述条带。2.根据权利要求1所述的RAID阵列的数据恢复方法,其特征在于,所述保存RAID阵列中条带的条带信息包括:在I/O群组的各个节点中保存所述条带信息。3.根据权利要求1所述的RAID阵列的数据恢复方法,其特征在于,所述在安全内存中保存待写入所述条带的数据与校验数据包括:在I/O群组中的写请求对应的节点的所述安全内存中保存所述数据与所述校验数据。4.根据权利要求1所述的RAID阵列的数据恢复方法,其特征在于,所述从所述安全内存读取所述数据与所述校验数据前还包括:判断所述安全内存是否可用;若所述安全内存可用,则从所述安全内存读取所述数据与所述校验数据。5.根据权利要求4所述的RAID阵列的数据恢复方法,其特征在于,还包括:若所述安全内存不可用,则根据已写入所述条带的数据恢复未写入所述条带的数据。6.根据权利要求5所述的RAID阵列的数据恢复方法,其特征在于,所述根据已写入所述条带的数据恢复未写入所述条带的数据前还包括:判断RAID阵列是否具有数据恢复能力;若所述RAID阵列具有数据恢复能力,则根据已写入所述条带的数据恢复未写入所述条带的数据。7.根据权利要求6所述的RAID阵列的数据恢复方法,其特征在于,所述判断所述RAID阵列是否具有数据恢复能力包括:判断所述RAID阵列是否有故障盘;若所述RAID阵列没有故障盘,则所述RAID阵列具有数据恢复能力。8.根据权利要求7所述的RAID阵列的数据恢复方法,其特征在于,还包括:若所述RAID阵列有故障盘,则判断故障盘的个数是否超出允许值;若所述故障盘的个数未超出所述允许值,则所述RAID阵列具有数据恢复能力;若所述故障盘的个数超出所述允许值,则所述RAID阵列不具有数据恢复能力。9.根据权利要求5所述的RAID阵列的数据恢复方法,其特征在于,所述根据已写入所述条带的数据恢复未写入所述条带的数据前还包括:判断第一预设时长后所述安全内存是否恢复可用;若所述第一预设时长后所述安全内存未恢复可用,则根据已写入所述条带的数据恢复未写入所述条带的数据;若所述第一预设时长后所述安全内存恢复可用,则从所述安全内存读取所述数据与所述校验数据,并将读取的所述数据与所述校验...

【专利技术属性】
技术研发人员:李飞龙许永良孙明刚
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1