Отмонтировать подтом btrfs из дерева

Отмонтировать подтом btrfs из дерева

На томе BTRFS у меня есть папка, snapshots/в которой я время от времени сохраняю снимок всего тома.

btrfs автоматически монтирует все подтома, например, после монтирования верхний том snapshots/заполняется всеми когда-либо созданными моментальными снимками.

Теперь мне нравится отмонтировать подтома в snapshots, оставляя snapshotsпустыми (конечно, не удаляя моментальные снимки). Это очень полезно, если я делаю резервные копии, индексирую или ищу на томе, который в противном случае всегда нужно ограничивать в зависимости от инструмента, чтобы исключить snapshots/, что не всегда просто.

Так как подтома не монтируются ядром, я не могу размонтировать их с помощью mount. Как их размонтировать?

решение1

Ты можешьорганизуйте свои тома btrfsдругим способом избежать этого автоматического монтирования (не монтируя BTRFS /в вашу систему /, а вместо этого подтом BTRFS /rootfsв вашу систему /. Только названные подтома BTRFS /rootfs/foo/barбудут автоматически монтироваться, как /foo/barв этом случае). Но это не очень простая задача, и у вас могут возникнуть трудности с перезагрузкой компьютера, если вы не выполните один шаг.

В качестве обходного пути umount, по моему мнению, более простой способ — скрыть содержимое вашего snapshotsubvol, монтируя поверх него глупую точку монтирования. Вы можете автоматизировать это через ваш 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

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