本文摘于《数据重现--文件系统原理精解与数据恢复最佳实践》
我们已经了解,阵列的校验块走向分为左循环与右循环。那么,在实际恢复中,应该如何判断一个阵列的校验块走向呢?也就是说,我们根据什么可以说某个阵列是左循环,或者说某个阵列是右循环呢?我们以常见的
MBR
磁盘为例来进行说明。
我们都知道,
MBR
磁盘的第一个扇区一定是
MBR
,通过
RAID
技术虚拟出的
MBR
磁盘也是如此。但是,落实到真实的阵列成员盘,这个
MBR
扇区却并不一定就位于阵列的
0
号盘,还有可能位于
1
号盘上。如图
11.25
所示,图
11.25
(
A
)为左循环,图
11.25
(
B
)为右循环。为了便于叙述,我们假设阵列起始于每个成员盘的
0
号扇区。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
可以看到,左循环的情况下,
0
号盘第一个扇区为
MBR
,
0
号盘的第一个校验块位于
2
号块。右循环的情况下,
1
号盘第一个扇区为
MBR
,
1
号块为校验。我们可以根据这个特点初步判断左循环与右循环。即:假设阵列由
N
个成员盘组成,当确定某个磁盘的
0
号块为阵列中的第一个数据块时,如果该磁盘的
1
号块为校验块,则阵列为右循环;如果该磁盘的第一个校验块位于它的
N-1
号块,则为左循环。
提示:如果确定阵列没有被破坏,块大小等参数也没有分析错误的情况下,无论如何无法获得正确数据,则应该考虑遇到了比较罕见的情况,如图11.26所示。
这种阵列是右循环阵列,按照我们常规的分析很容易将盘序错误地判断为
2
-
0
-
1
,这样就会导致数据前后位置错乱,无法得到正确的数据。这种阵列并不多见,在实际恢复过程中可以按照常规方法进行分析判断,如果常规分析无法得到正确数据时,可以考虑是否遇到这种阵列布局。
转载于:https://blog.51cto.com/sjhfml/132667