CentOS Overlay配置备份恢复指南
Overlay文件系统(OverlayFS)是CentOS中常用的联合文件系统,尤其在Docker等容器场景中广泛使用。其配置及数据备份恢复需围绕配置文件(定义挂载规则)和数据目录(lowerdir/upperdir/workdir,存储实际文件)两部分展开。
OverlayFS的配置通常存储在**/etc/fstab**(静态挂载条目)或命令行挂载选项中。
/etc/fstab文件作为备份:sudo cp /etc/fstab /etc/fstab.overlay_backup
mount命令查看当前overlay挂载选项,并保存到文本文件:mount | grep overlay | awk '{print $0}' > /etc/overlay_mount_options.txt
OverlayFS的核心数据目录由lowerdir(底层只读层,如Docker基础镜像)、upperdir(上层可写层,存储容器修改)、workdir(工作目录,临时文件)组成。需逐一备份:
# 假设挂载点为/var/lib/docker/overlay2,通过find命令定位各目录
sudo find /var/lib/docker/overlay2 -name "lowerdir" -exec rsync -a {} /backup/lowerdir \;
sudo find /var/lib/docker/overlay2 -name "upperdir" -exec rsync -a {} /backup/upperdir \;
sudo find /var/lib/docker/overlay2 -name "workdir" -exec rsync -a {} /backup/workdir \;
或直接备份整个overlay2目录(包含所有容器的层级数据):
sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /var/lib/docker/overlay2 /backup/overlay_data
通过ls -l检查备份目录是否包含预期文件,或使用tar -tzvf查看压缩包内容:
ls -l /backup/lowerdir /backup/upperdir /backup/workdir
tar -tzvf /backup/overlay_data.tar.gz
恢复前需停止使用overlay文件系统的服务(如Docker),避免数据冲突:
sudo systemctl stop docker
将备份的配置文件复制回原路径:
# 恢复fstab
sudo rsync -av /backup/fstab_overlay_backup /etc/fstab
# 或恢复挂载选项(需手动执行mount命令)
cat /etc/overlay_mount_options.txt | sudo xargs -I {} mount {}
使用rsync或tar将备份的数据复制回原始位置:
# 使用rsync恢复(推荐,保留权限和属性)
sudo rsync -a /backup/lowerdir/ /var/lib/docker/overlay2/lowerdir/
sudo rsync -a /backup/upperdir/ /var/lib/docker/overlay2/upperdir/
sudo rsync -a /backup/workdir/ /var/lib/docker/overlay2/workdir/
# 或使用tar恢复(若之前压缩了数据目录)
sudo tar -xzvf /backup/overlay_data.tar.gz -C /
启动相关服务,检查overlay挂载状态及数据完整性:
sudo systemctl start docker
# 查看overlay挂载情况
mount | grep overlay
# 进入容器验证数据(以Docker为例)
docker run --rm -it <image_name> ls /path/in/container
docker commit保存容器状态,或docker save导出镜像,减少直接操作overlay目录的风险。