Linux 五盘 RAID-5 右异步恢复复盘
发布:2026年10月7日 · 深圳易昇卓越数据恢复中心 · 实战案例复盘(Linux 五盘 RAID-5)
这次分析的对象是一组基于 Linux 的五盘 RAID-5,成员盘为五块 36GB 硬盘,现场拿到的是每块成员盘的部分镜像。五个镜像文件用 WinHex 同时打开,先看到各盘 0 号扇区并不一致:有的为空,有的带 MBR。复盘重点就是如何从这些盘面数据判断 RAID 起始位置、条带大小、盘序、校验方向和数据方向。
现场情况:五盘 Linux RAID-5 的部分镜像
案例来自《数据恢复技术深度揭秘》(第二版)配套视频的实例3,对应书中第18章18.3.2。对象是基于 Linux 系统的五盘 RAID-5,五块成员盘均为 36GB,按 5 块盘组 RAID-5 估算,逻辑容量约 140GB。现场不是整盘克隆,而是五个成员盘的部分镜像;分析时用 WinHex 同时打开五个镜像文件。
先看每块盘 0 号扇区:硬盘0为空,硬盘1出现 MBR,硬盘2为空,硬盘3也出现 MBR,硬盘4为空。硬盘1的 MBR 分区表中有三个表项被使用:系统分区被激活,类型为 83,可以是 EXT3 或 EXT2;第二个分区也是 83;第三个是扩展分区。因为硬盘1和硬盘3同时出现 MBR,而一个 RAID-5 逻辑盘通常只应有一个有效 MBR,所以后续必须判断哪一个 MBR 属于有效数据,哪一个位于校验盘上。
先看什么:从 0 号扇区确认 RAID 起始位置
分析没有直接从文件系统入手,而是从 RAID 开始扇区入手。查看每块盘 0 号扇区后,重点检验硬盘1的 MBR 是否对应整个逻辑盘。硬盘1分区表记录的总扇区数,与五块 36GB 硬盘组建 RAID-5 后的容量基本相符,算下来大约 140GB。这说明硬盘1上的 MBR 是逻辑盘的有效 MBR,同时也说明当前 RAID-5 的起始位置就在物理盘 0 号扇区,而不是前面还带有阵列元数据偏移。
硬盘3也有一份 MBR,但两份 MBR 不可能同时都是有效数据,因此其中必有一份是校验。此时已经得到两个关键线索:RAID 起始位置为 0;有效 MBR 所在的硬盘1是后续盘序判断的重要参照。其余三块盘 0 号扇区为空,也符合条带分布中数据、校验交替出现的情形。
条带大小:从 63 号偏移、超级块与 15/16 扇区反推
硬盘1的 MBR 分区表显示,分区开始位置在 63 号扇区。跳转到 63 号扇区查看,它不是 Linux EXT 文件系统分区的引导程序所在扇区,也不是分区内第三个扇区的超级块;这里已经出现完整的 i 节点数据。这说明从分区开始到 63 号扇区之间,已经跨过了引导、超级块、块组描述符和位图等结构,条带大小一定小于 64 扇区,可能是 32、16 或 8。
为缩小范围,在成员盘中搜索超级块标志 53EF。硬盘0、硬盘1、硬盘2找到的位置都在 1000 多扇区或更后,属于后续备份超级块;硬盘3从 0 号扇区向后搜索,在 17 号扇区找到超级块。结合分区从 63 号扇区开始、0 到 62 号扇区为 MBR 保留区域,以及分区内固定结构的位置,推断条带大小为 16 扇区。进一步看 15 号与 16 号扇区:硬盘0的 15 号是引导扇区,16 号已经是 i 节点,二者不衔接,说明在 15/16 之间跨条带。由此确认条带大小就是 16 扇区。
盘序判断:用校验盘特征和块组结构定位成员盘
确定条带为 16 扇区后,比较每块盘 0、15、16 号扇区。硬盘1的 16 号扇区出现大量不连续 FF,素材中据经验判断为校验;硬盘3的 0 号扇区也有 MBR。由于一个逻辑盘不能有两个相同有效 MBR,硬盘1的 MBR 是真实数据,硬盘3的 MBR 应位于校验盘。
接着假设阵列结构:若为左结构,硬盘1应为 0 号盘,硬盘3为最后一块盘,但硬盘1的 16 号扇区是校验,不符合左结构中校验出现的位置,所以左结构被推翻。若为右结构,硬盘3为 0 号盘,硬盘1为 1 号盘,硬盘1 16 号扇区的校验位置正好符合。随后用文件系统固定结构继续排剩余盘:超级块位于硬盘3的 17 号扇区,块大小描述值为 2,即每块 4KB、8 个扇区。0 号块组中,块位图在 2 号块,换算后为逻辑盘 79 号扇区;i 节点位图在 3 号块,为 87 号扇区;i 节点表在 4 号块,为 95 号扇区。结合各物理盘 15、16 号扇区内容,硬盘0对应最后一块盘,硬盘2位于倒数第二位,硬盘4为 2 号盘。最终盘序为:硬盘3、硬盘1、硬盘4、硬盘2、硬盘0,依次对应 0 到 4 号盘。
数据方向与结论:判定右异步及重组限制
盘序确定后,还差数据方向。素材中区分同步与异步的方法,是看条带组最后一块盘的第一条带数据与下一条带如何衔接。若数据写完后往后一个位置写,属于同步;若写到另一个位置,属于异步。分析中,硬盘3第二条带是超级块结构,硬盘0作为最后一块盘,其条带最后一个扇区对应逻辑盘 63 号扇区,相当于引导扇区;引导扇区之后接引导扇区,第三个位置是超级块。这个超级块与硬盘3的超级块位置形成衔接关系,说明阵列采用异步结构。前面已经判定校验方向为右,所以最终结论是右结构里面的异步,即右异步。
汇总参数:RAID 起始位置为 0,条带大小为 16 扇区,文件系统模板判断为 EXT3 结构,盘序为硬盘3、硬盘1、硬盘4、硬盘2、硬盘0,校验方向为右,数据方向为异步。重组可用 RC 工具或 UFS 工具,方法与 Windows RAID 重组类似;但素材中镜像截取的空间和扇区数不算多,组出来后数据看不完整,因此案例没有继续做完整重组验证。
可迁移经验:适用边界与验证顺序
这个案例的价值在于参数判定顺序和互相验证。面对 Linux 五盘 RAID-5 的部分镜像,可以按以下思路推进:从每块成员盘 0 号扇区开始,看 MBR、分区表与容量是否吻合,先确认 RAID 起始位置;再用分区偏移、超级块标志 53EF、i 节点出现位置判断条带大小,并用相邻扇区是否衔接做验证;随后通过校验盘特征、MBR 真伪、左/右结构假设排除来确定盘序;最后用块组描述符、位图、i 节点表的固定位置补齐剩余盘序,并看条带组边界判断同步或异步。
适用情况是成员盘有部分镜像、文件系统元数据尚在、能够用 WinHex 逐盘比对;不适用的情况包括镜像扇区数不足、关键元数据被覆盖、文件系统结构已破坏,或者仅凭单盘 MBR 就下结论。Linux RAID 与 Windows RAID 的结构分析思路有相通处,但内部文件系统不同,结论必须来自盘面数据互证,不能直接套用。
常见问题
Linux 五盘 RAID-5 恢复前为什么要用五个镜像分析?
素材中现场拿到的是五块成员盘的部分镜像,用 WinHex 同时打开可以逐盘比对 0 号、15 号、16 号扇区等固定位置,判断条带、盘序和校验方向。这样做也能避免在原盘上反复操作,先以镜像为分析对象。
怎么判断哪块盘是校验盘?
先看 0 号扇区。硬盘1和硬盘3都出现 MBR,但一个逻辑盘不应有两个相同有效 MBR,因此其中一份应位于校验盘;再结合 15/16 号扇区和右结构下的校验分布,硬盘3的 0 号条带被判断为校验,硬盘1的 16 号条带为校验。
条带大小 16 扇区是怎么确认的?
分区从 63 号扇区开始,但该位置已进入 i 节点,说明条带小于 64,可能为 32、16 或 8;在硬盘3的 17 号扇区找到超级块后,结合分区保留扇区和固定结构推断为 16 扇区,并用 15 号与 16 号扇区不衔接做验证。
为什么结论是右异步而不是左同步?
先通过硬盘1 16 号扇区为校验、硬盘3 0 号条带为校验,排除左结构并确定右结构;再比较条带组边界,硬盘3的超级块与硬盘0对应逻辑盘 63 号扇区的引导结构形成衔接,符合异步特征,所以是右异步。
这个阵列最后为什么没有直接重组出数据?
素材中五个成员盘是部分镜像,镜像截取的空间和扇区数不算多。虽然可以用 RC 或 UFS 工具按右异步参数重组,但组出来后数据看不完整,所以视频案例停在参数判定与结构分析阶段。
数据无价,先检测再决定
到店免费检测,出具检测报告后根据具体故障报价,不做盲目低价引流再加价。不成功不收费。
📞 韦工:18620311365
📍 办公室:福田区深南中路2070号电子科技大厦
📖 延伸阅读:RAID 参数判定方法 · RAID5 重建实战 · 技术专题