使用 SSD 作为 HDD 的持久缓冲区以减少功耗

使用 SSD 作为 HDD 的持久缓冲区以减少功耗

类似的问题已经被问过多次了...

……但他们都没有答案。由于大多数问题都是旧问题(2012-2015 年),因此我再次尝试。

我有一个 6 GB ZFS 池,大部分时间处于闲置状态。但仍然太忙而无法让磁盘降速,因为服务器上总是有一些小写入。通过长时间关闭磁盘电源,我希望将能源浪费保持在最低限度。我想强调的是,性能是不是我关心的是(游泳池足够快),而是能源消耗。

我的想法是在系统中添加一个 1 TB SSD 作为“持久缓存”(不确定这个词是否正确)。更具体地说,系统应该执行以下操作:

  • 读取最初是从池中应答的,但有问题的文件(或块)应存储在 SSD 上。后续读取应从 SSD 上的副本得到响应。
  • 写入内容存储在 SSD 上。很少(例如每三天)应将新文件写入池中。

这个问题有解决办法吗?根据我的研究,我发现

  • AUFS 也许能够解决我的问题,但它不包含在内核中。我不知道是否有用户空间驱动程序以及它有多好。
  • 相反,OverlayFS 是由 Linux 社区推动的。对我来说,似乎我的用例明确不受支持(因为无论出于何种原因,上层文件夹都无法合并到下层文件夹中)。如果我理解正确的话,OverlayFS 实际上将其视为一个功能而不是缺点 - 这意味着对我的用例来说毫无用处。
  • bcache:写回模式下的 bcache 具有较长的写回时间,看起来确实很有前途。然而,文档指出“默认情况下它将允许在 HDD/Raid 设备上进行顺序读/写”。有没有办法关闭这种行为?另外,我不希望过早回信,这似乎是有问题的。
  • MergerFS:我不知道它是否能满足我的需要。

有没有我还没有看到的工具/解决方案/建议?

相关内容