前提条件
确保Ubuntu系统内核版本≥3.18(OverlayFS从该版本开始支持),可通过uname -r命令查看内核版本。
1. 安装必要软件包
OverlayFS需要fuse-overlayfs(用户态工具)支持,使用以下命令安装:
sudo apt update
sudo apt install fuse-overlayfs
2. 创建OverlayFS目录结构
OverlayFS需要四个核心目录,分别承担不同角色:
使用以下命令创建目录(示例路径,可根据需求调整):
sudo mkdir -p /mnt/overlay/{upper,work,lower,merged}
3. 添加存储到lowerdir(基础层)
将需要作为基础的文件或目录复制到lowerdir中,这些内容将成为OverlayFS的只读层。例如:
# 创建基础目录并添加文件
sudo mkdir -p /path/to/base_layer
echo "This is a base file" | sudo tee /path/to/base_layer/base.txt
# 将基础目录复制到lowerdir
sudo cp -r /path/to/base_layer/* /mnt/overlay/lower/
4. 挂载OverlayFS并添加存储
使用mount命令将OverlayFS挂载到merged目录,指定lowerdir(基础层)、upperdir(可写层)、workdir(工作目录):
sudo mount -t overlay overlay \
-o lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work \
/mnt/overlay/merged
此时,merged目录将包含lowerdir中的基础文件,所有对merged的修改(如新增、编辑文件)都会存储在upperdir中。
5. 验证存储添加结果
df -h /mnt/overlay/merged
输出应显示merged目录挂载为OverlayFS,且标注了lowerdir和upperdir路径。# 查看基础文件(来自lowerdir)
cat /mnt/overlay/merged/base.txt
# 在merged中新增文件(存储到upperdir)
echo "This is an upper file" | sudo tee /mnt/overlay/merged/upper.txt
# 验证upperdir是否包含新增文件
ls /mnt/overlay/upper/
6. 持久化配置(可选)
若需系统重启后自动挂载OverlayFS,可将挂载信息添加到/etc/fstab文件:
sudo nano /etc/fstab
在文件末尾添加以下行(替换为实际路径):
overlay /mnt/overlay/merged overlay defaults,lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work 0 0
保存并退出后,运行sudo mount -a使配置生效。
注意事项
workdir必须为空目录,否则挂载会失败;lowerdir中的文件需谨慎(如需修改基础层,可通过upperdir覆盖,而非直接修改lowerdir);sudo umount /mnt/overlay/merged命令。