奇偶保护阵列

2020-02-22 23:39:03    Unraid官网-tmtony翻译    6021

Unraid阵列的主要目的是通过添加专用的 奇偶校验驱动器来管理和保护任何驱动器组(JBOD)的数据奇偶校验驱动器提供了一种方法,可以将所有数据从故障驱动器重建到替换驱动器上。令人惊讶的是,单个奇偶校验驱动器可以为所有其他奇偶校验驱动器提供保护!硬盘驱动器的内容可以认为是非常长的位流,每个位只能是零或一。如果对每个驱动器上的第n位的值求和并确定该和是偶数还是奇数,则可以强制将相应的第n个奇偶校验位也设置为偶数或奇数(零或一)。如果数据驱动器发生故障,那么现在可以使用该奇偶校验信息来推断出故障驱动器的确切位值,并在替换驱动器上完美地重建它。这是一个例子:


在上图中,我们有三个驱动器,每个驱动器都有一个比特流,这些比特流的计数根据设备大小而变化。这些设备本身不受保护,如果其中任何一个发生故障,数据将丢失。为了保护自己免于故障,我们必须添加第四个磁盘作为奇偶校验。奇偶校验磁盘的大小必须等于或大于最大数据磁盘的大小。要计算奇偶校验磁盘上每个位的值,我们只需要知道每一列的总和即可。如果一列的总和是偶数,则奇偶校验位应为0。如果一列的总和是奇数,则奇偶校验位应为1。这是与以前相同的图像,但是按帧:


现在,假设我们的示例中的驱动器2发生故障,并购买了新驱动器来替换它:

要在新更换的磁盘上重建数据,我们使用与以前相同的方法,但不是解决奇偶校验位,而是解决丢失的位。对于第1列,总和为0(偶数),因此丢失的位也必须为0。对于第6列,总和为1,是奇数,因此,丢失的位也必须为1。

使用奇偶校验重建磁盘的功能可防止数据丢失。奇偶校验保护还允许系统充分使用,同时保留所有数据的访问权限(即使驱动器发生故障),从而提供容错功能。