
На томе BTRFS у меня есть папка, snapshots/
в которой я время от времени сохраняю снимок всего тома.
btrfs автоматически монтирует все подтома, например, после монтирования верхний том snapshots/
заполняется всеми когда-либо созданными моментальными снимками.
Теперь мне нравится отмонтировать подтома в snapshots
, оставляя snapshots
пустыми (конечно, не удаляя моментальные снимки). Это очень полезно, если я делаю резервные копии, индексирую или ищу на томе, который в противном случае всегда нужно ограничивать в зависимости от инструмента, чтобы исключить snapshots/
, что не всегда просто.
Так как подтома не монтируются ядром, я не могу размонтировать их с помощью mount
. Как их размонтировать?
решение1
Ты можешьорганизуйте свои тома btrfsдругим способом избежать этого автоматического монтирования (не монтируя BTRFS /
в вашу систему /
, а вместо этого подтом BTRFS /rootfs
в вашу систему /
. Только названные подтома BTRFS /rootfs/foo/bar
будут автоматически монтироваться, как /foo/bar
в этом случае). Но это не очень простая задача, и у вас могут возникнуть трудности с перезагрузкой компьютера, если вы не выполните один шаг.
В качестве обходного пути umount, по моему мнению, более простой способ — скрыть содержимое вашего snapshot
subvol, монтируя поверх него глупую точку монтирования. Вы можете автоматизировать это через ваш fstab следующим образом:
none /snapshot tmpfs defaults,size=1M,ro 0 0
Чтобы /snapshot
снова получить доступ к вашему subvol, проще всего добавить определенную неавтоматическую точку монтирования (в этом примере только для чтения, поскольку вам редко приходится изменять наши снимки):
/dev/sda2 /mnt/snapshots btrfs defaults,noauto,ro,subvol=/snapshot 0 2
Примечание: Вы также можете просто не скрывать свой подтом снимка, а задать для него определенные параметры безопасного монтирования:
/dev/sda2 /snapshots btrfs defaults,noexec,nodev,ro,subvol=/snapshot 0 2