Как создать OverlayFS с несколькими верхними каталогами?

Как создать 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каталогах, steamcmdто customон будет иметь приоритет.

Для этого я решил сначала сосредоточиться на одном каталоге ( /var/servers/1/...) и создал еще два каталога, так что мои каталоги следующие:

/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

При выполнении возникает следующая ошибка:

mount: /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
#^^^^^#

Дополнительный артикль overlayтакже может предшествовать -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; отсюда и ваше сообщение об ошибке.

Связанный контент