所以我有一个带有快速 SSD 和大硬盘的台式机。我正在尝试从中获得一个配置良好的大型、快速的 zpool。
我已经读到我可以为 ZIL 和 L2ARC 将单独的分区雕刻到 SSD 中,这似乎可以满足我的要求,但我必须手动配置每个分区应该有多大。我不喜欢它的一点是它有点复杂,如果我需要更改分区,可能很难重新配置,而且听起来最大文件系统大小仅受 HDD 的限制,因为目的是 ZIL 上的所有内容和L2ARC 也必须将其写入磁盘,至少最终是这样。此外,还不清楚 L2ARC 是否在系统重新启动后保留,或者是否必须再次填充。如果它们都在同一个 SSD 上,则必须将数据从 ZIL 复制到 L2ARC 似乎也效率低下,如果目前我对 SSD 上需要多少热数据没有压力,甚至可以复制到 HDD。
或者,我似乎也可以在 SSD 上有 1 个分区,在 HDD 上有 1 个分区,然后将它们直接添加到 zpool 中而没有冗余。我已经尝试过这个,并注意到持续的读/写速度比单独使用 HDD 所能达到的速度还要快。但我不知道现在是否一切都将进入 SSD,一旦 SSD 全部填满,一切都会进入 HDD。理想情况下,我希望 ZFS 在幕后透明地打乱数据,以尝试始终将热数据保留在 SSD 上,类似于 L2ARC,并在 SSD 上有合理的空白空间用于新写入。ZIL 应自动管理为合适的大小,并且最好尽可能多地位于 SSD 上。如果我走手动配置的 ZIL + L2ARC 路线,似乎 ZIL 只需要大约(10 秒 * 硬盘写入速度)大。这样做可以最大化 L2ARC 的大小,这是很好的。但是,如果我添加一个有效地使我的 HDD 速度(和容量)加倍的条带磁盘会发生什么?
将 SSD 用于 ZIL + L2ARC 时的问题摘要:
在单个 zpool 中使用 SSD + HDD 时的问题摘要:
最后,最重要的问题:
虽然 Marco 的回答正确地解释了所有细节,但我只想关注您的最后一个问题/总结:
在同一个池中设置 SSD + HDD 是个好主意,还是有更好的方法来优化我的一对驱动器的速度和容量?
ZFS 是一种文件系统,专为具有许多较小磁盘的大型阵列而设计。虽然它相当灵活,但我认为它对于你目前的情况和目标来说并不理想,原因如下:
现在,有哪些替代方案?