Я пытаюсь смонтировать / var
с overlayfs (с 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 при монтировании пуст.
верхний
и рабочий
каталог при загрузке
Заранее спасибо.
Я делаю нечто подобное с https://github.com/StuartIanNaylor/zram-config , но использую zram, а не tmpfs.
Я связываю монтирование целевого каталога где-нибудь еще. Создайте и смонтируйте каталоги оверлейфов zram и mkdir. Затем смонтируйте оверлей
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 не работает и почему?
Папки /var.tmpfs/upper
и /var.tmpfs/work
находятся в tmpfs и больше не будут присутствовать после перезагрузки.
Один из вариантов - создать их обоих в fstab.