ZFS-RAIDZ-1 真的那么糟糕吗?

ZFS-RAIDZ-1 真的那么糟糕吗?

我有一台 NAS 服务器,其中有 4 个 2TB WD RE4-GP 硬盘,配置为 RAID10(可用 4TB)。我的空间快用完了(剩余可用空间 <1TB)。我没有钱购买更大/更多的硬盘/机箱。

我喜欢我读到的有关 ZFS 数据完整性功能的内容,这些功能本身就足以让我从现有的 XFS(软件)RAID10 切换。然后我读到有关 ZFS 对 RAID5 的卓越实现,所以我认为使用 RAIDZ-1 甚至可以额外获得高达 2TB 的可用空间。

然而,我继续阅读更多的更多的 帖子几乎就是永远不要使用 RAIDZ-1。只有 RAIDZ-2+ 足够可靠,可以处理“真实世界”驱动器故障。当然,就我而言,RAIDZ-2 没有任何意义。最好在单个池中使用两个镜像 vdev(RAID10)。

我是不是疯了才想将 RAIDZ-1 用于 4x 2TB 驱动器?

我是否应该只使用两个镜像 vdev 池(基本上是 RAID10)并希望压缩能给我足够的额外空间?

无论如何,我计划使用压缩。我只有 8GB 的​​ RAM(最大),所以重复数据删除不是一个选项。

这将在 FreeNAS 服务器上运行(即将取代当前的 Ubuntu 操作系统),以避免 ZFS-on-Linux 的稳定性问题。

答案1

在讨论具体细节之前,请先考虑一下您的用例。您存储的是照片、MP3 和 DVD 翻录吗?如果是这样,您可能并不关心是否永久丢失阵列中的一个块。另一方面,如果它是重要数据,这可能是一场灾难。

RAIDZ-1“不足以应对现实世界的故障”的说法是因为当重建时间到来时,您的某个幸存磁盘上可能会出现潜在的介质错误。同样的逻辑也适用于 RAID5。

ZFS 在一定程度上缓解了这种故障。如果无法重建 RAID5 设备,那么您就没那么幸运了;复制 (剩余) 数据并从头开始重建。另一方面,使用 ZFS,它将重建除坏块之外的所有内容,并让管理员“清除”错误。您将丢失一个文件/文件的一部分,但不会丢失整个阵列。当然,ZFS 的奇偶校验意味着您将可靠地收到错误通知。否则,我相信有可能 (尽管不太可能) 多个错误会导致重建看似成功,但却返回坏数据。

由于 ZFS 是“猖獗的分层违规行为”,它还知道哪些区域没有数据,并且可以在重建时跳过它们。因此,如果您的数组是半空的,则重建错误的可能性就会降低一半。

您可以通过定期执行以下任一操作来降低任何 RAID 级别上出现此类重建错误的可能性:“zpool 清理”或者“mdadm 检查”阵列。其他 RAID 也有类似的命令/过程;例如,LSI/dell PERC RAID 卡将此称为“巡检读取”。这些命令/过程会读取所有内容,这可能有助于磁盘驱动器找到故障扇区,并在它们成为永久扇区之前重新分配它们。如果它们是永久扇区的,RAID 系统(ZFS/md/RAID 卡/其他)可以从奇偶校验重建数据。

即使您使用 RAIDZ2 或 RAID6,定期清理也很重要。

最后要注意的是 - 任何类型的 RAID 都不能替代备份 - 它无法保护您免受意外删除、勒索软件等侵害。尽管常规 ZFS 快照可以作为备份策略的一部分。

答案2

这里存在一些误解。你看到的很多建议都基于一个假设,可能并非如此。具体来说,就是驱动器的不可恢复的误码率。

廉价的“家庭用户”磁盘有每 10^14 个错误中有 1 个是无法恢复的。

http://www.seagate.com/gb/en/internal-hard-drives/desktop-hard-drives/desktop-hdd/#specs

在这种情况下,您谈论的是 RAID 重建期间发生不可恢复错误的可能性很大,因此您不应该这样做。(快速粗略的计算表明,5 个 2TB 磁盘 RAID-5 组实际上发生这种情况的可能性约为 60%)

然而这不是对于更昂贵的驱动器来说也是如此: http://www.seagate.com/gb/en/internal-hard-drives/enterprise-hard-drives/hdd/enterprise-performance-15k-hdd/#specs

每 10^16 个 1 个要好 100 倍 - 这意味着 5x 2TB 重建失败的概率小于 1%。(可能更少,因为对于企业用途,600GB 主轴通常更有用)。

因此,就我个人而言,我认为 RAID-5 和 RAID-4 仍然非常有用,因为 RAID-0 仍然相当普遍。别忘了 RAID-6 的问题在于它的写入惩罚很重。您可以通过大量缓存来部分缓解这个问题,但您仍然会遇到一些麻烦,尤其是当您首先使用速度较慢的驱动器时。

更根本的是 - 永远不要相信您的 RAID 能为您提供完全的弹性。您因“糟糕”而丢失数据的次数比因驱动器故障而丢失数据的次数要多,因此如果您关心数据,就需要一个像样的备份策略。

答案3

嗯,这里有一些不好的信息。对于 4 个磁盘,XFS 确实没有什么问题。出于性能和可扩展性的原因(低读写率,无法扩展),我倾向于避免使用 ZFS RAIDZ。如果可以,请使用 ZFS 镜像。但是,如果有 4 个磁盘而没有地方放置操作系统,您要么会损失大量容量,要么必须通过奇怪的分区游戏才能将您的操作系统和数据放入相同的四个磁盘上。

我可能不会推荐您使用 ZFS。XFS 在这方面没有任何问题。

相关内容