损坏的RAID5
来源:CCF
标签:
参考资料:
相似题目:
背景
独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks)是一种现代常用的存储技术。它以一定形式,将数据分散、冗余地存储在多个磁盘上,从而当部分磁盘不可用时,仍然能保证数据的完整性。RAID 分为多种级别,提供了丰富的冗余性和性能的搭配方案选择。本题中,我们主要研究一种十分常见的 RAID 级别——RAID5。
RAID5 基本算法
RAID5 可以ᨀ供一块硬盘的冗余度,即阵列中至多允许有一块硬盘故障而不丢失
数据。RAID5 的基本原理是异或运算(⊕)。考虑数
上式意味着,在 p 与 a1 … an 这 (n + 1) 个数中,由任意 n 个可以推知其余的一个,这便是 RAID5 的基本原理。
由此,一种朴素的 (n + 1) 块盘的存储方案是:将数据分块存放在前 n 块盘中,然后在第 (n + 1) 块盘中存储前 n 块盘上相应位置处数据的异或结果。这种方案的确可以实现 1 块硬盘的冗余度,但是很显然,如果所有的硬盘都没有发生故障,当读取数据时,最后一块盘完全不会被利用起来,在性能上较为浪费。因此现行 RAID5 的存储方式采取了条