OverlayFS是Linux内核的联合文件系统,最低需要内核版本3.18(推荐使用4.0及以上版本,以支持overlay2驱动)。通过以下命令检查内核版本:
uname -r
若版本低于3.18,需升级内核(如使用apt或yum更新内核包)。
大多数现代Linux发行版默认加载Overlay模块,若未加载,可通过以下命令手动加载:
sudo modprobe overlay
加载后,可通过lsmod | grep overlay验证模块是否加载成功。
部分发行版可能需要安装overlayfs相关工具包(如Ubuntu的overlayroot),但多数情况下,系统自带OverlayFS支持,无需额外安装。
OverlayFS需要三个核心目录:
upperdir在同一文件系统)。使用以下命令创建目录(示例路径):
sudo mkdir -p /mnt/overlay/{lower,upper,work,merged}
其中,merged为挂载点(访问合并后文件系统的目录)。
使用mount命令挂载OverlayFS,语法如下:
sudo mount -t overlay overlay -o lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work /mnt/overlay/merged
-t overlay:指定文件系统类型为Overlay;-o:指定选项,lowerdir、upperdir、workdir为必填项;/mnt/overlay/merged:挂载点(合并后的文件系统视图)。通过以下命令验证Overlay是否挂载成功:
df -h /mnt/overlay/merged
或查看已挂载的文件系统:
mount | grep overlay
若输出中包含overlay类型及对应的lowerdir、upperdir路径,则说明挂载成功。
向merged目录写入文件,检查内容是否同步到upperdir(lowerdir内容保持不变):
echo "test content" | sudo tee /mnt/overlay/merged/test.txt
cat /mnt/overlay/lower/test.txt # 应无内容(若lowerdir初始为空)
cat /mnt/overlay/upper/test.txt # 应显示"test content"
此步骤验证了Overlay的“只读基础层+可写上层”特性。
若需系统重启后自动挂载,可将挂载信息添加到/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测试配置是否正确。
lowerdir、upperdir、workdir、merged有读写权限(可使用sudo或调整目录权限);upperdir存储所有修改内容,建议定期备份;ext4或xfs(xfs需启用ftype=1)。