基于RAID6的磁盘阵列数据恢复方法和装置制造方法及图纸

技术编号:25834676 阅读:31 留言:0更新日期:2020-10-02 14:15
本发明专利技术涉及一种基于RAID6的磁盘阵列数据恢复方法和装置,其特征在于,所述方法包括:利用第一新磁盘克隆第一损坏磁盘,并确定第一损坏磁盘已损坏扇形区的地址偏移量;根据地址偏移量读取第二损坏磁盘和第三损坏磁盘的对应扇形区以确定是否损坏;响应于第二损坏磁盘和第三损坏磁盘的对应扇形区未损坏,则利用磁盘阵列中除第一损坏磁盘以外的磁盘的地址偏移量对应扇形区进行校验,以得到第一损坏磁盘已损坏扇形区的恢复数据;将恢复数据写入第一新磁盘的地址偏移量对应的扇形区内,以得到恢复的第一损坏磁盘。本发明专利技术方案实现了三块磁盘损坏且不超过两块磁盘损坏相同扇形区的情况下的磁盘数据恢复,有效的提高了使用磁盘阵列存储数据的安全性和可靠性。

【技术实现步骤摘要】
基于RAID6的磁盘阵列数据恢复方法和装置
本专利技术涉及数据存储
,尤其涉及一种基于RAID6的磁盘阵列数据恢复方法、装置、计算机设备和存储介质。
技术介绍
独立冗余磁盘阵列(RedundantArrayofIndependentDisks,以下简称RAID,是通过一个磁盘控制器来控制多个磁盘的相互连接,使多个磁盘的读写同步,减少错误。RAID被广泛的应用在磁盘阵列上,其中,RAID6为RAID技术的级别标准,全称为带有两个独立分布式校验方案的独立数据磁盘(IndependentDataDisksWithTwoIndependentDistributedParitySchemes)。现有的RAID6磁盘阵列模型其冗余度为2,即允许两块盘同时损坏而不影响数据的完整性,当有两块磁盘损坏后,可以有两块热备盘顶替坏掉的盘,进而转化为成员盘,但是RAID6无法实现同时坏三块盘的故障场景,当同时出现三块坏盘时,RAID将无法访问,且通过RAID本身无法完成数据的修复,数据面临丢失。
技术实现思路
基于此,有必要针对上述技术问题提供一种基于RAID6的磁盘阵列数据恢复方法、装置、计算机设备和存储介质。根据本专利技术的一方面,提供了一种基于RAID6的磁盘阵列数据恢复方法,所述方法包括:利用第一新磁盘克隆第一损坏磁盘,并确定第一损坏磁盘已损坏扇形区的地址偏移量;根据所述地址偏移量读取第二损坏磁盘和第三损坏磁盘的对应扇形区以确认是否损坏;响应于所述第二损坏磁盘和第三损坏磁盘的对应扇形区未损坏,则利用磁盘阵列中除第一损坏磁盘以外的磁盘的所述地址偏移量对应扇形区进行校验,以得到所述第一损坏磁盘已损坏扇形区的恢复数据;将所述恢复数据写入所述第一新磁盘的所述地址偏移量对应的扇形区内,以得到恢复的第一损坏磁盘。在其中一个实施例中,所述利用第一新磁盘克隆第一损坏磁盘,并确定所述第一损坏磁盘已损坏扇形区的地址偏移量的步骤包括:利用第一读取指令读取所述第一损坏磁盘的全部扇区数据;响应于所述第一读取指令返回成功,则将读取的数据写入所述第一新磁盘;响应于所述第一读取指令返回失败,则获取当前扇形区的信息,并根据所述当前扇形区的信息确定所述地址偏移量。在其中一个实施例中,所述响应于所述第一读取指令返回失败,则获取当前扇形区的信息,并根据所述当前扇形区的信息确定所述地址偏移量的步骤包括:根据所述第一读取指令获取第一读取速率;响应于所述第一读取速率大于预设读取速率,则利用第二读取指令重新读取当前扇形区的信息,其中,所述第二读取指令的读取速率为预设读取速率;响应于所述第二读取指令返回失败,则重新获取当前扇形区的信息,并根据重新获取的当前扇形区的信息确定所述地址偏移量。在其中一个实施例中,所述预设读取速率为512字节每秒。在其中一个实施例中,所述利用磁盘阵列中除第一损坏磁盘以外的磁盘的所述地址偏移量对应扇形区数行校验,以得到所述第一损坏磁盘已损坏扇形区的恢复数据的步骤包括:利用所述地址偏移量、磁盘阵列的磁盘个数、每块磁盘的数据开始扇区和磁盘阵列的块大小确定第一校验码的第一分布位置;利用所述第一分布位置和磁盘个数确定第二校验码的第二分布位置;利用所述第一分布位置、所述第二分布位置和预设公式计算所述恢复数据。在其中一个实施例中,所述方法还包括:分别利用恢复的第一损坏磁盘、第二新磁盘和第三新磁盘替代所述第一损坏磁盘、第二损坏磁盘和第三损坏磁盘;以及启动RAID,并利用预设数据恢复指令重构第二新磁盘和第三新磁盘的数据,以得到恢复的第二损坏磁盘和恢复的第三损坏磁盘。根据本专利技术的另一方面,提供了一种基于RAID6的磁盘阵列数据恢复装置,所述装置包括:磁盘克隆模块,用于利用第一新磁盘克隆第一损坏磁盘,并确定第一损坏磁盘已损坏扇形区的地址偏移量;数据读取模块,用于根据所述地址偏移量读取第二损坏磁盘和第三损坏磁盘的对应扇形区以确认是否损坏;数据恢复模块,用于响应于所述第二损坏磁盘和第三损坏磁盘的对应扇形区未损坏,则利用磁盘阵列中除第一损坏磁盘以外的磁盘的所述地址偏移量对应扇形区进行校验,以得到所述第一损坏磁盘已损坏扇形区的恢复数据;数据写入模块,用于将所述恢复数据写入所述第一新磁盘的所述地址偏移量对应的扇形区内,以得到恢复的第一损坏磁盘。在其中一个实施例中,所述装置还包括:磁盘替换模块,用于分别利用恢复的第一损坏磁盘、第二新磁盘和第三新磁盘替代所述第一损坏磁盘、第二损坏磁盘和第三损坏磁盘;以及所述数据写入模块还用于启动RAID,并利用预设数据恢复指令重构第二新磁盘和第三新磁盘的数据,以得到恢复的第二损坏磁盘和恢复的第三损坏磁盘。根据本专利技术的另一方面,提个了一种基于RAID6的磁盘阵列数据恢复装置,所述装置包括:本专利技术的又一方面,还提供了一种计算机设备,该计算机设备包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的基于RAID6的磁盘阵列数据恢复方法。本专利技术的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的基于RAID6的磁盘阵列数据恢复方法。上述基于RAID6的磁盘阵列数据恢复方法、装置、计算机设备和存储介质,通过新磁盘克隆第一损坏磁盘,并确定已损坏扇形区的地址偏移量,并在不超过两块磁盘损坏相同扇形区的情况下使用第二损坏磁盘和第三损坏磁盘以及剩余磁盘对应区的数据进行校验,从而恢复出第一损坏磁盘的数据,实现了三块磁盘损坏情况下的磁盘数据恢复,有效的提高了使用磁盘阵列存储数据的安全性和可靠性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。图1为本专利技术一个实施例中一种基于RAID6的磁盘阵列数据恢复方法流程示意图;图2为一个实施例中具有六块磁盘的RAID6结构图;图3为本专利技术另一个实施例中一种基于RAID6的磁盘阵列数据恢复方法流程示意图;图4为本专利技术另一个实施例中步骤100的子流程示意图;图5为本专利技术又一个实施例中步骤130的子流程示意图;图6位本专利技术另一个实施例中步骤300的子流程示意图;图7为本专利技术另一个实施例中一种基于RAID6的磁盘阵列数据恢复装置的结构示意图;图8为本专利技术另一个实施例中算机设备的内部结构图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。需要说明的是,本专利技术实施例中所有使用本文档来自技高网...

【技术保护点】
1.一种基于RAID6的磁盘阵列数据恢复方法,其特征在于,所述方法包括:/n利用第一新磁盘克隆第一损坏磁盘,并确定第一损坏磁盘已损坏扇形区的地址偏移量;/n根据所述地址偏移量读取第二损坏磁盘和第三损坏磁盘的对应扇形区以确认是否损坏;/n响应于所述第二损坏磁盘和第三损坏磁盘的对应扇形区未损坏,则利用磁盘阵列中除第一损坏磁盘以外的磁盘的所述地址偏移量对应扇形区进行校验,以得到所述第一损坏磁盘已损坏扇形区的恢复数据;/n将所述恢复数据写入所述第一新磁盘的所述地址偏移量对应的扇形区内,以得到恢复的第一损坏磁盘。/n

【技术特征摘要】
1.一种基于RAID6的磁盘阵列数据恢复方法,其特征在于,所述方法包括:
利用第一新磁盘克隆第一损坏磁盘,并确定第一损坏磁盘已损坏扇形区的地址偏移量;
根据所述地址偏移量读取第二损坏磁盘和第三损坏磁盘的对应扇形区以确认是否损坏;
响应于所述第二损坏磁盘和第三损坏磁盘的对应扇形区未损坏,则利用磁盘阵列中除第一损坏磁盘以外的磁盘的所述地址偏移量对应扇形区进行校验,以得到所述第一损坏磁盘已损坏扇形区的恢复数据;
将所述恢复数据写入所述第一新磁盘的所述地址偏移量对应的扇形区内,以得到恢复的第一损坏磁盘。


2.根据权利要求1所述的方法,其特征在于,所述利用第一新磁盘克隆第一损坏磁盘,并确定所述第一损坏磁盘已损坏扇形区的地址偏移量的步骤包括:
利用第一读取指令读取所述第一损坏磁盘的全部扇区数据;
响应于所述第一读取指令返回成功,则将读取的数据写入所述第一新磁盘;
响应于所述第一读取指令返回失败,则获取当前扇形区的信息,并根据所述当前扇形区的信息确定所述地址偏移量。


3.根据权利要求2所述的方法,其特征在于,所述响应于所述第一读取指令返回失败,则获取当前扇形区的信息,并根据所述当前扇形区的信息确定所述地址偏移量的步骤包括:
根据所述第一读取指令获取第一读取速率;
响应于所述第一读取速率大于预设读取速率,则利用第二读取指令重新读取当前扇形区的信息,其中,所述第二读取指令的读取速率为预设读取速率;
响应于所述第二读取指令返回失败,则重新获取当前扇形区的信息,并根据重新获取的当前扇形区的信息确定所述地址偏移量。


4.根据权利要求3所述的方法,其特征在于,所述预设读取速率为512字节每秒。


5.根据权利要求1所述的方法,其特征在于,所述利用磁盘阵列中除第一损坏磁盘以外的磁盘的所述地址偏移量对应扇形区数行校验,以得到所述第一损坏磁盘已损坏扇形区的恢复数据的步骤包括:
利用所述地址偏移量、磁盘阵列的磁盘个数、每块磁盘的数据开始扇区和磁盘阵列的块大小确定第一校验码的第一分布位置;
...

【专利技术属性】
技术研发人员:刘红泽
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1