总的来说,NAS 设备,如 Buffalo LinkStation 和 TeraStation、Iomega StorCenter 和 Synology,使用的是由每个驱动器的数据分区(最大的分区)所构建成的软件 RAID。XFS 文件系统分布在这些数据分区中。因此,为了能够正确组装 RAID 配置以进行进一步的数据恢复,用户需要知道该 NAS 设备中 RAID 系统的驱动器的正确顺序。
以下内容介绍如何识别基于 XFS 系统的 Buffalo TeraStation、Iomega StorCenter、Synology 和类似 NAS 型号的四盘位 NAS 中的驱动器顺序。
内容:
在开始从基于 XFS 的 NAS 恢复数据之前,应了解 RAID 驱动器和 RAID 参数的顺序。
识别驱动器顺序的一种可行方法是根据数据分区开头的已知数据片段分析其十六进制内容。CI 十六进制查看器提供了此类分析的有效方法。同时,一些高级数据恢复软件(如 UFS Explorer、ReclaiMe Pro 等)提供了一种更简单的方法来识别 RAID 参数 - 自动 RAID 检测。
通常,NAS 设备不允许直接低级别访问其文件系统,基于 XFS 的 NAS 解决方案也不例外。因此,您应该拆卸下来驱动器并将其连接到 PC。
基于 XFS 的 NAS 通常应用 MD RAID 配置。这种 RAID 配置是在众所周知的 mdadm 实用程序的帮助下创建的,包括JBOD、条带 (RAID 0)、镜像 (RAID 1)、RAID 5 和 RAID 6 配置。此实用程序使用足够可以自动构建 RAID 的元数据来创建伪分区。
UFS Explorer 软件支持从软件 RAID 进行自动检测、重建和数据恢复。UFS Explorer RAID Recovery 专为处理复杂的 RAID 系统而开发,而 UFS Explorer Professional Recovery 则提供了一种从各种设备(包括不同复杂程度的RAID集)恢复数据的专业方法。
要在 UFS Explorer RAID Recovery 的帮助下自动构建 RAID,应:
如果在程序设置中关闭了自动 RAID 检测,则应:
注意:如果将 NAS 的 RAID 参数重置为不同的 RAID 级别、驱动器顺序或条带大小,则以前的 RAID 配置需要手动定义。在软件对话框中按“否”,拒绝自动RAID组装并使用手动指定RAID参数。
确定 RAID 参数并准确识别 RAID 中驱动器顺序的另一种方法是对驱动器的内容进行深入分析。CI 十六进制查看器为数据的定性底层分析提供了有效的方法。
要准备该程序,应执行以下操作:
1.将 NAS 硬盘连接到电脑;
Linux 用户:不要挂载 NAS 硬盘的文件系统!
Mac 用户:避免使用磁盘工具对磁盘进行任何诊断,修复和类似操作!
2.启动PC,安装并运行CI十六进制查看器;
Windows XP 及更早版本:以管理员身份运行软件;
带有 UAC 的 Windows Vista / 7 / 8 / 10:使用右键菜单以管理员身份运行软件;
macOS:程序启动时以系统管理员身份登录;
Linux:从命令行运行 'sudo cihexview' 或 'su root -c cihexview'。
3.单击“打开”,然后选择“物理磁盘”(Ctrl + Shift + “O”);打开每个 NAS 硬盘的数据分区。
每个 NAS 硬盘具有相同的分区结构:1-3 个小“系统”分区(总大小约为几千兆字节)和一个大型数据分区(通常超过硬盘总容量的 95%)。
要开始分析驱动器的内容,请在 CI 十六进制查看器中打开所有 NAS 驱动器的每个数据分区的十六进制视图。
以下是具有 5 KB 条带大小和 XFS 文件系统的默认 RAID 5 配置的内容分析示例。
图 1.XFS 文件系统启动(超级块)
XFS 文件系统的起始块(或超级块)在开头包含一个“XFSB”字符串、文件系统参数值和许多零。有效的超级块永远不会包含任何范围为 0x100 的非零数据。0x200字节。此属性使确定超级块的有效性变得容易。
图 2.XFS I-Node 块
在此 XFS 文件系统中,I 节点块的偏移量为 64 KB。在默认 64K 条带大小的 RAID 0 和 RAID 5 布局中,I-Node 块位于驱动器 2 数据分区的零偏移量处。
I-Node 可以通过在每256 (0x100)字节块开头的“IN”字符串("49 4E"字节序列)来标识。每个 I-Node 描述一个文件系统对象。
第三个字节的上位定义对象的类型。4X 字节表示目录,8X 字节表示文件。
在图 2 中,第一个 I-Node 表示一个目录,第二个 I-Node 表示一个文件。
图 3.RAID 5 奇偶校验块
奇偶校验块包含来自其他驱动器的数据块的数据混合。它可能看起来像“垃圾”,带有来自数据块的可见数据片段。
即使奇偶校验块包含有效的“XFSB”字符串,与超级块不同,它也包含0x100处的非零数据...0x200字节范围;这使得它与超级块不同。另请注意,奇偶校验块通常包含更多的非零字节。
现在,使用此已知内容并假设起始块是给定驱动器的数据分区的第一个块,您可以定义 RAID 配置:
磁盘阵列 5:
可以将 RAID 5 配置定义为 RAID,在起始块和奇偶校验中只有一个超级块。对同一字节位置的每个起始块的字节进行 XOR 运算的结果为零。
驱动器的顺序如下:带有超级块的驱动器是第一个;带有根目录的驱动器 – 第二个;带有奇偶校验块的驱动器——第四个;剩余的驱动器 – 第三个。奇偶校验过程包括以下步骤:
任何偏移的非零值表示计算错误或缺少奇偶校验。
磁盘阵列 0:
可以将 RAID 0 配置定义为 RAID 在起始块中只有一个超级块且没有奇偶校验。
驱动器的顺序如下:带有超级块的驱动器是第一个;具有根目录的驱动器是第二个驱动器。无法立即识别第 3 个和第 4 个驱动器,但您可以同时尝试并找出其中哪个是正确的。
RAID 10/0+1:
可以将 RAID 10/0+1 配置定义为 RAID,在起始块中有两个超级块。
驱动器的顺序如下:带有超级块的驱动器是第一个,没有超级块(数据或 I 节点)的驱动器是第二个。此配置有两个这样的对,它们都可用于数据恢复。
RAID 1 和多部分存储:
可以将RAID 1和多部分存储定义为在所有起始块中具有超级块的RAID。
驱动器的顺序如下:RAID 1 中的任何驱动器都会提供所有数据。如果是多部分存储,每个驱动器都有一个单独的有效文件系统。
如果分析过程给出的结果相互矛盾,并且您仍然不确定驱动器的顺序,请尝试所有组合并选择匹配的组合。
注意:UFS Explorer 软件不会修改存储上的数据。您可以尝试不同的 RAID 组合,直到获得合适的组合。
找出NAS 驱动器的正确 RAID 配置后,可以继续执行数据恢复过程。
但是,在物理损坏的情况下,为了避免数据丢失,强烈建议将 NAS 带到专业的数据恢复公司进行数据恢复,以防数据永久性丢失!