温馨提示×

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 位于同一文件系统;对生产环境先充分测试,避免误配置导致无法启动或数据不可达。

0