ext4文件系统下的raid5重组

案列背景:看了网上、书上关于raid的重组基本都是在ntfs或fat文件系统下的,就想试试ext4文件系统,刚好以前搭过一个Linux系统的阵列,就拿来练手了。
Linux系统基本情况:共用5块2T的硬盘,一块用作系统盘,剩下4块组了一个raid5的阵列。直接拆盘,raid的配置参数没看。
所需理论知识:raid的原理、MBR分区、GPT分区、ext4文件系统,重点推荐马林的《数据重现》。
好,正式开始:
1、将5块拆下的硬盘通过只读接口接入电脑,用FTK加载5块硬盘,只有5号盘能正常显示,根据内容判断为系统盘,剩下4块为raid。在这里插入图片描述
2、4块2T的硬盘组成的raid 5容量为6T,因为MBR分区最大只能支持2T,所以这个阵列应该是GPT分区,依次查看每块磁盘的0号扇区,只有6号盘的0号扇区符合GPT分区的特征,第一扇区为保护性MBR(55AA为标志)。
3、地址0X01C6-0x01C74个字节内容为:01 00,为第一分区的起始扇区,即1号扇区,(关于的字节顺序这里也是小字节顺序:即低位在前)。并且整个raid只有一个分区。在这里插入图片描述
4、查看第一扇区,偏移地址0x00-0x07为“45 46 49 20 50 41 52 54”对应ASCII码为“EFI PART”,这是GPT头签名,证实的确是GPT分区,偏移0x28-2F表示分区的起始扇区位置,为第34号扇区。偏移地址0x48-0x4f表示分区表起始扇区,为2号扇区。
在这里插入图片描述
5、在2号扇区里的分区表中,偏移地址0x00-0x0f表示分区类型,在这里可以查看分区是什么文件系统类别,参考资料上没有列出EXT4文件系统的标识码,猜想下面“”A2…C7"这一串可能表示是EXT4文件系统,之后再结合后面的信息来判断。在这里插入图片描述
6、对于ext系的文件系统而言,第一、二号逻辑扇区为引导程序专用,如果没有引导程序,这两个扇区保留不用。第三、四号扇区是超级块的位置。结合GPT分区的起始扇区为34号扇区,查看34号扇区,34号扇区和35号扇区都是空白,36号扇区有内容,这种结构符合ext文件系统特点。转到36号扇区,对照超级块的结构定义仔细查看。偏移地址0x38-0x39为“53EF”这是ext文件系统的签名标志,所以它应该是ext文件系统。下面来解读超级块:
0x04-0x07:文件系统总块数:0x57542BF7=1465134071
0X18-0X1B:每个块占用的字节数:0x02,为:2^2*1024=4kb,即一个块是8个扇区(一个扇区512byte)
0x20-0x23:每个块组包含的块数量:0x8000=32768
0x08-0x0b:为文件系统预留的块数量:0x45dceff=73256703
使用的块为:块总数-预留的块=1391877368
总共有多少个块组:使用的块/每个块组包含的块数量=42476.656,为42477个。即共有42477个块组,每个块组有一个块位图,即块位图为:42477个。
关于块位图的作用:一个块组里面有32768个块,操作系统怎么知道哪些块已经使用,哪些块还没有用,如果用32768个bit位来标识,用了的块对应的bit位标识为1,没有用的块标识为0,这样系统扫描这32768个bit位就知道一个块组哪些块用了,哪些没有用。这32768个bit位就是块位图,位于每一个块组的第一个块。32768bit=4KB,刚好一个块,也必须等于一个块,因为块组的大小设定结合快位图的特点,必须等于一个块的bit数。
(对于以上内容的理解,请结合《数据重现》第5章)
在这里插入图片描述在这里插入图片描述

