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


16

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

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

在阅读有关此主题的内容时,我主要看到人们使用三个磁盘,然后使用RAIDZ-1,这样在一个磁盘出现故障的情况下,他们可以不受干扰。到目前为止,我不太了解的是仅在两个磁盘之间镜像ZFS会有什么问题?当一个磁盘出现故障时,我将如何通知?什么是故障转移策略?我刚刚得到一个消息,该文件系统无法使用,因为磁盘中的失败,我应该取代它现在?我希望当运行两个镜像磁盘时,比仅使用一个镜像磁盘能获得真正的好处。

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

Answers:


10

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

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

raidz2和和raidz3相同raidz,除了它们分别可以处理两个或三个发生故障的驱动器。但是,它们需要更多的驱动器才能运行并降低有效容量。


感谢您的澄清。因此,在RAIDZ包含三个驱动器的情况下,其净容量大于其中一个驱动器的净容量,是吗?在这种情况下会是两个磁盘大小吗?
Jan-Philip Gehrcke

@ Jan-PhilipGehrcke是的。假设驱动器大小相同,则镜像阵列的可用大小与1个驱动器相同(无论使用多少磁盘),而RAIDZ具有N-1个可用空间的驱动器。(三个驱动器为您提供了两个可用空间驱动器,五个驱动器为您提供了四个可用空间驱动器,等等。)
达斯Android

2
“使用raidz,您至少需要三个驱动器。” -对于raidz(单一奇偶校验)而言并非如此。根据ZFS文档,“单奇偶校验RAID-Z配置至少需要两个磁盘,而双奇偶校验RAID-Z配置至少需要三个磁盘。
Poulsbo 2015年

3

如果您有两个相似的磁盘并寻求可靠性和数据安全性,则可以使用ZFS镜像。

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

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

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

ZFS会自动自我修复,但如果整个磁盘出现故障,则需要向池中添加新磁盘以替换损坏的磁盘。然后,池将自动重新同步新磁盘(即,从运行状况良好的镜像侧复制数据)。

我对NAS4Free不熟悉,因此仅建议使用CLI命令。GUI应该为大多数或全部提供前端。

注意,NAS4Free RAID级别(0/1/5和组合)是不同的比ZFS条纹/镜/ RAIDZ和组合。我建议仅使用后者,即在由软件RAID 1(镜像)组成的卷上创建ZFS池是没有意义的。您将失去ZFS提供的许多功能。


感谢您的输入。像NAS4Free长相支持ZFS存储池的主要特征,比如反射镜:wiki.nas4free.org/...
扬菲利普Gehrcke

希望能。我只是警告您不要使用传统镜像:wiki.nas4free.org/…–
jlliagre

0

raid0不是镜像,raid1是镜像,您可以使用2个磁盘来设置raid1,该磁盘可以容忍一个故障磁盘。raid0无法容忍任何磁盘故障。

但是,您至少需要3个磁盘用于raidz。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.