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

Вопрос или проблема

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

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

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

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

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

В качестве обходного пути для размонтирования, на мой взгляд, проще всего скрыть содержимое вашей подсистемы snapshot монтируя над ней “глупую” точку монтирования. Вы можете автоматизировать это через свой fstab следующим образом:

none    /snapshot   tmpfs   defaults,size=1M,ro 0 0

Чтобы снова получить доступ к вашей подсистеме /snapshot, простым способом будет добавить конкретную неавтоматическую точку монтирования (только для чтения в этом примере, потому что вам редко нужно изменять ваши снимки):

/dev/sda2   /mnt/snapshots  btrfs   defaults,noauto,ro,subvol=/snapshot 0 2

Примечание:
Вы также можете просто не скрывать вашу подсистему снимков, а установить для неё конкретные безопасные параметры монтирования:

/dev/sda2   /snapshots  btrfs   defaults,noexec,nodev,ro,subvol=/snapshot   0 2

Ответ или решение

Когда дело доходит до работы с файловой системой Btrfs, управление подтомами может быть активной задачей, особенно если вы хотите оставить определенные каталоги пустыми для облегчения процедур, таких как резервное копирование, индексация или поиск. Если у вас есть раздел Btrfs с папкой snapshots/, где хранятся ваши снимки, и вы хотите выгрузить подтомы из этой папки, не удаляя сами снимки, вот несколько шагов, которые можно предпринять.

Проблема с автоматическим монтированием подтомов

При монтировании основного тома Btrfs система автоматически монтирует все подтомы, включая те, что расположены в каталоге snapshots/. Это может создать сложности, так как вы хотите, чтобы этот каталог оставался пустым для удобства выполнения резервного копирования и обработки данных без нежелательных помех.

Решение через временные точки монтирования

Одним из наиболее простых решений является использование временного монтирования ("dummy mount") для сокрытия содержимого подтомов в каталоге snapshots/. Это позволяет вам сохранить подтомы на месте и при этом избегать их отображения в файловой системе.

  1. Создание временного монтирования: Чтобы сделать этот процесс автоматизированным, вы можете добавить следующую строку в файл /etc/fstab:

    none    /snapshots   tmpfs   defaults,size=1M,ro 0 0

    Эта команда создаёт временную файловую систему (tmpfs) размером 1 МБ, которая будет смонтирована в /snapshots. В результате, содержимое каталога snapshots/ не будет доступно.

  2. Доступ к подтомам: Для того чтобы получить доступ к подтомам в snapshots, вам нужно создать отдельную точку монтирования. В fstab можно добавить строку, которая будет указывать на конкретный подтом:

    /dev/sda2   /mnt/snapshots  btrfs   defaults,noauto,ro,subvol=/snapshots 0 2

    Здесь subvol=/snapshots указывает на то, что вы хотите смонтировать конкретный подтом в указанную точку монтирования. Использование опции noauto предотвратит автоматическое монтирование при запуске системы.

Другие варианты

Если вы не хотите скрывать содержимое подтома, вы можете установить безопасные параметры монтирования для каталога snapshots/. Это может быть выполнено следующим образом:

/dev/sda2   /snapshots  btrfs   defaults,noexec,nodev,ro,subvol=/snapshots   0 2

Здесь указаны параметры монтирования noexec и nodev, которые ограничивают выполнение файлов и доступ к устройствам, что обеспечивает определённый уровень безопасности при работе с вашим каталоги «snapshots/».

Заключение

Обеспечение чистоты каталога snapshots/ без фактического удаления подтомов в Btrfs можно достичь различными способами, включая создание временных монтирований. Настройка таких решений в fstab позволяет автоматизировать процесс и избежать частого ручного вмешательства. Например, скрытие содержимого с помощью mntpoint tmpfs или применение специфических параметров монтирования позволяет вам эффективно управлять данными без лишних сложностей.

Такие подходы не только упрощают рабочие процессы, связанные с резервным копированием и аналитикой, но также обеспечивают безопасность и целостность ваших данных.

Оцените материал
Добавить комментарий

Капча загружается...