![如何制作具有多个 upperdirs 的 OverlayFS?](https://linux22.com/image/1562994/%E5%A6%82%E4%BD%95%E5%88%B6%E4%BD%9C%E5%85%B7%E6%9C%89%E5%A4%9A%E4%B8%AA%20upperdirs%20%E7%9A%84%20OverlayFS%EF%BC%9F.png)
我有以下目录:
/var/steamcmd
/var/servers/1/custom
/var/servers/2/custom
/var/servers/3/custom
... there could be many directories like this, not just 3.
我的目标是将目录作为steamcmd
基础,并且对于每个custom
目录,我希望将文件与基础合并,因此如果两者都有文件,那么custom
将优先考虑。steamcmd
custom
为了做到这一点,我决定首先关注一个目录(/var/servers/1/...
)并创建另外 2 个目录,所以我的目录是:
/var/steamcmd ---------------> lowerdir
/var/servers/1/custom -------> upperdir
/var/servers/1/overlayWork --> work directory
/var/servers/1/steamcmd -----> the merged folder
我想出了这个命令,但没有成功:
$ mount -t overlay -o \
lowerdir=/var/steamcmd,\
upperdir=/var/servers/1/custom,\
workdir=/var/servers/1/overlayWork \
/var/servers/1/steamcmd
执行时出现以下错误:
安装:/var/servers/1/steamcmd:在 /etc/fstab 中找不到。
我该如何修复这个问题?我可以像上面介绍的那样使用多个目录吗?(/var/servers/{X}/custom
)
答案1
您需要overlay
作为第一个位置参数,如下所示:
mount -t overlay \
-o lowerdir=/var/steamcmd,\
upperdir=/var/servers/1/custom,\
workdir=/var/servers/1/overlayWork \
overlay /var/servers/1/steamcmd
#^^^^^#
extraoverlay
也可以位于 之前-o
:
#vvvvv#
mount -t overlay overlay \
-o lowerdir=/var/steamcmd,\
upperdir=/var/servers/1/custom,\
workdir=/var/servers/1/overlayWork \
/var/servers/1/steamcmd
如果没有这个位置参数,mount
将假定它的选项是在中定义的/etc/fstab
;因此会出现错误消息。