Что такое устаревшая точка монтирования ZFS?

Что такое устаревшая точка монтирования ZFS?

Я пытаюсь понять, как работает ZFS, когда я делаю, например, снимок. Когда я использую zfs list на машине, я получаю некоторые точки монтирования и некоторые пути. Например, я получаю что-то вроде этого:

rpool/ROOT/s10x_u10_wos_17b      5.3gb   58.2gb    5.3gb     /

Я получаю в качестве точки монтирования корень /.

Моя первая мысль была, что есть фактический файл, и когда я перешел в каталог, /rpoolтам не было ROOT-каталога. После некоторых раздумий я увидел, что /rpool/ROOTон на самом деле смонтирован на legacy, так что он должен быть где-то еще.

Может ли кто-нибудь объяснить, где находятся файлы при монтировании в устаревшем режиме и, может быть, почему используется этот устаревший режим?

решение1

Я не понимаю назначения устаревшей точки монтирования.

ZFS предоставляет иерархическую структуру наборов данных в пуле. В вашем случае у вас есть пул с именем rpoolи как минимум следующие наборы данных:

  • rpool
  • rpool/ROOT
  • rpool/ROOT/s10x_u10_wos_17b

Каждый из этих наборов данных часто представляет собой файловую систему (хотя вместо этого он может быть томом/блочным устройством).

Так как каждый из этих наборов данных, скорее всего, является полноценной/независимой файловой системой, каждый из них может быть смонтирован или не смонтирован независимо.

По умолчанию ZFS монтирует дочерние наборы данных в их логическом расположении внутри родительского... Если набор rpoolданных смонтирован в /rpool(т. е. по умолчанию), то вы обнаружите, что rpool/ROOTнабор данных смонтирован в /rpool/ROOTи т. д.

Это контролируется свойством mountpoint— запустите его zfs get -rt filesystem mountpoint, чтобы увидеть его текущее значение для каждого набора данных.

  • Если значение — это путь, то ZFS автоматически смонтирует набор данных по этому пути при импорте пула. По умолчанию (как упоминалось выше) монтируется файловая система под родительской.
  • Если значение равно none, то ZFS не будет монтировать файловую систему, а файловая системане могумонтироваться с использованием mountлюбого из них.
  • Если значение равно legacy, то ZFS не будет монтировать файловую систему, но вы можете использовать mountи umountдля управления точкой монтирования файловой системы вручную. Вы также можете использовать /etc/fstabдля управления автоматическим монтированием.

В вашей ситуации rpool/ROOT/s10x_u10_wos_17bнабор данных смонтирован в /(т. е. это ваша корневая файловая система). Чтобы добиться этого, вы можете либо установить mountpoint=/и позволить ZFS управлять всем, либо установить mountpoint=legacyи смонтировать его явно.

Поскольку это ваша корневая файловая система, позволить ZFS управлять ею за вас не представляется возможным, и вам придется явно указать точку монтирования.

Следовательно, rpool/ROOT/s10x_u10_wos_17bимеет mountpoint=legacy.

решение2

Устаревшая точка монтирования обычно используется, когда файловые системы монтируются с помощью fstab.

Из страницы руководства FreeBSD:

При необходимости файловыми системами ZFS можно управлять и с помощью традиционных инструментов (mount(8), umount(8), fstab(5)). Если точка монтирования файловой системы установлена ​​на устаревшую версию, ZFS не пытается управлять файловой системой, и администратор несет ответственность за монтирование и размонтирование файловой системы.

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