Debian: монтировать /var как overlayfs при загрузке

Я пытаюсь смонтировать /var с оверлеями (с tmpfs) при загрузке, но не удается заставить это работать.

Вот что я сделал:

# creating tmpfs
mkdir /var.tmpfs
mount -t tmpfs -o rw,nosuid,nodev,noexec,noatime,size=512m,mode=0775 tmpfs /var.tmpfs
chmod -R u=rwX,g=rX,o=rX /var.tmpfs

# creating overlay
mkdir /var.tmpfs/{work,upper} /var.overlay
mount -t overlay -o rw,lowerdir=/var,upperdir=/var.tmpfs/upper,workdir=/var.tmpfs/work overlay /var.overlay
chmod -R u=rwX,g=rX,o=rX /var.overlay

# binding to /var
mount --bind /var.overlay /var

# filling /etc/fstab
[...]
tmpfs           /var.tmpfs      tmpfs   rw,nosuid,noatime,size=512m          0  0
overlayfs       /var.overlay    overlay rw,lowerdir=/var,upperdir=/var.tmpfs/upper,workdir=/var.tmpfs/work    0   0
/var.overlay    /var            none    bind    0   0  

При загрузке системы я сталкиваюсь со следующей ошибкой:

overlayfs: failed to resolve '/var.tmpfs/upper' -2

Что нормально, так как tmpfs пуст при подключении.

  • Как создать upper а также work каталоги при загрузке
    • после монтирования /var.tmpfs
    • перед монтированием /var.overlay
  • Или есть другое решение с каталогами, уже присутствующими при загрузке?

Заранее спасибо.

2 ответа

Папки /var.tmpfs/upper и /var.tmpfs/work находятся в tmpfs и больше не будут присутствовать после перезагрузки

Одним из вариантов является создание их обоих в fstab

Я делаю нечто подобное с https://github.com/StuartIanNaylor/zram-config но использую zram, а не tmpfs.

Я связываю монтирование целевого каталога в другом месте. Создание и монтирование zram и mkdir оверлеев dirs. Затем установите оверлей

mount --verbose --types overlay -o lowerdir=$BIND_DIR,upperdir=/opt/zram$RAM_DEV/upper,workdir=/opt/zram$RAM_DEV/workdir overlay $ZRAM_DIR

$ZRAM_DIR - это целевой каталог, который подключается в другом месте, поэтому при остановке я могу синхронизировать изменения. Вместо полной / var вам, возможно, придется просто добавить коллекцию lowerdir, так как, возможно, tmpfs поверх tmpfs не работает, и действительно, почему?

Другие вопросы по тегам