Ubuntu Overlay配置可以自定义吗
小樊
43
2025-11-30 08:32:40
Ubuntu Overlay 配置的自定义
可以自定义的范围
- 可以自定义的内容包括:选择不同的lowerdir/upperdir/workdir层、是否启用只读根文件系统并写入到临时层、为特定目录单独做覆盖、以及将覆盖挂载持久化到 /etc/fstab。常见场景有:容器/镜像层叠、kiosk/嵌入式设备的防误写、对系统某些子目录做临时覆盖而不影响整体只读根。OverlayFS 自 Linux 内核 3.18 起提供,Ubuntu 可直接使用;容器场景常用 fuse-overlayfs,只读根场景常用 overlayroot。
常见自定义方式
- 只读根 + 临时写入层(overlayroot)
- 适用:公共终端、工控/嵌入式设备,防止对系统盘写入。
- 做法:编辑 /etc/overlayroot.conf,设置如 overlayroot=“tmpfs:swap=1,recurse=0”(仅对 /data 可写示例);重启后根文件系统以只读方式挂载,修改写入到 tmpfs。需要临时改机时,可在 GRUB 启动项加 overlayroot=disabled 进入可写模式。
- 目录级覆盖(手动 mount -t overlay)
- 适用:对某个目录做可写覆盖,不影响系统其他部分。
- 做法:准备目录结构(upper、work、lower、merged),用 mount -t overlay 指定 lowerdir/upperdir/workdir 挂载到 merged;如需持久化,写入 /etc/fstab。
- 容器/镜像层叠(fuse-overlayfs)
- 适用:无需特权容器的镜像层叠或开发测试环境。
- 做法:安装 fuse-overlayfs,按镜像/基础层作为 lowerdir,配置 upper/work/merged 后挂载使用。
关键配置项与参数
- lowerdir:只读层路径(可为多个,用“:”分隔,顺序从左到右优先级递增)。
- upperdir:可写层路径(所有修改写入此处)。
- workdir:OverlayFS 内部工作目录(必须与 upperdir 在同一文件系统)。
- merged:合并视图挂载点。
- 只读根常用选项:如 overlayroot=“tmpfs:swap=1,recurse=0”(swap=1 允许 tmpfs 使用 swap,recurse=0 控制递归覆盖范围);临时禁用可用 overlayroot=disabled 引导参数。
持久化与验证
- 持久化:将覆盖挂载写入 /etc/fstab,示例:
- overlay /mnt/overlay/merged overlay defaults,lowerdir=/path/to/base,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work 0 0
- 验证:
- 查看挂载:mount | grep overlay
- 查看空间:df -h /mnt/overlay/merged
- 卸载:umount /mnt/overlay/merged
- 提示:确保 upperdir 与 workdir 位于同一文件系统;对生产环境先充分测试,避免误配置导致无法启动或数据不可达。