在 Ubuntu 里常说的 overlay 通常指 OverlayFS(常见于容器、Live CD、Docker、systemd 等场景)。下面按常见使用场景说明“迁移”方法,你可对号入座。
Docker 默认使用 /var/lib/docker/overlay2,想迁移到新磁盘或新目录。
sudo systemctl stop docker
sudo rsync -aP /var/lib/docker /new/path/docker
sudo nano /etc/docker/daemon.json
内容示例:
{
"data-root": "/new/path/docker"
}
sudo mv /var/lib/docker /var/lib/docker.bak
sudo systemctl start docker
docker info | grep "Docker Root Dir"
✅ 验证容器、镜像是否正常
使用:
mount -t overlay overlay -o lowerdir=,upperdir=,workdir= /target
overlay 不能直接“移动”,必须:
sudo umount /target
sudo rsync -aP /old/upper /new/upper
sudo rsync -aP /old/work /new/work
sudo mount -t overlay overlay \
-o lowerdir=/lower,upperdir=/new/upper,workdir=/new/work \
/target
⚠️ workdir 必须为空目录,且不能和 upperdir 在同一文件系统问题(建议同盘)
casper-rw + overlay 持久化
casper-rwdd if=/old/casper-rw of=/new/casper-rw bs=4M
或
cp /old/casper-rw /new/casper-rw
persistent persistent-path=/new/
我可以直接给你精确命令。