在 CentOS 上配置 Overlay(OverlayFS),通常用于 Docker、容器、LiveCD、只读根文件系统 等场景。下面按常见使用方式说明。
OverlayFS 从 Linux 3.18+ 内核开始支持,CentOS 7/8/Stream 基本都支持。
lsmod | grep overlay
如果没有加载:
modprobe overlay
开机自动加载:
echo "overlay" >> /etc/modules-load.d/overlay.conf
mkdir -p /mnt/overlay/{lower,upper,work,merged}
说明:
mount -t overlay overlay \
-o lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work \
/mnt/overlay/merged
mount | grep overlay
在 /mnt/overlay/merged 中的修改会存入 upperdir,不会影响 lowerdir。
编辑 /etc/fstab:
overlay /mnt/overlay/merged overlay defaults,lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work 0 0
然后:
mount -a
⚠ 注意:workdir 不能和 merged 或 lowerdir 相同。
查看当前存储驱动:
docker info | grep -i storage
systemctl stop docker
编辑 /etc/docker/daemon.json:
{
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
]
}
systemctl start docker
✅ Docker 默认已广泛使用 overlay2。
mkfs.xfs -n ftype=1 /dev/sdX
检查:
xfs_info / | grep ftype
如果是 ftype=0,Docker overlay2 无法使用。
✅ 容器文件系统
✅ 系统只读 + 可写层
✅ LiveOS / 救援系统
✅ 软件多版本共存
如果你能说明 具体用途(如 Docker、系统根目录、定制 LiveCD、Kubernetes),我可以给你更精确的配置方案。