本发明专利技术公开了一种用于RAID的多故障盘数据恢复方法及其系统,包括当RAID中的磁盘内出现故障数据块时,将出现故障数据块的磁盘标记为故障磁盘;将各个故障数据块内的数据分别恢复至对应的热备磁盘内;并将故障磁盘中未故障数据块内的数据拷贝至对应的热备磁盘内;确定数据恢复完毕后,踢除各个故障磁盘。本发明专利技术在RAID中故障磁盘数量超出上限后,不会导致RAID不可用,而是能够进行数据恢复,尽可能避免数据丢失,可靠性强。
【技术实现步骤摘要】
本专利技术涉及故障数据恢复
,特别是涉及一种用于RAID的多故障盘数据恢复方法及其系统。
技术介绍
RAID(RedundantArraysofIndependentDisks,磁盘阵列),是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能的技术。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。同时RAID还提供不同程度的冗余能力(RAID0除外),当阵列中的一块磁盘出现故障时,通过冗余数据,可以将故障磁盘中的数据恢复到热备磁盘上,从而保证了用户数据的完整性。RAID根据冗余能力和性能,可划分为不同的等级。目前常用的有RAID0、RAID1、RAID10、RAID5、RAID6、RAID7等。RAID的实现技术主要有两种,一种是镜像技术,镜像技术是当一块磁盘故障时,可以通过故障磁盘的镜像磁盘直接将数据拷贝到热备磁盘上,从而恢复了故障磁盘的技术,例如RAID1;一种是条带技术,条带技术是当一块磁盘故障时,使用校验数据,重新计算出故障磁盘上的数据恢复到热备磁盘上,从而恢复了故障磁盘的技术,例如RAID5、RAID6。但是,无论哪种RAID,它们的冗余能力都是有限的。比如RAID5只能容忍1块磁盘故障,RAID6最多容忍两块盘故障,RAID1要根据镜像磁盘的数量而定。当某种RAID的故障磁盘达到上限后,就处于一种非常危险的降级状态,如果再有磁盘故障,就会立即导致RAID不可用。以RAID5为例,当一个成员磁盘产生故障时会将该磁盘进行踢除,RAID会降级,从而进行重构。在重构的过程中如果再有一块磁盘产生故障就会导致RAID不可用,从而导致数据丢失,可靠性差。因此,如何提供一种能够避免多故障磁盘时数据丢失的用于RAID的多故障盘数据恢复方法及其系统是本领域技术人员目前需要解决的问题。
技术实现思路
本专利技术的目的是提供一种用于RAID的多故障盘数据恢复方法及其系统,在RAID中故障磁盘数量超出上限后,不会导致RAID不可用,而是能够进行数据恢复,尽可能避免数据丢失,可靠性强。为解决上述技术问题,本专利技术提供了一种用于RAID的多故障盘数据恢复方法,包括:当所述RAID中的磁盘内出现故障数据块时,将出现所述故障数据块的磁盘标记为故障磁盘;将各个所述故障数据块内的数据分别恢复至对应的热备磁盘内;并将所述故障磁盘中未故障数据块内的数据拷贝至对应的所述热备磁盘内;确定数据恢复完毕后,踢除各个所述故障磁盘。优选地,还包括:判断当前所述RAID中所述故障磁盘数量是否超出预设上限阈值,如果是,控制所述RAID进入IO暂停状态;当确定踢除各个所述故障磁盘后,控制所述RAID恢复正常工作状态。优选地,当所述RAID为条带类RAID,且所述RAID中各个条带上的所述故障数据块的数量未超出所述预设上限阈值时,所述将各个所述故障数据块内的数据分别恢复至对应的热备磁盘内的过程具体为:针对每个所述故障数据块,根据除所述故障数据块自身所在的磁盘以外的磁盘中的数据进行重构计算操作,得到所述故障数据块的恢复数据;将所述恢复数据存放至所述故障数据块对应的所述热备磁盘内。优选地,所述条带类RAID包括RAID5、RAID6。优选地,当所述RAID为镜像类RAID,且各个所述故障数据块对应的镜像数据块未发生故障时,所述将各个所述故障数据块内的数据分别恢复至对应的热备磁盘内的过程具体为:将各个所述故障数据块对应的镜像数据块内的数据拷贝至对应的所述热备磁盘内。优选地,所述镜像类RAID具体为RAID1。为解决上述技术问题,本专利技术还提供了一种用于RAID的多故障盘数据恢复系统,包括:标记模块,用于当所述RAID中的磁盘内出现故障数据块时,将出现所述故障数据块的磁盘标记为故障磁盘;数据恢复模块,用于将各个所述故障数据块内的数据分别恢复至对应的热备磁盘内;并将所述故障磁盘中未故障数据块内的数据拷贝至对应的所述热备磁盘内;踢盘模块,用于在确定数据恢复完毕后,踢除各个所述故障磁盘。优选地,还包括:判断模块,用于判断当前所述RAID中所述故障磁盘数量是否超出预设上限阈值,如果是,控制所述RAID进入IO暂停状态;当确定踢除各个所述故障磁盘后,控制所述RAID恢复正常工作状态。优选地,所述RAID包括2个或2个以上所述热备磁盘。本专利技术提供了一种用于RAID的多故障盘数据恢复方法及其系统,当RAID中出现故障磁盘时,不立即进行踢盘操作,而是分别将各个故障数据块内的数据恢复至对应的热备磁盘,并将故障磁盘内的剩余数据拷贝至对应的热备磁盘内,等上述操作完成后,才将故障磁盘踢除。可见,本专利技术在RAID中故障磁盘数量超出上限后,并不会导致RAID不可用,而是能够进行数据恢复操作,尽可能避免数据丢失,可靠性强。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的一种用于RAID的多故障盘数据恢复方法的过程的流程图;图2为本专利技术提供的一种用于RAID5的实施例示意图;图3为本专利技术提供的一种用于RAID1的实施例示意图;图4为本专利技术提供的一种用于RAID的多故障盘数据恢复系统的结构示意图。具体实施方式本专利技术的核心是提供一种用于RAID的多故障盘数据恢复方法及其系统,在RAID中故障磁盘数量超出上限后,不会导致RAID不可用,而是能够进行数据恢复,尽可能避免数据丢失,可靠性强。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供了一种用于RAID的多故障盘数据恢复方法,参见图1所示,图1为本专利技术提供的一种用于RAID的多故障盘数据恢复方法的过程的流程图;该系统包括:步骤s101:当RAID中的磁盘内出现故障数据块时,将出现故障数据块的磁盘标记为故障磁盘;即本专利技术不会立即将故障磁盘进行踢除操作,而是仅进行了标记。其中,这里的故障数据块大小为512字节,即一个扇区。当然,本专利技术对磁盘中出现的故障扇区的数量不作限定。步骤s102:将各个故障数据块内的数据分别恢复至对应的热备磁盘内;并将故障磁盘中未故障数据块内的数据拷贝至对应的热备磁盘内;步骤s103:确定数据恢复完毕后,踢除各个故障磁盘。作为优选地,该方法还包括:判断当前RAID中故障磁盘数量是否超出预设上限阈值,如果是,控制RAID进入IO暂停状态;当确定踢除各个故障磁盘后,控制RAID恢复正常工作状态。需要注意的是,进行上述判断操作时,判断的是当前RAID内的故障磁盘数量,若部分故障磁盘在进行步骤s102中的数据恢复操作时,又有新的磁盘出现故障,当前RAID内的故障磁盘数量会增加,即磁盘上故障磁盘的标记会在数据恢复操作中一直存在,直至该磁盘被踢除。另外,只要一有磁盘被标记为故障磁盘,即会立即进本文档来自技高网...
【技术保护点】
一种用于RAID的多故障盘数据恢复方法,其特征在于,包括:当所述RAID中的磁盘内出现故障数据块时,将出现所述故障数据块的磁盘标记为故障磁盘;将各个所述故障数据块内的数据分别恢复至对应的热备磁盘内;并将所述故障磁盘中未故障数据块内的数据拷贝至对应的所述热备磁盘内;确定数据恢复完毕后,踢除各个所述故障磁盘。
【技术特征摘要】
1.一种用于RAID的多故障盘数据恢复方法,其特征在于,包括:当所述RAID中的磁盘内出现故障数据块时,将出现所述故障数据块的磁盘标记为故障磁盘;将各个所述故障数据块内的数据分别恢复至对应的热备磁盘内;并将所述故障磁盘中未故障数据块内的数据拷贝至对应的所述热备磁盘内;确定数据恢复完毕后,踢除各个所述故障磁盘。2.根据权利要求1所述的方法,其特征在于,还包括:判断当前所述RAID中所述故障磁盘数量是否超出预设上限阈值,如果是,控制所述RAID进入IO暂停状态;当确定踢除各个所述故障磁盘后,控制所述RAID恢复正常工作状态。3.根据权利要求1或2所述的方法,其特征在于,当所述RAID为条带类RAID,且所述RAID中各个条带上的所述故障数据块的数量未超出所述预设上限阈值时,所述将各个所述故障数据块内的数据分别恢复至对应的热备磁盘内的过程具体为:针对每个所述故障数据块,根据除所述故障数据块自身所在的磁盘以外的磁盘中的数据进行重构计算操作,得到所述故障数据块的恢复数据;将所述恢复数据存放至所述故障数据块对应的所述热备磁盘内。4.根据权利要求3所述的方法,其特征在于,所述条带类RAID包括RAID5、RAID6。...
【专利技术属性】
技术研发人员:李辉,侯英利,张永锋,刘浩,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南;41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。