7、对于ext文件系统而言,块组描述符表位于超级块所在块的下一块,已知块大小为8个扇区,即块组描述附表应该位于:34+8=42扇区。并且36、37扇区(超级块所在扇区)之后的39-41号扇区应该没有内容,经查看,符合推断。查看块组表示符表所在的42号扇区。
块组描述符表内用32个字节存放一个块组的描述符,块组描述符里指定了这一个块组块位图起始地址和其他信息,(我们重点先关注块位图)。之前算出有42477个块组,就有42477个块组描述符。
在42号扇区中, 偏移地址0x00-0x03,块位图的起始块号:0x401号块,这表示0号逻辑块组开始于0x401号块。
偏移地址0x20-0x23表示第二块组的块位图起始块号为:0x402号块。依次查看发现42号扇区里共有16个块组描述符,并且这16个块组的快位图是从0x401号块依次存放的,没有放到每一个块组的第一个块。这和第6点讲的“每个块位图放在每个块组的第一个块”不符合。
仔细查看ext4和ext3文件系统的区别,在ext4文件系统中引入了段的概念,对于一个包含32768个块的块组,大小为:128MB(一个块大小为8扇区4KB),存放100G的数据需要很多块组,并且这些块组在物理上不是连续的,那么数据的存取会比较慢,如果把物理上连续的块组拼在一起组成一个更大的“块组”来存放大数据,效率会高很多。于是引入“段”,一个段包含连续的几个块组,每一个块组的块位图都按块组顺序存放在“段“的最前面的块上。
16个块组的大小为:16*0x80 00=0x08 00 00,也就是说下一个段的起始块为0x401+0x08 00 00=0x08 04 01,查看43号扇区,第二段的第一个块位图起始块号为:0x08 00 00,有些误差。再看44号扇区,第三段的第一块位图起始块号:0x10 00 00,与第二段相差刚好0x08 00 00个块。继续依次查看下面的扇区,发现从第二段开始,每段相距都是0x08 00 00个块。

在这里插入图片描述

在这里插入图片描述
8、42477个块组,16个块组一个段,共有2654.8个段即2655个段,一个段的块组描述符占一个扇区,共需要2655个连续扇区。

Raid的条带的大少为2的冥次方,并且应该大于一个块的大小,即为16扇区、32扇区、64扇区、128扇区、256扇区等等。结合上面的信息,这个raid5的条带应该大于等于64个扇区,我们先关注63号扇区到64号扇区之间段的块组描述符里的块位图起始地址是否连续,这里的连续理解为:63号扇区的段第一个块位图起始块号与64号扇区的段的第一块位图起始快号相差0x08 00 00个,如下图63、64号扇区是连续的,说明条带大于64个扇区,继续看127、128号扇区
在这里插入图片描述
127号扇区段的块位图起始块号为:0x02 A8 00 00,
128号扇区段的块位图起始块号为:0x0A B0 00 00,
如果逻辑上两个段是连续的,128号扇区段的块位图起始块号应该为:0x02 A8 00 00+0X08 00 00=0X02 B0 00 00,所以raid的条带大小为128个扇区,即64KB。第二块磁盘的0扇区也应该放的块组描述符表,并且偏移地址0x00-0x03上的内容应该为:00 00 B0 02
在这里插入图片描述

9、查看另外3块磁盘0号扇区,发现2号磁盘的0号扇区符合推断,继续看2号磁盘的127、128扇区在这里插入图片描述
127号扇区段的块位图起始块号为:0x06 A8 00 00,
128号扇区段的块位图起始块号为:0x0E B0 00 00,不是相差0x08 00 00,再次证实条带大小为128个扇区。逻辑上,下一个扇区段的块位图起始块号应该为:0x06 A8 00 00+0X08 00 00=0X06 B0 00 00
在这里插入图片描述
10、查看剩下两块磁盘的0号扇区,发现4号磁盘的0号扇区符合推断在这里插入图片描述
剩下的3号磁盘就是存放的第一块校验数据。由此已经确定盘序为:6-2-4-3,条带大小为:64KB。2655个段能确定2655/128=20.7即21个数据块,按照上述办法足以确定raid5的校验块位置和走向,建立下图所示的表格
在这里插入图片描述
由上述表,可以知道这个raid5为左异步。
11、用取证大师(或者winhex)加载阵列,按照推算出的参数选择
在这里插入图片描述
最后成功完成raid5的重组。

在这里插入图片描述

总结:ext4文件系统的raid5重组,关键是利用了块组描述符表中块位图的起始块号来完成的。该案例中的ext4文件系统:
1个块=8个扇区
1个块组=32768个块
1个段=16个块组
一个块组中哪些块使用了,哪些块空闲是用的块位图来标识。ext3中块位图是位于每一个块组的第一个块。在ext4中,引入段的概念。一个段中的16个块位图是依次放在段的最前面16个块中。而块位图在硬盘的哪个位置是用块组描述符中偏移地址0x00-0x03来标识的。
在ext4文件系统中,除系统保留的块外,所有的块组,每一个块组都有一个块组描述符。这些块组描述符集中保存在块组描述符表中。块组描述符表固定位置为:超级块所在块的下一个块。

