非持久差异文件

非持久差异文件

我有一个大文件(5-10 GB),并且想要在具有以下条件/功能的特殊文件系统中访问该文件:

  1. 有一个进程读取和写入文件。
  2. 当进程写入文件的某个位置并随后读取同一位置时,将返回新值(文件似乎已更改)。
  3. 当文件系统收到回滚信号时,文件将恢复到原始状态。

从理论上讲,我可以想象一种机制,其中更改保存在辅助文件上,并且有一个虚拟文件系统来管理所有这些,为最终用户提供非持久文件的可视化。有谁知道这个的实现吗?

答案1

寻找具有快照功能的存储机制。在 Linux 下,Btrfs文件系统支持快照。你可以用 [ btrfs](来制作它们https://btrfs.wiki.kernel.org/index.php/Btrfs(命令)命令。

btrfs subvolume snapshot myvolume mysnapshot
… work on mysnapshot, not on the original file …
btrfs subvolume delete mysnapshot

另一个支持快照的文件系统是ZFS,它是 Solaris 原生的,也可在 Linux 和 *BSD 上使用。你可以用zfs命令。

zfs snapshot myvolume@mysnapshot
zfs rollback mysnapshot

在Linux下,您还可以在以下位置进行快照左心室容量等级。看如何在LVM中创建只读快照,然后在工作完成后回滚到该快照?

相关内容