如何制作具有多个 upperdirs 的 OverlayFS?

如何制作具有多个 upperdirs 的 OverlayFS?

我有以下目录:

/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将优先考虑。steamcmdcustom

为了做到这一点,我决定首先关注一个目录(/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;因此会出现错误消息。

相关内容