aufs、unionfs和overlayfs的区别

use*_*712 33 linux filesystems

我必须加入两个文件系统,一个只读(squashfs)和一个读写(ext4)。我的计划是将读写文件系统挂载在只读文件系统上,使其看起来可写。当我对只读文件系统进行一些更改时,更改应该转到读写文件系统。

我使用的是 Linux 3.17、Ubuntu 14.10,并且遇到了这些文件系统:aufs、unionfs 和 overlayfs。我不知道他们彼此之间有什么区别以及在这种情况下使用什么。谁能告诉我aufs、unionfs 和overlayfs 之间的区别,或者只是建议在这种情况下使用最好的一个?

把友情*_*在无盐 8

overlayfs 已合并到内核 3.18-rc2 中。现在它已经升级到主要的 Linux 树,可以合理地猜测 overlayfs 将来会得到更广泛的采用。


whe*_*rom 5

在 gentoo 的wiki上稍微阅读一下。揭示了 unionfs 和 OverlayFS 之间的一个区别。Speed OverlayFS 将所有文件 i/o 请求直接发送到底层文件系统。因此可能比 unionfs 更快。aufs 提供了一组超级的 OverlayFS 功能。换句话说,有些设置可以用 aufs 完成,但不能用 OverlayFS 完成。aufs 不在官方内核中,但应该包含在您的系统中。

aufs 支持选择哪个分支是可写的,而不是由驱动程序使用这个硬代码。不清楚天气是否覆盖overlayfs 是否这个unionfs 没有。

对于内核 3.17,主线既不包含 overlayfs 也不包含 aufs。Ubuntu 可能选择包含它们。如果不是,则需要安装适当的内核模块。