LINUX系统RAID5数据丢失恢复学习并总结

故障描述:
linux服务器,在一次故障后重新启动后,无法识别RAID5,数据全部丢失
使用工具:
Winhex:做镜像和分析镜像内容
分析思路:
No1.将硬盘全部镜像
No2.分析RAID结构和开始扇区
No3.数据恢复
分析过程:
Step1.镜像硬盘
通过dd或Winhex将RAID5的5块硬盘完全镜像,命名为0~4.img。之前文档总结过操作方法,不再说明。
Step2.分析开始扇区
用WinHex同时打开5块物理盘的镜像文件,并查看它们的第一个扇区。img0,img2,img4的第一个扇区全是0字节。
img1,img3的第一个扇区是MBR,分区表中有三个分区表项,第一个及第二个分区表项描述了两个“0x83”类型(Linux类型)的主磁盘分区,第三个分区表项描述了一个扩展分区,见下图:
在这里插入图片描述
分区描述符表如下:
在这里插入图片描述
计算分区表总容量,正好是RAID5的逻辑盘容量,说明MBR分区时合法分区。
Step3. 分析条带大小
由于img1,img3的0扇区的MBR相同,可以判断这两个MBR必定有一个是校验,也就是经过其他4块成员盘的第一个扇区异或得到的结果。
由于MBR扇区的分区表中第一个表项描述了分区的开始扇区是63(0x0000003F),那么我们分析img1和img3的63号扇区。

MBR结构说明:
在这里插入图片描述
分区表由4项组成,每项16个字节(Byte).共4×16 = 64字节(Byte)。每项描述一个分区的基本信息。(80) (01 01 00) (07) (FE FF FF) (3F 00 00 00) (82 C1 3B 3A)
在这里插入图片描述
跳转到63号扇区查看,根据信息判断63号扇区为i-节点,
在这里插入图片描述
判别i-节点是通过ext3文件系统结构来进行判别的,ext3文件系统结构如下图:
在这里插入图片描述

Ext3文件系统的第三个扇区也就是2号扇区是“超级块”,超级块占用两个扇区,用于存储文件系统的配置参数(如块大小、总块数和i-节点数)和动态信息(如当前空闲块数和i-节点数)。
查看63和65号扇区都是i节点,从img1和img3的65号扇区都没有找到超级块,i节点是超级块之后的结构,且63号扇区也不是分区的开始位置,所以可以确定,该RAID5的条带大小一定小于64扇区。
由于超级快的0x38~0x39为签名值既文件系统的标志值,固定为十六进制数值“53 EF”,因此查找超级块通过搜索53 EF,如下图:
在这里插入图片描述
结果在img3的17号扇区找到了超级块,
在这里插入图片描述

从超级块出现在物理盘的17号扇区基本可以判断该RAID5的条带大小为16个扇区。因为超级块位于文件系统的2号扇区,当前RAID5逻辑盘第一个分区起始于63号扇区,所以第一个分区的超级块就应该在RAID5逻辑盘的65号扇区,按照16个扇区为一个条带,超级块刚好写入到某块物理盘的17号扇区(从这个也可以确定该物理盘在RAID5中的位置)。
对各成员盘0号扇区、15号扇区和16号扇区的分析得出RAID5的条带确实为15个扇区。
在这里插入图片描述
Step4. 分析盘序和校验方向
通过硬盘在RAID5中的条带分布看,RAID5应该盘序应该是右结构。
在这里插入图片描述
根据ext3结构和条带大小继续推算出RAID5的结构如下:
在这里插入图片描述
将RAID5逻辑盘的结构按照RAID5的数据分布规则转换到物理盘中,得出具体下面盘序:
在这里插入图片描述
Step5. 分析数据循环方向
根据物理盘序分布规则看,RAID5为异步,由于为右结构,因此为右异步结构。
在这里插入图片描述
RAID5右异步结构特点:
(1)校验块从第一块物理盘开始写起,然后依次往后面的物理盘中写入,当写到最后一块物理盘后再回到第一块物理盘,依次循环。
(2)各条带组内的数据块均由低号物理盘向高号物理盘依次写入。
在这里插入图片描述
Step6. 数据重组
通过R-studio或UFS Explorer工具按照盘序加入创建虚拟RAID5后,就可以看到相关数据。

总结:
恢复LINUX下RAID5逻辑盘中数据,除了与windows下文件系统结构不同,分析思路都是首先从文件系统的第一个扇区开始分析,通过文件系统特点确定RAID结构,和硬盘数据分布,最后通过工具进行数据恢复。
因此熟练掌握RAID的组成结构和EXT3文件系统,并能熟练应用到实际中很重要。LINUX服务器遇到的RAID破坏的数据修复和分区异常的修复都可以参考该流程进行处理。
通过实际案例学习也对文件系统有了新的认识,并对一些知识点的认识也更加清晰。

参考文档:
《数据恢复深度揭秘》第二版
网上LINUX相关知识介绍

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值