磁盘阵列知识小课堂(三)
首页 > 鸿萌培训
RAID 5 布局
根据奇偶校验块的位置和数据块的写入顺序,RAID 5有四种不同的类型(注意,在下面的图中,每行的第一个块是红色的)。
对于RAID 5的数据恢复,除了考虑块的大小,起始偏移量和成员盘的顺序外,所有这些参数都应该被分析到。
在 RAID 5 阵列中,写入大小小于数据块大小的数据,需要进行以下操作:
- 读取旧的数据块
- 读取旧的奇偶校验块
- 将旧数据块中的数据与新到的数据块进行比较。每改变一个位,改变奇偶校验中相应的位。
- 写入新的数据块。
- 写入新的奇偶校验块。
可以看出,奇偶校验更新会降低系统的写入性能。
对于等于或大于由N个数据块组成的行的大小的写入,由于不需要读取旧的数据块并查找变化,所以写入速度会更快一些。
RAID 6
RAID 6 同时使用条带和奇偶校验技术,但与 RAID 5 不同的是,它使用两个独立的奇偶校验函数,然后写入两个成员盘。通常情况下,其中一个奇偶校验函数与 RAID 5 中的函数相同(XOR函数),而第二个函数则更为复杂。奇偶校验数据有助于在两个成员盘同时失效时恢复数据。
创建 RAID 6 至少需要4块磁盘。阵列的容量是N块磁盘组成的阵列中最小的成员磁盘大小的(N-2)倍。
读取速度比单块磁盘的情况下快(N-2)倍--行中的两块磁盘持有奇偶校验,读取时无用。这样的读取速度值与RAID 5>中大致相同。
在 RAID 6 中,写入速度并没有提高,因为每次写入都需要重新计算和更新两个不同的奇偶校验块。RAID 6 是相当昂贵的存储选项。然而,当它需要一个大的和可靠的存储空间时,那么 RAID 6 是最好的选择之一,因为它可以在两块磁盘发生故障时保护数据。这可能发生在以下情况:
- 阵列正在重建(所谓的重建时间)。
- 由于操作者的错误而导致错误的磁盘被热插拔。
数据恢复方面的思考
当RAID 5中缺少一个硬盘时,会有一定的速度损失,因为缺少的硬盘上存储的数据必须重新计算。然而,重新计算的速度仍然比读取一个物理损坏的硬盘要快得多。因此,您应该避免使用已知物理损坏(多个坏扇区或类似问题)的硬盘进行恢复。
虽然 RAID 6 可以由控制器用N-2块硬盘重建,但我们分析RAID 6阵列时最好还是需要N-1块硬盘来分析恢复RAID6。
带延迟奇偶校验的RAID 5恢复
一些控制器(如HP SmartArray)使用非标准的条带方案,称为延迟奇偶校验(DP)。
实际上,使用了两个不同的块大小,一个用于奇偶校验,另一个用于数据。奇偶校验块大小是数据块大小的整数倍。因此,在RAID配置中出现了两个额外的参数--延迟和first delay。延迟参数表示多重性,即一个奇偶校验块中适合多少数据块;first delay表示第一个奇偶校验块中包含多少数据块。可能的延迟值有1、2、4、8、16、32,第一个延迟可以从1到延迟值。
延迟奇偶校验的RAID的更多细节
延迟奇偶校验的RAID恢复比上面简单的模型稍微复杂一些。完整的模型包括起始偏移量,起始偏移量小于一个数据块。因此,除了磁盘顺序,还有7个数组参数:
- 开始偏移量。
- 数据块大小(对应于没有延迟的RAID中典型的块大小)。
- 延迟(一个延迟奇偶校验块中的数据块数)。
- Firstdelay(第一个延迟奇偶校验块中的数据块数)。
- 在第一个块中的奇偶校验位置。
- 旋转,它决定了奇偶校验块在数组中的位置变化。
- 数据放置的类型(同步或异步)。
在实践中,控制器元数据而不是用户数据经常被放置在这些块中,因此所有的用户数据仍然可以访问。
RAID 6 恢复和 RAID 6 参数
RAID 6布局利用两种不同的奇偶校验功能,这有助于RAID 6阵列在双磁盘故障下生存。尽管RAID6被认为比RAID5更可靠,但控制器故障的概率是一样的。因此,如果您的RAID6出现故障,这很可能是由于控制器故障造成的。为了从控制器故障中恢复RAID6,您需要知道或恢复以下参数:
- 成员盘的数量
- 磁盘顺序以及哪个磁盘是阵列中的第一个磁盘。
- 块大小。
- 成员盘的起始偏移量。
- 每个奇偶函数的位置。
- 奇偶函数的旋转。
- 用于计算第二个奇偶校验函数的算法。
- 奇偶校验函数的模式。
RAID 6 的复杂性
RAID 6比RAID 5复杂得多。
第一个奇偶校验函数(XOR,图中表示为P)自然来自RAID5。然而,第二个奇偶校验函数(Q)没有被广泛接受的标准。通常情况下,使用Reed-Solomon码或其一些变体。 Reed-Solomon码取决于输入的顺序。这又产生了四种变化:从左到右或从右到左,以及如果P或Q先计算。有几种布局的变化,可容纳两个奇偶函数。