温馨提示×

centos overlay怎么迁移

小樊
33
2026-09-21 11:45:49
栏目: 智能运维

在 CentOS 里提到 overlay,通常有三种常见场景,下面分别说明迁移方法,你可以对号入座。


一、Docker 的 overlay2 存储迁移(最常见)

如果你是说 Docker 的 overlay2 数据目录(/var/lib/docker)迁移:

1. 停止 Docker

systemctl stop docker

2. 迁移目录

mv /var/lib/docker /data/docker
# 或
rsync -avzP /var/lib/docker/ /data/docker/

3. 修改 Docker 配置

编辑 /etc/docker/daemon.json:

{
  "data-root": "/data/docker"
}

如果没有该文件就新建。

4. 重启 Docker

systemctl start docker

5. 验证

docker info | grep "Docker Root Dir"

✅ 显示 /data/docker 即成功


二、OverlayFS 文件系统迁移(手动挂载的 overlay)

如果你自己用 mount -t overlay 挂载的目录:

原结构示例

lowerdir=/mnt/lower
upperdir=/mnt/upper
workdir=/mnt/work
merged=/mnt/merged

迁移步骤

  1. 卸载 overlay
umount /mnt/merged
  1. 拷贝 upper + work
rsync -avzP /mnt/upper /newpath/
rsync -avzP /mnt/work /newpath/
  1. 重新挂载
mount -t overlay overlay \
-o lowerdir=/mnt/lower,upperdir=/newpath/upper,workdir=/newpath/work \
/newpath/merged

⚠️ lowerdir 通常只读,可不迁移


三、Kubernetes / containerd 的 overlay 迁移

如果是 containerd:

systemctl stop containerd kubelet
mv /var/lib/containerd /data/containerd

修改 /etc/containerd/config.toml:

root = "/data/containerd"

重启:

systemctl start containerd kubelet

四、迁移注意事项(很重要)

  • ✅ 一定要 停止相关服务再迁移
  • ✅ 用 rsync 而不是 cp(保留权限)
  • ✅ 确认 SELinux 标签(必要时 restorecon -R)
  • ✅ 大目录建议用 screen 或 nohup

如果你能补充一句:

“我是 Docker / K8s / 手动 overlay?CentOS 几?”

我可以给你精准的一步到位命令。

0 踩