【技术实现步骤摘要】
RAID阵列磁盘暂时失效的数据存储与修复方法及系统
[0001]本专利技术涉及数据存储领域,尤其涉及一种RAID阵列磁盘暂时失效的数据存储与修复方法及系统。
技术介绍
[0002]磁盘失效存在多种形式,即存在永久失效,也存在暂时失效。暂时失效指磁盘仅在一段时间内无法提供正常访问功能,但此后可恢复正常的失效模式。若磁盘发生暂时失效,故障磁盘仅丢失了暂时失效时间段内的数据。现有的RAID数据修复模式会对所有数据进行重建,造成系统长期停机。如果暂时失效率较高,将使RAID因频繁重建而长期处于不可用状态。
[0003]针对以上问题,目前业界提出了一系列RAID数据自主修复方法,主要方法为当发生磁盘失效时,对RAID进行降级,并设置降级IO列表记录故障期间发生的所有写入IO地址及写入时的故障盘位置等信息。当进行RAID读取时,首先检索IO是否位于该列表中,如果是,则根据该IO写入时的磁盘故障情况结合RAID的数据冗余与校验功能对IO数据进行重建,从而实现数据可靠读取。当故障磁盘恢复正常功能,则重建降级IO列表中IO在恢复盘中的对应数据,并重新写入已恢复的故障盘,实现自主修复。
[0004]尽管现有方案可以有效减少暂时失效导致的系统恢复数据量,但存在如下问题:1)磁盘发生故障后,修复完成前,所有读IO均需首先查找降级IO列表后方可进行数据访问,随着故障时间的增长,该表长度将会不断扩张,导致检索延迟增加,严重降低RAID访问性能。2)降级IO列表是RAID可靠读取的必备信息,如果将降级IO列表存储在额外可靠存储器件 ...
【技术保护点】
【技术特征摘要】
1.一种RAID阵列磁盘暂时失效的数据存储与修复方法,其特征在于,包括:S1、当目标RAID阵列初始化运行时,根据所述目标RAID阵列的所有磁盘分别设置用于数据写入的第一列表和用于数据读取的第二列表;S2、当目标RAID阵列中的任一磁盘的运行状态发生变化时,根据包含所述目标RAID阵列中的所有当前可访问磁盘更新第一列表,且当更新后的第一列表中未包含所述目标RAID阵列中的所有磁盘时,根据所述更新后的第一列表生成至少一个降级IO列表,并判断所述更新后的第一列表中的磁盘数量是否满足第一预设条件,得到第一判断结果;S3、当所述第一判断结果为是时,获取并根据共同包含于所述任一磁盘的运行状态发生变化前的第二列表和所述更新后的第一列表中的所有磁盘,对所述第二列表进行更新,并判断所述更新后的第二列表中的磁盘数量是否满足第二预设条件,得到第二判断结果;S4、当所述第二判断结果为是时,判断所述第一列表的磁盘数量是否大于所述新的第二列表中的磁盘数量,得到第三判断结果;S5、当第三判断结果为是时,采用预设修复方式对所述目标RAID阵列的数据进行修复,当所述目标RAID阵列修复完成时,根据所述第一列表对所述第二列表进行更新,以完成所述目标RAID阵列的数据修复。2.根据权利要求1所述的RAID阵列磁盘暂时失效的数据存储与修复方法,其特征在于,所述预设修复方式包括:基于预设顺序,依次判断每个降级IO列表中是否包含所述更新后的第一列表中的所有磁盘,得到每个降级IO列表对应的第四判断结果,并将第四判断结果为否的每个降级IO列表确定为待处理IO列表;分别读取每个待处理IO列表中的每个IO信息所对应的目标数据,并分别将每个目标数据重新写入所述目标RAID阵列,并删除每个待处理IO列表。3.根据权利要求2所述的RAID阵列磁盘暂时失效的数据存储与修复方法,其特征在于,读取任一待处理IO列表中的任一IO信息所对应的目标数据的过程,包括:从所述新的第二列表的所有磁盘中,获取目标IO信息对应的读取数据;其中,目标IO信息为:所述任一待处理IO列表中的所述任一IO信息;通过RAID数据冗余与校验功能,获取所述目标IO信息对应的读取数据中的目标数据。4.根据权利要求2所述的RAID阵列磁盘暂时失效的数据存储与修复方法,其特征在于,将任一IO信息的目标数据重新写入所述目标RAID阵列的相应磁盘中的过程,包括:判断所述更新后的第一列表中是否包含所述目标RAID阵列中的所有磁盘,得到第五判断结果;当所述第五判断结果为是时,将目标IO信息对应的目标数据分别写入至对应的磁盘中;其中,目标IO信息为:所述任一待处理IO列表中的所述任一IO信息。5.根据权利要求4所述的RAID阵列磁盘暂时失效的数据存储与修复方法,其特征在于,所述将任一IO信息的目标数据重新写入所述目标RAID阵列的相应磁盘中的过程,还包括:当所述第五判断结果为否时,将所述目标IO信息对应的目标数据分别写入至对应的磁盘中,并将所述目标IO信息对应存储至所述更新后的第一列表...
【专利技术属性】
技术研发人员:麻昊志,傅智康,宫永生,
申请(专利权)人:中国科学院空间应用工程与技术中心,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。