如何在Ubuntu上设置Overlay文件系统
Overlay文件系统是一种联合文件系统,可将多个目录(层)合并为一个虚拟目录,常用于实现文件系统的读写分离(如只读底层+可写上层)。以下是在Ubuntu上设置Overlay的详细步骤:
uname -r命令查看内核版本。overlayroot(内核模块)和fuse-overlayfs(用户态工具),用于管理和支持Overlay功能:sudo apt update
sudo apt install overlayroot fuse-overlayfs
Overlay需要四个核心目录,需提前创建(替换/path/to/为实际路径,如/mnt/overlay):
/或数据分区);创建命令示例:
sudo mkdir -p /path/to/lowerdir /path/to/upperdir /path/to/workdir /path/to/mergedir
若需将Overlay作为系统根目录或默认文件系统,需编辑/etc/overlayroot.conf配置文件:
sudo nano /etc/overlayroot.conf
添加以下内容(根据实际路径修改):
[general]
enabled = yes
upperdir = /path/to/upperdir
workdir = /path/to/workdir
lowerdir = /path/to/lowerdir
mergedir = /path/to/mergedir
保存后,重新加载overlayroot模块以应用配置:
sudo modprobe -r overlayroot # 卸载现有模块(若有)
sudo modprobe overlayroot # 加载模块
若无需开机自启动,可直接通过mount命令手动挂载:
sudo mount -t overlay overlay \
-o lowerdir=/path/to/lowerdir,upperdir=/path/to/upperdir,workdir=/path/to/workdir \
/path/to/mergedir
命令说明:
-t overlay:指定文件系统类型为Overlay;-o:后面跟随选项,lowerdir、upperdir、workdir必须按顺序填写,用逗号分隔(无空格);overlay:挂载的设备名(固定值);/path/to/mergedir:合并后的挂载点。若需系统启动时自动挂载Overlay,需编辑/etc/fstab文件:
sudo nano /etc/fstab
添加以下行(与手动挂载命令的选项一致):
overlay /path/to/mergedir overlay defaults,lowerdir=/path/to/lowerdir,upperdir=/path/to/upperdir,workdir=/path/to/workdir 0 0
保存后,执行sudo mount -a测试配置是否正确(无报错则表示成功)。
mount | grep overlay,应显示Overlay文件系统的挂载信息;ls /path/to/mergedir,应能看到lowerdir和upperdir中的文件(修改upperdir中的文件会影响mergedir的显示)。lowerdir、upperdir、workdir、mergedir有足够的访问权限(通常需sudo);sudo apt install linux-generic);upperdir和workdir中的数据需定期备份,避免误操作丢失。