ZFS 的每 1TB 磁盘空间规则 1GB RAM 有多重要?

Seb*_*n_H 5 memory nas freenas zfs

我正计划构建我的第一个 NAS 盒,目前我正在考虑使用FreeNASZFS。我阅读了ZFS,它的功能集听起来很有趣,尽管我可能只会使用其中的一小部分。

大多数指南说,推荐的经验法则是池中每 TB 磁盘空间需要 1 GB (ECC-)RAM。所以我的问题是,忽略这条规则的实际(预期)影响是什么?

这是构建具有 ZFS 和 16GB RAM 的 71 TiB NAS 的人的设置。据他说,它运行就像一个魅力。然而,他使用 Linux(如果这有区别的话)。

因此,显然您实际上并不需要 96 甚至 64 Gig 的 RAM 来运行如此大的池。但规则必须存在是有原因的。那么,如果您没有推荐的 RAM 量,会发生什么?它只是慢了一点还是您冒着丢失数据或仅以蜗牛般的速度访问数据的风险?


我意识到这与将要使用的功能也有很大关系,所以这里是我正在考虑的参数:

  • 这是一个家庭系统
  • 16GB ECC RAM(我想到的设置支持的最大值)
  • 无重复数据删除、无 ZIL、无 L2ARC
  • 可能启用了压缩
  • 将主要存储各种大小的媒体文件
  • 可能会运行 bit Torrent 或类似的服务(经常较小的读/写)
  • 4 个磁盘,每个可能 5 TB
  • 实际池设置可能是另一个问题的一部分,但我认为没有 RAIDZ(尽管我很想知道它在这种情况下是否真的有所不同),可能有两个池,每个池有两个磁盘(用于 10TB netto 存储),一个代理作为备份

DrZ*_*Zoo 5

您需要使用该 RAM 与存储空间比率的唯一原因是您决定使用重复数据删除。它并不是说 1 GB 与 1 TB 的比率是必需的。

根据维基:

有效使用重复数据删除可能需要大 RAM 容量;建议为每 TB 存储配备 1 到 5 GB 的 RAM。使用重复数据删除时,物理内存不足或 ZFS 缓存不足会导致虚拟内存抖动,从而降低性能或导致完全内存不足。固态硬盘 (SSD) 可用于缓存重复数据删除表,从而加快重复数据删除性能。

来源