R-Studio 中文版是一个功能强大、节省成本的反删除和数据恢复软件系列。它采用独特的数据恢复新技术,为恢复FAT12/16/32、NTFS、NTFS5(由 Windows 2000/XP/2003/Vista创建或更新)、Ext2FS/Ext3FS(LINUX 文件系统)以及 UFS1/UFS2(FreeBSD/OpenBSD/NetBSD文件系统)分区的文件提供了最为广泛的数据恢复解决方案。 R-Studio 8 中文版 R-Studio 软件介绍 R-Studio 是功能超强的数据恢复、反删除工具,采用全新恢复技术,为使用 FAT12/16/32、NTFS、NTFS5(Windows 2000系统)和 Ext2FS(Linux系统)分区的磁盘提供完整数据维护解决方案!同时提供对本地和网络磁盘的支持,此外大量参数设置让高级用户获得最佳恢复效果。R-Studio新增加的版本增加了RAID重组功能,可以虚拟重组RAID类型包括,RAID0,RAID5,其中重组RAID5可以支持缺少一块硬盘。 具体功能有:采用 Windows资源管理器操作界面;通过网络恢复远程数据(远程计算机可运行Win95/98/ME/NT/2000/XP、Linux、UNIX 系统);支持 FAT12/16/32、NTFS、NTFS5Ext2FS文件系统;能够重建损毁的RAID阵列;为磁盘、分区、目录生成镜像文件;恢复删除分区上的文件、加密文件(NTFS 5)、数据流(NTFS、NTFS 5);恢复FDISK或其它磁盘工具删除过得数据、病毒破坏的数据、MBR 破坏后的数据;识别特定文件名;把数据保存到任何磁盘;浏览、编辑文件或磁盘内容等等。 R-Studio已经更新至7.2版本,全新版本支持汉化以及远程连接DeepSpar和RAID自校准,增加SMART表。 R-Studio 功能一览 1.可对所有主要文件系统进行磁盘恢复,包括 FAT12/16/32/exFAT、NTFS、NTFS5(由 Windows 2000/XP/2003/Vista/2008/Win7 创建或更新)、HFS/HFS+ (Macintosh)、Little and Big Endian variants of UFS1/UFS2 (FreeBSD/OpenBSD/NetBSD/Solaris) 以及 Ext2/Ext3/Ext4 FS (Linux)。 2.恢复受损或被破坏的磁盘分区 3.从重新分区或格式化的硬盘和磁盘恢复数据。 4.通过定制的用户定义文件类型进行原始文件搜索(扫描已知文件类型)。 5.高级文件预检器;可在购买前估计磁盘恢复的成功机会。 6.灵活、可升级的文件搜索功能——无论文件大小均能轻松恢复。 7.对损坏部分进行智能处理。 8.备份和恢复磁盘成像(本地或通过网络)。图片文件与 R-Drive Image 相互兼容。 9.Bootable R-Studio Emergency (start-up) 版本可安全消除任何数据存储设备(硬盘、闪存驱动器、外部驱动器等),以实现重用、处理或转移;甚至对不能启动的计算机也有效。 R-Studio 8 中文版 10.通过本地局域网 (LAN) 或互联网进行磁盘恢复。 11.专业 RAID(磁盘阵列)恢复特性,能匹敌或超过具有竞争力的独立式阵列恢复产品。 12.高级文本/十六进制编辑器可支持不同数据模式,如引导记录、主文件表 (MFT) 等。这类模式可能采取自定义创建。 13.高级磁盘复制模块。 任何数据恢复软件都不可能保证100%成功恢复,因为误删文件受很多因素影响,所以开始之前心态要放正。软件虽然是全英文的,但使用起来并不困难。首先得知道文件被删除前所在的盘符,然后双击这个盘符,R-Studio会立即对磁盘进行快速扫描。一般的误删除,在快扫下面就会发现痕迹。从我E盘的快扫结果来看,凡是一个文件或者文件夹的图标上打了叉的,就说明这个文件或者文件夹被删除过。如果打了问号,则证明这个文件被删除过,但是绝对无法恢复了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值