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

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

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

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

在阅读此主题时,我主要看到人们使用三个磁盘,然后使用 RAIDZ-1,这样即使一个磁盘发生故障,它们也不会受到影响。到目前为止,我不太明白的是,仅在两个磁盘之间镜像 ZFS 有什么问题?当一个磁盘发生故障时,我如何注意到?故障转移策略是什么?我是否只会收到一条消息,提示文件系统不可用,因为磁盘 A 发生故障,我应该更换它现在? 我希望运行两个镜像磁盘比只使用一个磁盘能带来真正的好处。

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

答案1

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

raidz,您至少需要三个驱动器。它们的功能类似于 RAID5,其中一个驱动器(实际上)存储恢复信息,而其他驱动器存储数据。它可以处理任何驱动器故障,只要每次只能有一个驱动器发生故障

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

答案2

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

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

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

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

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

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

请注意,NAS4Free Raid 级别(0/1/5 及其组合)不同的比 ZFS 条带/镜像/raidz 和组合更好。我建议只使用后者,也就是说,在由软件 raid 1(镜像)组成的卷上创建 ZFS 池是没有意义的。您将失去 ZFS 提供的许多功能。

答案3

raid0不是镜像,raid1是,可以使用2个磁盘组建raid1,可以容忍一个磁盘故障。raid0不能容忍任何一个磁盘故障。

然而,您至少需要 3 个磁盘用于 raidz。

相关内容