OverlayFS 在 Linux 中的使用指南
一 核心概念与适用场景
二 快速上手步骤
mkdir -p /tmp/{lower,upper,work,merged}echo "from lower" > /tmp/lower/hello.txtsudo mount -t overlay overlay -o lowerdir=/tmp/lower,upperdir=/tmp/upper,workdir=/tmp/work /tmp/mergedcat /tmp/merged/hello.txt(输出:from lower)echo "from upper" > /tmp/merged/hello.txt,随后可见 /tmp/upper/hello.txt 出现(COW)touch /tmp/merged/new.txt,可见 /tmp/upper/new.txtrm /tmp/merged/hello.txt,会在 /tmp/upper/ 生成 whiteout 标记(如 .wh.hello.txt),下层文件未被改动sudo umount /tmp/mergedlowerdir=/lower1:/lower2:...,左侧优先级更高。三 常用挂载选项与注意事项
mount -t overlay overlay -o lowerdir=<lower>,upperdir=<upper>,workdir=<work> <mountpoint>lowerdir=/l1:/l2:/l3(从左到右优先级递减)grep -qs '/mnt/overlay' /proc/mounts。sudo 或调整 uid/gid。noatime、datawriteback)做权衡,但需充分评估数据一致性与崩溃一致性风险。四 常见操作与故障排查
grep -qs '/your/mount' /proc/mounts 或 mount | grep overlaysudo umount /your/mount;若繁忙,先结束占用进程或延迟卸载。.wh.xxx)后重新挂载查看。dmesg | tail、journalctl -xe 获取内核/挂载错误信息;确认目录权限、路径、磁盘空间与 workdir 位置是否正确。五 实用示例
sudo mkdir -p /overlay/{upper,work,merged}sudo mount -t overlay overlay -o lowerdir=/ro-root,upperdir=/overlay/upper,workdir=/overlay/work /overlay/mergedlowerdir 指向版本库/发布包目录,upperdir 指向本地开发改动;在 merged 中编辑会落入 upper,底层保持不变,便于回滚与对比。