像缓存一样工作的可堆叠文件系统

Ole*_*nge 5 aufs overlayfs unionfs

我正在寻找一个可堆叠的文件系统(如 UnionFS、.aufs和 OverlayFS),它的工作原理类似于bcachelvmcache在文件级别 - 而不是在块级别:

  • 读取将从顶层完成。如果文件不存在,则从底层读取文件并将其存储在顶层。
  • 将写入顶层。写入完成后,也会写入到底层(如回写/后写缓存)
  • 当顶层达到一定大小时,文件将从顶层(如 LRU 缓存)中删除。文件只有被写入底层才会被删除。

对于我的使用,底层将比顶层大 10-1000 倍 - 换句话说:底层将不适合顶层(再次类似于bcache)。

这种可堆叠的文件系统存在吗?可以用aufs或类似的方法完成吗?

背景

喜欢文件系统,并使用各种基于 Fuse 的文件系统。但是像这样的文件系统sshfs可能会相当慢,如果你知道底层只能通过这个系统来改变,那么有一种方法来加速它会非常方便。

使用sshfs挂载目录作为底层只是一个例子,所以我不是在寻找一种专门的方法来处理sshfs. 我正在寻找一种通用方法,其中顶层和底层仅被视为目录。

小智 -1

您所描述的内容可以通过使用标准 LVM 缓存卷来处理。通常顶层由更快的设备(例如 SSD)处理。LVM 缓存卷是高度可配置的,例如,您可以指定 writethrough 缓存(同时写入较低层 = 无数据丢失)或 writecache(延迟写入较低层 = 更好的性能)。

lvmcache(7) 描述了如何将标准逻辑卷 (LV) 转换为使用快速设备作为缓存顶层的卷。