首先是简短版本:我正在寻找能够使用 SSD 透明缓存 HDD 写入的 Linux 兼容软件。但是,我只想每天启动一次或两次硬盘(将缓存的数据写入硬盘)。其余时间,由于噪音问题,HDD 不应旋转。
现在是更长的版本:我已经构建了一台运行 Xubuntu 的完全静音的计算机。它有一个 A10-6700T APU、巨大的无风扇散热器、无风扇 PSU、SSD。问题是:它也有(并且需要)一个嘈杂的硬盘驱动器,我想禁止它在夜间旋转。所有写入都应该缓存在 SSD 上,晚上不需要读取。
这台计算机每天都会自动下载大约 5 GB 的数据,这些数据将保留大约一年,因此所需的总磁盘容量略低于 2 TB。该数据目前存储在 3 TB 噪音大的硬盘驱动器上,该驱动器日夜不停地旋转。有时,我需要访问几个月前的一些数据。但是,大多数时候我只需要过去 14 天的数据,这些数据适合 SSD。理想情况下,我想要一个透明的解决方案(一个文件系统上的所有数据),它将所有写入缓存到 SSD,每天只写入一次 HDD。如果读取仍在 SSD 上,则将由缓存提供读取服务,否则 HDD 将不得不启动。
我尝试过bcache没有太大成功(使用 cache_mode=writeback、writeback_running=0、writeback_delay=86400、sequential_cutoff=0、congested_write_threshold_us=0 - 有什么遗漏?)我读到了ZFS ZIL/L2ARC但我不确定我能实现我对 ZFS 的目标。任何指针?
如果一切都失败了,我将简单地使用一些脚本自动将文件复制到大驱动器,同时从 SSD 中删除最旧的文件。
编辑:缓存确实是我想要的错误术语。目前看来,最初的预期解决方案对我来说是不可能的。感谢所有做出贡献的人!