在 CentOS(以及一般的 Linux)里,overlay(OverlayFS)本身只是一个联合挂载文件系统,它不会自动做持久化——重启后挂载会丢失,除非你把它写进系统配置或者放到持久层里。
下面按常见使用场景给你讲几种“overlay 持久化”的做法。
OverlayFS 至少需要:
示例:
mount -t overlay overlay \
-o lowerdir=/lower,upperdir=/upper,workdir=/work \
/merged
⚠️ 这个挂载重启就没了。
mkdir -p /lower /upper /work /merged
vi /etc/fstab
添加:
overlay /merged overlay defaults,lowerdir=/lower,upperdir=/upper,workdir=/work 0 0
mount -a
df -h | grep merged
✅ 重启后自动挂载,实现持久化
适合复杂环境(比如 upper 在 LV / 磁盘上)
vi /etc/systemd/system/merged.mount
[Unit]
Description=Overlay Mount
[Mount]
What=overlay
Where=/merged
Type=overlay
Options=lowerdir=/lower,upperdir=/upper,workdir=/work
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now merged.mount
✅ 开机自动挂载
如果你是 Docker 的 overlay2 存储驱动:
/var/lib/docker/overlay2
docker rm -v,数据就在vi /etc/docker/daemon.json
{
"storage-driver": "overlay2",
"data-root": "/data/docker"
}
systemctl restart docker
如果你是 CentOS Live USB + overlay:
持久化要:
overlay=live,persistence
或用:
rd.live.overlay=UUID=xxxx
(这个属于 Live 系统范畴)
/tmp、/runsetenforce 0
或:
Options=...,context="system_u:object_r:usr_t:s0"
CentOS 上 overlay 持久化 = 把挂载写进 fstab 或 systemd,并确保 upper/work 在持久磁盘上
如果你能告诉我:
我可以给你完全针对性的配置示例。