单个硬盘驱动器上的 RAID-Z 是不是很愚蠢?

单个硬盘驱动器上的 RAID-Z 是不是很愚蠢?

显然,如果整个驱动器都坏了,那么单个磁盘上的 RAID-Z 将无济于事。但是其他类型的错误怎么办?

根据我的经验,我有时会遇到无法读取文件的情况。在 Mac OS X 上,系统会挂起一段时间,然后返回错误。我将文件移到某个不碍事的地方,然后我假设该文件有坏扇区或坏块,甚至可能是整个坏道。

回想软盘时代,手动管理磁盘故障只是一种常见的活动。当然,你会尽快更换坏的软盘,但有时你不能立即这样做,所以做法是找到坏区域,将其分配给一个文件,然后永远不要删除该文件。

第一个问题是硬盘如何发生故障?我上面的假设有效吗?坏块坏了但整个驱动器仍然基本可用,这是真的吗?如果是这样,那么 RAID-Z 似乎可以使用其他块(区域)的奇偶校验来修复磁盘的坏块或坏区域。

用例是用于备份。如果我每周将数据推送到 8 TB 驱动器一次,那么将其视为 7 TB 驱动器的数据加上 1 TB 的奇偶校验是否有意义,希望额外的奇偶校验可以帮助我从位腐烂、坏扇区或其他局部驱动器故障中恢复?

如果该理论在技术上没有缺陷,那么可以配置 ZFS 来执行此操作吗?

编辑:我在发布此问题之前看到了另一个问题。将每个分区分成单独的分区并将它们组合在一起是一种选择。但从概念上讲,可以将 N 个分区的块图相互交织在一起,这样,一个条带虽然在逻辑上跨 N 个分区,但在物理上却非常接近。这就是我的问题“ZFS 可以配置为执行此操作吗?”的要点,即仅 ZFS...而不是使用分区技巧的 ZFS。

答案1

由于 RAID-Z 奇偶校验的工作原理是将奇偶校验块放在池中的另一个设备上,因此您需要将设备划分为 N+1、N+2 或 N+3 个大小相等的分区,其中 N 个分区包含数据,1/2 包含奇偶校验位。

在这些分区之上,您将创建一个 zpool,并使用您选择的 RAID-Z,然后在 zpool 上创建一个文件系统。

因此,从理论上讲,这是可行的。实际上,这会使文件系统性能变得糟糕,因为文件中的后续块将位于不同的 ZPool 设备中,而这些设备位于不同的分区中。因此,在读取一个块后,HDD 必须移动到 HDD 盘片的不同区域,读取下一个块,等等。

答案是:是的,这样做很愚蠢。

相关内容