在EXT3文件系统下的RAID5的数据恢复方法和装置制造方法及图纸

技术编号:9865630 阅读:106 留言:0更新日期:2014-04-02 23:59
本发明专利技术提供了一种在EXT3文件系统下的RAID5的数据恢复方法和装置,该方法包括:获取主引导记录;根据主引导记录获取超级块信息;根据超级块信息获取条带的大小;根据主引导记录获取条带开始扇区号、磁盘的左右结构、盘序、磁盘的同步异步情况和数据开始扇区号;根据所述条带的大小、条带开始扇区号、磁盘的左右结构、盘序、磁盘的同步异步情况和数据开始扇区号进行数据恢复。本发明专利技术的在EXT3文件系统下的RAID5的数据恢复方法,通过准确获取包括条带的大小、条带开始扇区号、磁盘的左右结构等RAID信息,并利用获取到的RAID信息对RAID5进行数据恢复,相对于现有技术,该方法具有较强的普遍适用性和较高的恢复成功率。

【技术实现步骤摘要】
在EXT3文件系统下的RAID5的数据恢复方法和装置
本专利技术涉及数据恢复领域,特别地,涉及一种在EXT3文件系统下的RAID5的数据恢复方法和装置。
技术介绍
在操作系统方面,Linux在高效性和灵活性方面,相对于其它的操作系统(如Windows)具有明显的优势,使其被很多工作站所采用。在Linux操作系统中,由于EXT3文件系统具有比其他文件系统更强的安全性,使其成为Linux操作系统下使用最为广泛的文件系统。在存储方面,由于工作站对数据安全、数据存储速度和容错具有较高的要求,故常常采用独立磁盘冗余阵列(RAID, Redundant Array of Independent Disk)技术对数据进行处理。其中,在RAID存储技术中,由于RAID5是一种存储性能、数据安全和存储成本兼顾的存储技术,使其成为使用最为广泛的一种RAID级别。综合上述因素,在工作站对数据具有特殊要求的情况下,使得EXT3文件系统与RAID5存储技术的结合成为了必然。但是,当RAID5的服务器出现物理故障造成RAID信息出错,或由于人为误操作将配置信息丢失时等情况下,都将会造成磁盘上的数据丢失或损坏,从而带来相当严重的后果。因此,对于EXT3文件系统下的RAID5的数据恢复成为丞待解决的问题。对于RAID5的数据恢复的关键点在于对其结构的分析以获取RAID信息,根据RAID信息进行数据恢复,其中RAID信息包括:数据开始扇区、条带大小、盘序、磁盘的左右结构、磁盘的同步异步情况等。现有技术中,对在EXT3文件系统下的RAID5的数据恢复方式,有依据SuperBlock(超级块)、块组描述符、块位图、1-node (索引节点)位图、i_node表等的结构特征等来获取RAID信息,再通过获取到的RAID信息进行数据数据。但是,上述方法存在如下的问题:一方面是,有些结构信息误判率很高,如块位图信息、1-node位图等;另外一个方面是,有些结构的先后顺序很难判断准确,如1-node,其自身无标识,很难判断i_node节点的先后顺序。上述这些因素都可能会导致对RAID5结构分析的失败或错误,而造成数据恢复成功率、数据恢复不准确等情况。
技术实现思路
本专利技术所要解决的技术问题是提供一种在EXT3文件系统下的RAID5的数据恢复方法和装置,可准确的分析出RAID5的RAID信息,并利用获取到的RAID信息进行数据恢复,以解决现有在EXT3文件系统下对RAID5数据恢复方法的普遍适用性差,恢复成功率低和准确率低的问题。一方面,本专利技术提供一种在EXT3文件系统下的RAID5的数据恢复方法,所述方法包括:获取主引导记录;根据所述主引导记录获取超级块信息;根据所述超级块信息获取条带的大小;根据所述主引导记录获取条带开始扇区号、磁盘的左右结构、盘序、磁盘的同步异步情况和数据开始扇区号;根据获取到的条带的大小、条带开始扇区号、磁盘的左右结构、盘序、磁盘的同步异步情况和数据开始扇区号进行数据恢复。进一步的,根据所述主引导记录获取超级块信息,包括:根据所述主引导记录中的硬盘分区表信息获取所述超级块所在扇区号的位置判定值D1 ;根据所述D1获取超级块信息;其中,Dl=主引导记录所在扇区号+主引导记录的EXT3分区的隐藏扇区数/ (1-Ι);i为磁盘数量。进一步的,根据所述超级块信息获取条带的大小,包括:获取所述超级块中索引节点的起始位置;根据所述索引节点的起始位置获取每个磁盘的偏移扇区号;根据所有磁盘的偏移扇区号的公差获取条带的大小。进一步的,根据所述主引导记录获取条带开始扇区号,包括:设置所述主引导记录所在的扇区号为条带开始扇区号。进一步的,根据所述主引导记录获取磁盘的左右结构,包括:判断所述主引导记录的个数是否为1;如果所述主引导记录的个数为1,则获取主引导记录所在磁盘的任一校验扇区号SN ;判断(SN-条带大小)% (条带大小Xi)/条带大小的值是否等于1,i=磁盘数量;如果判断结果为是,则设置磁盘为右结构;如果判断结果为否,则设置磁盘为左结构。进一步的,所述方法还包括:如果所述主引导记录的个数不为1,则获取主引导记录所在磁盘的任一校验信息所在的扇区号Pmbk;判断(Ρμβ条带开始扇区号)% (条带大小Xi) /条带大小的值是否等于0 ;如果不等于0,则该主引导记录为真实的主引导记录;如果等于0,则该主引导记录为校验的主引导记录;剔除校验的主引导记录。进一步的,根据所述主引导记录获取盘序,包括:获取每个磁盘中任一校验信息所在的扇区号PSN ;根据计算(PSN-条带开始扇区号)% (条带大小Xi)/条带大小取整后的值来获取盘序;其中,i=磁盘数量。进一步的,根据所述主引导记录获取磁盘的同步异步情况,包括:步骤1,判断超级块的个数是否等于2 ;步骤2,如果超级块的个数等于2,则剔除校验的超级块;步骤3,根据所述盘序计算超级块针对的RAID条带开始的扇区的扇区号SSUP?B1。。,;步骤4,根据预设的索引节点的结构特征信息获取索引节点记录,并根据索引节点记录获取该索引节点的第一个直接块指针指向的块号Binmte。步骤5,根据所述SSupotB1。。,和Bin(Kte计算第一个直接块指针指向的数据块的偏移扇区号;步骤6,根据所述第一个直接块指针指向的数据块的偏移扇区号,分别计算在磁盘为同步情况下的所述第一个直接块指针指向的数据块的位置信息SYNSation和在磁盘为异步的情况下的所述第一个直接块指针指向的数据块的位置信息ASYNStation ;步骤7,判断所述SYNSation中的最开始的数据是否为文件特征头;步骤8,如果判断结果为是,则将同步匹配个数SYNMatchCount加1 ;步骤9,判断所述ASYNStation中的最开始的数据是否为文件特征头;步骤10,如果判断结果为是,则将异步匹配个数ASYNMatchCount加1 ;步骤11,在SYNMatchCount和ASYNMatchCount中的至少一个大于预设匹配阈值的情况下,则判断 SYNMatchCount 是否等于 ASYNMatchCount ;步骤12,如果判断结果为是,则重复执行步骤4至步骤10 ;如果判断结果为否,则判断SYNMatchCount 是否大于 ASYNMatchCount ;步骤13,如果判断结果为是,则磁盘为同步结构;如果判断结果为否,则磁盘为异步结构。进一步的,所述方法还包括:如果SYNMatchCount和ASYNMatchCount都不大于预设匹配阈值,则重复执行步骤4至步骤10。进一步的,根据所述主引导记录获取数据开始扇区号,包括:设置数据开始扇区号为0。进一步的,在获取主引导记录之前,还包括:搜索所有磁盘中的主引导记录。进一步的,在没有搜索到所述主引导记录的情况下,通过以下步骤获取所述条带开始扇区号、磁盘的左右结构、盘序、磁盘的同步异步情况和数据开始扇区号;获取所述条带开始扇区号,包括:设置所述条带开始扇区号为0;获取所述盘序,包括:获取每个磁盘中任一校验信息所在的扇区号PSN ;根据(PSN-条带开始扇区号)% (条带大小Xi)/条带大小的值获取假设磁盘为左结构时的盘序和假设磁盘为右结构时的盘序;在假设磁盘的左同步、左异步、右同步和右本文档来自技高网
...

【技术保护点】
一种在EXT3文件系统下的RAID5的数据恢复方法,其特征在于,该方法包括:获取主引导记录;根据所述主引导记录获取超级块信息;根据所述超级块信息获取条带的大小;根据所述主引导记录获取条带开始扇区号、磁盘的左右结构、盘序、磁盘的同步异步情况和数据开始扇区号;根据获取到的条带的大小、条带开始扇区号、磁盘的左右结构、盘序、磁盘的同步异步情况和数据开始扇区号进行数据恢复。

【技术特征摘要】
1.一种在EXT3文件系统下的RAID5的数据恢复方法,其特征在于,该方法包括:获取主引导记录;根据所述主引导记录获取超级块信息;根据所述超级块信息获取条带的大小;根据所述主引导记录获取条带开始扇区号、磁盘的左右结构、盘序、磁盘的同步异步情况和数据开始扇区号;根据获取到的条带的大小、条带开始扇区号、磁盘的左右结构、盘序、磁盘的同步异步情况和数据开始扇区号进行数据恢复。2.如权利要求1所述的在EXT3文件系统下的RAID5的数据恢复方法,其特征在于,根据所述主引导记录获取超级块信息,包括:根据所述主引导记录中的硬盘分区表信息获取所述超级块所在扇区号的位置判定值D1 ;根据所述D1获取超级块信息;其中,Dl=主引导记录所在扇区号+主引导记录的EXT3分区的隐藏扇区数/ (i_l);i为磁盘数量。3.如权利要求1所述的在EXT3文件系统下的RAID5的数据恢复方法,其特征在于,根据所述超级块信息获取条带的大小,包括:获取所述超级块中索引节点的起始位置;根据所述索引节点的起始位置获取每个磁盘的偏移扇区号;根据所有磁盘的偏移扇区号的公差获取条带的大小。4.如权利要求3所述的在EXT3文件系统下的RAID5的数据恢复方法,其特征在于,根据所述主引导记录获取条带开始扇区号,包括:设置所述主引导记录所在的扇区号为条带开始扇区号。5.如权利要求4所述的在EXT3文件系统下的RAID5的数据恢复方法,其特征在于,根据所述主引导记录获取磁盘的左右结构,包括:判断所述主引导记录的个数是否为1 ;如果所述主引导记录的个数为1,则获取主引导记录所在磁盘的任一校验扇区号SN ;判断(SN-条带大小)% (条带大小Xi)/条带大小的值是否等于1,i=磁盘数量;如果判断结果为是,则设置磁盘为右结构;如果判断结果为否,则设置磁盘为左结构。6.如权利要求5所述的在EXT3文件系统下的RAID5的数据恢复方法,其特征在于,还包括:如果所述主引导记录的个数不为1,则获取主引导记录所在磁盘的任一校验信息所在的扇区号Pmbk;判断(Ρμm条带开始扇区号)% (条带大小Xi) /条带大小的值是否等于0 ;如果不等于0,则该主引导记录为真实的主引导记录;如果等于0,则该主引导记录为校验的主引导记录;剔除校验的主引导记录。7.如权利要求5所述的在EXT3文件系统下的RAID5的数据恢复方法,其特征在于,根据所述主引导记录获取盘序,包括:获取每个磁盘中任一校验信息所在的扇区号PSN ;根据计算(PSN-条带开始扇区号)% (条带大小Xi)/条带大小取整后的值来获取盘序;其中,i=磁盘数量。8.如权利要求7所述的在EXT3文件系统下的RAID5的数据恢复方法,其特征在于,根据所述主引导记录获取磁盘的同步异步情况,包括:步骤1,判断超级块的个数是否等于2 ;步骤2,如果超级块的个数等于2,则剔除校验的超级块;步骤3,根据所述盘序计算超级块针对的RAID条带开始的扇区的扇区号SSUP?B1。。,;步骤4,根据预设的索引节点的结构特征信息获取索引节点记录,并根据索引节点记录获取该索引节点的第一个直接块指针指向的块号Binmte ;步骤5,根据所述SSupotB1。。,和Bin(Kte计算第一个直接块指针指向的数据块的偏移扇区号;步骤6,根据所述第一个直接块指针指向的数据块的偏移扇区号,分别计算在磁盘为同步情况下的所述第一个直接块指针指向的数据块的位置信息SYNSation和在磁盘为异步的情况下的所述第一个直接块指针指向的数据块的位置信息ASYNStation ;步骤7,判断所述SYNSatio`n中的最开始的数据是否为文件特征头;步骤8,如果判断结果为是,则将同步匹配个数SYNMatchCount加1 ;步骤9,判断所述ASYNStation中的最开始的数据是否为文件特征头;步骤10,如果判断结...

【专利技术属性】
技术研发人员:王大彬
申请(专利权)人:厦门市美亚柏科信息股份有限公司
类型:发明
国别省市:

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

1