Overlay filesystem
外观
(从 Overlayfs 重定向而来)
源自 首次内核提交
- Overlayfs 允许将一个通常是读写的目录树叠加到另一个只读的目录树之上。所有修改都会被写入上层可写层。这种机制最常用于 Live CD,但也有各种其他用途。
- 该实现与其他“联合文件系统”实现的不同之处在于,文件打开后,所有操作都直接转到底层(上层或下层)文件系统。这简化了实现,并在这些情况下允许原生性能。
Overlayfs 自 3.18 版本以来一直存在于 Linux 内核中。
安装
Overlayfs 在默认内核中已启用,并且在发出挂载命令时会自动加载 overlay 内核模块。
用法
要挂载 overlay,请使用以下 mount 选项
# mount -t overlay overlay -o lowerdir=/lower,upperdir=/upper,workdir=/work /merged
注意 工作目录 (
workdir) 必须是与上层目录位于同一文件系统上的空目录。- 下层目录可以是只读的,也可以是叠加文件系统本身。
- 上层目录通常是可写的。
- 工作目录用于在文件在不同层之间切换时进行准备。
下层目录实际上可以是多个用 : 分隔的目录列表,对 merged 目录的所有更改仍然会反映在 upper 中。
示例
# mount -t overlay overlay -o lowerdir=/lower1:/lower2:/lower3,upperdir=/upper,workdir=/work /merged
注意 下层目录的顺序是:最右边的目录是最低的,因此上层目录位于从左到右的下层目录列表的第一个目录之上;而不是位于列表的最后一个目录之上,尽管顺序可能看起来是这样。
上面的例子将具有以下顺序
/upper /lower1 /lower2 /lower3
要将 overlayfs 条目添加到 /etc/fstab,请使用以下格式
/etc/fstab
overlay /merged overlay noauto,x-systemd.automount,lowerdir=/lower,upperdir=/upper,workdir=/work 0 0
noauto 和 x-systemd.automount 挂载选项是必需的,以防止 systemd 在启动时因无法挂载 overlay 而挂起。现在,当 overlay 首次被访问时,它会被挂载,并且请求会一直缓冲直到它准备就绪。请参阅 fstab#Automount with systemd。
只读叠加
有时,只想创建两个或多个目录组合的只读视图。在这种情况下,可以更轻松地创建它,因为 upper 和 work 目录 **不是** 必需的
# mount -t overlay overlay -o lowerdir=/lower1:/lower2 /merged
当未指定 upperdir 时,overlay 会自动以只读模式挂载。