磁盘阵列为何使用的奇偶校验比数据少?

磁盘阵列为何使用的奇偶校验比数据少?

我一直在查看如下所示的磁盘阵列计算器:

https://www.synology.com/en-us/support/RAID_calculator

我放入了 16TB(4+6+6),它说我可以有 10TB 的数据和 6TB 的保护。它怎么能提供这些呢?我认为在条带化 4TB 之后,它应该无法保护剩余的 2TB,因为没有足够的信息来解析奇偶校验

我假设奇偶校验以某种方式被压缩。有没有办法证明压缩奇偶校验需要最大空间量,或者它在撒谎,如果无法获得所需的压缩率,就会耍一些恶作剧,比如假装驱动器已满?

答案1

使用 4、6 和 6 TB 三个驱动器,Synology 会将您的数据配置为:

  • 12TB RAID5 阵列使用每个磁盘的前 4TB - 8 TB 的数据、4 TB 的奇偶校验。

  • 两个 6 TB 磁盘的剩余空间上有一个 4TB RAID1 阵列,每个磁盘镜像 2TB 数据(2TB 数据,2TB“奇偶校验”)。

总计:10 TB 数据,6 TB 冗余副本。无需压缩。

答案2

根据阵列的设置方式,您需要防止单个驱动器发生故障,第三个驱动器包含其他两个驱动器的所谓“奇偶校验”信息。

实际上,您得到的是以下过度简化:

  • 驱动器 1:数据块 1
  • 驱动器 2:数据块 2
  • 驱动器 3:包含数据块 1 和数据块 2 总和的数据块

如果数据块 1 损坏,那么您只需取出驱动器 2 上的数据,并将其从驱动器 3 上的数据中减去,即可恢复驱动器 1 上的信息。通过这种方式,您具有弹性,但不需要像完整备份那样多的空间,并且可以扩展到任意数量的驱动器,并为您提供任何故障的容错能力单身的驱动器故障。

这会比读取原始数据慢,而且如果两个驱动器出现故障,也不会保护您的数据,但这确实意味着您只需要使用一个驱动器进行保护,而不必为每个“数据”驱动器配备一个备份驱动器。

以 RAID 1(镜像)为例,您总是会“浪费”总磁盘数的一半,以便在发生故障时提供冗余。在上述主题(RAID 5)中,您可以拥有四个磁盘,但只需使用其中一个磁盘来存储奇偶校验信息,这意味着您现在只使用了四分之一的磁盘空间,而不是使用一半的磁盘空间来保护数据,而将四分之三的磁盘空间用于存储。

相关内容