单个大文件上的 OverlayFS

问题描述

我想解决以下一组约束:

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

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

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

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)