首页 > 解决方案 > 单个大文件上的 OverlayFS

问题描述

我想解决以下一组约束:

  1. 我希望能够挂载一个大型(16gb)远程文件的副本
  2. 如果应用程序写入文件的一部分,则将其写入本地副本,而不是通过网络同步
  3. 如果文件的一部分被读取,如果它以前被应用程序写入,它将读取本地副本。如果它从未被写入,它将首先从远程复制到本地,然后从本地读取
  4. 在写入之前从未读取过的文件部分不应通过网络传输(这是最重要的约束)
  5. 该文件将始终具有相同的大小,因此当我们从文件中读取特定字节时应该发生什么,永远不会有歧义。

造成这些限制的原因是,单个文件的绝大部分永远不会被读取,这样的文件很多(每个文件至少有一小部分被读取),并且网络带宽极其有限。

OverlayFS 非常接近我想要的。如果我能够在文件级别而不是目录级别应用overlayfs,我将使用(可能是安装了nfs 的)远程文件作为.lower_file和一个空的稀疏文件作为upper_file.

有什么可以让我做上述事情的吗?

标签: linuxubuntufilesystemsnfsoverlayfs

解决方案


推荐阅读