带有两个磁盘的 ZFS:这有意义吗?什么是最安全的配置?

Jan*_*cke 20 freenas zfs

我正在规划一个私人使用的文件服务器(少量的各种数据,但主要是照片、视频、音乐)。我可能会使用 NAS4free/FreeNAS 并想尝试一下 ZFS。

我的重点不是速度,而是可靠性和数据安全性。尽管如此,我想保持“便宜”,所以我想在两个磁盘之间运行 ZFS 镜像(“raid 1”方式)。我会买一个消费板,所以没有硬件raid控制器。到目前为止,我正在考虑为此使用 ZFS 'mirror' 命令或 FreeNAS 提供的任何相应选项。

在阅读这个主题时,我主要看到人们使用三个磁盘,然后使用 RAIDZ-1,这使他们在一个磁盘出现故障时免疫。到目前为止我不太明白的是仅在两个磁盘之间镜像 ZFS 有什么问题?当一个磁盘出现故障时,我将如何通知?什么是故障转移策略?我是否只是收到文件系统不可用的消息,因为磁盘 A 出现故障,我现在应该更换它?我希望运行两个镜像磁盘而不是只使用一个镜像磁盘时可以实现真正的好处。

给定两个等效的磁盘,您将在哪种 ZFS 模式下运行?

Dar*_*oid 15

对于两个磁盘,您需要mirror模式。这将导致驱动器成为彼此的精确图像。如果 ZFS 尝试从驱动器读取数据块并且验证失败,则 ZFS 将自动尝试修复它。如果修复失败,它将从另一个驱动器读取它并将坏驱动器标记为失败。您应该会收到驱动器出现故障的通知,但文件系统仍然可用。您获得了一些读取速度的提升,但没有写入速度的提升。只要您至少有一个来自镜像集的驱动器,您就拥有了所有数据。

使用raidz,您至少需要三个驱动器。它们的功能类似于 RAID5,其中(有效地)一个驱动器存储恢复信息,另一个驱动器存储数据。它可以处理任何驱动器故障,只要一次只有一个驱动器出现故障

raidz2raidz3与 相同raidz,只是它们可以分别处理两个或三个驱动器故障。但是,它们需要更多驱动器来运行并降低有效容量。

  • “使用 raidz,您至少需要三个驱动器。” -- 不适用于raidz(单奇偶校验)。根据 ZFS 文档,“单奇偶校验 RAID-Z 配置至少需要两个磁盘,双奇偶校验 RAID-Z 配置至少需要三个磁盘。” (2认同)

jll*_*gre 7

如果您有两个相似的磁盘并寻求可靠性和数据安全性,ZFS 镜像是您的最佳选择。

RAIDZ 是一种更便宜的解决方案,因为专用于数据安全的存储比例较小,但镜像速度更快。

关于故障检测和处理,您需要监视您的池 ( zpool status) 以了解是否存在错误。

您可以定期擦洗泳池以检查其健康状况 ( zpool scrub poolname)

ZFS 会自动自我修复,但如果整个磁盘发生故障,您需要向池中添加一个新磁盘来替换损坏的磁盘。然后,池将自动重新同步新磁盘(即从健康的镜像端复制数据)。

我不熟悉 NAS4Free 所以只建议使用 CLI 命令。GUI 应该为大多数或全部提供一个前端。

请注意,NAS4Free Raid 级别(0/1/5 及其组合)与 ZFS stripes/mirror/raidz 及其组合不同。我建议仅使用后者,即没有必要在由软件 raid 1(镜像)组成的卷上创建 ZFS 池。您将失去 ZFS 提供的许多功能。