磁盘阵列RAID0 数据恢复方法概述 ( 一 )
要恢复 RAID0磁盘阵列 ,首先需要了解 RAID0 磁盘阵列的组织结构,明白 RAID0磁盘阵列 上的数据存储逻辑。
RAID0 磁盘阵列即为无冗余功能磁盘阵列,其最小组成需要两块磁盘。由 4 块磁盘组成的 RAID0磁盘阵列 其结构如下所示:
磁盘 0 | 磁盘 1 | 磁盘 2 | 磁盘 3 |
保留扇区 | 保留扇区 | 保留扇区 | 保留扇区 |
D1 | D2 | D3 | D4 |
D5 | D6 | D7 | D8 |
D9 | D10 | D11 | D12 |
D13 | D14 | D15 | D16 |
.. | .. | . |
|
RAID0 磁盘阵列
磁盘阵列在创建时将配置信息保存起来,以便在阵列重启后能重新加载,从而访问阵列数据。通常磁盘阵列信息会有两种保存方式,一种是存储于磁盘阵列卡上,另一种则是在阵列磁盘中,也就是从每个磁盘头部或某些区域保留一部分用于存储磁盘阵列信息。
如上图所示,“保留扇区”通常用于存放磁盘阵列的一些配置信息或阵列管理系统的参数,其大小要根据具体的阵列卡型号而定,需要具体分析。
问题 A :如何分析保留扇区大小?
磁盘阵列在管理数据时不是按照扇区来存取数据,而是按照数据块来存取。数据块也就是磁盘阵列在存取数据时的最小单位,通常一个数据块可以是 16 、 32 、 64 、 128 、 256 、 512….4096 个扇区,如图 D1 、 D2 、 D3……. 等均为数据块。不同的磁盘阵列卡,可支持的数据块大小不一样,同时应用于不同环境的磁盘阵列,管理员在创建阵列时所选择的数据块大小也不一样。
问题 B :如何分析数据块大小?
橙色 部分则称为条带 (Stripe) ,也称为数据条带,也就是将连续的数据按照块同时写入到各个磁盘当中,从而提高数据的存取速度。
RAID0 称作无冗余功能磁盘阵列,是由于一旦组成 RAID0 阵列中的任何一块磁盘无法正常访问或损坏,则整个阵列将失效,既无冗余功能,故称之为0。例如由 4 块盘组成的阵列,假设磁盘 3 由于异常情况(突然断电、磁盘损坏、阵列信息丢失等)无法访问,那么整个阵列将会如下图所示:
磁盘 0 | 磁盘 1 | 磁盘 2 |
保留扇区 | 保留扇区 | 保留扇区 |
D1 | D2 | D3 |
D5 | D6 | D7 |
D9 | D10 | D11 |
D13 | D14 | D15 |
.. | .. | .. |
缺盘的 RAID0 磁盘阵列
其中的 D4 、 D8 、 D12…. 等数据块都将无法访问,整个阵列的数据完整性受到破坏,用户将无法正常使用。
RAID0 的数据块 D1 、 D2 、 D3 、 D4….. 是按照一定的顺序存取的,如果磁盘 0 、磁盘 1 、磁盘 2 、磁盘 3 在阵列中的顺序发生变化,那么已有的数据逻辑将打乱,磁盘阵列也将失效,如下图所示:
磁盘 0 | 磁盘 2 | 磁盘 1 | 磁盘 3 |
保留扇区 | 保留扇区 | 保留扇区 | 保留扇区 |
D1 | D3 | D2 | D4 |
D5 | D7 | D6 | D8 |
D9 | D11 | D10 | D12 |
D13 | D15 | D14 | D16 |
.. | .. | .. | . |
盘续混乱的 RAID0 磁盘阵列
数据块逻辑 D1 、 D2 、 D3 、 D4…. 被打乱,当阵列按照原有的阵列配置信息访问磁盘阵列时,如果本意要读取 D2 数据块,则实际读取的数据块是 D3 ,数据对用户是无效的。假设这些数据块正位于操作系统所在区域,则系统将无法启动。
问题 C :如果磁盘顺序发生混乱,应如何分析阵列磁盘顺序?
根据以上三个问题,我们做如下推断, RAID0 磁盘阵列信息至少应包含如下几点:
1 :保留扇区大小,既数据块的起始扇区扇区。
2 :数据块的大小。
3 :磁盘顺序。
如果一个 RAID0 磁盘阵列损坏,则至少要分析以上三个必要信息,只有在分析出以上三个信息以后,我们才可以使用阵列重组软件,模拟阵列卡重组 RAID0 磁盘阵列。
具体分析方法将在后续文章中介绍,欢迎交流!