По умолчанию все файловые системы ZFS монтируются ZFS при начальной загрузке с помощью службы SMF (Service Management Facility) svc://system/filesystem/local. Файловые системы монтируются в каталог /путь, где путь обозначает имя файловой системы.
Точку монтирования по умолчанию можно переопределить путем указания для свойства mountpoint определенного пути при помощи команды zfs set. При необходимости ZFS автоматически создает эту точку монтирования и монтирует файловую систему по команде zfs mount -a, не требуя предварительного редактирования файла /etc/vfstab.
Свойство mountpoint является наследуемым. Например, если для pool/home свойство mountpoint имеет значение /export/stuff, то pool/home/user путем наследования получает значение /export/stuff/user для свойства mountpoint.
Для предотвращения монтирования файловой системы свойству mountpoint можно присвоить значение none. Возможность монтирования файловой системы определяется свойством canmount. Для получения дополнительной информации о свойстве canmount см. Свойство canmount.
При необходимости управление файловыми системами также можно осуществлять открыто через старые интерфейсы монтирования путем выбора для свойства mountpoint значения legacy с помощью команды zfs set. Это позволяет предотвратить автоматическое монтирование файловой системы ZFS. Вместо этого необходимо использовать старые средства, включая команды mount и umount, а также файл /etc/vfstab. Для получения дополнительной информации о старых точках монтирования см. Старые точки монтирования.
При изменении стратегии управления точками монтирования применяются следующие модели поведения:
поведение автоматической точки монтирования;
поведение старой точки монтирования.
При изменении установленных значений legacy или none ZFS автоматически монтирует файловую систему.
В случае размонтирования файловой системы, находящейся под управлением ZFS, и последующего изменения значения свойства mountpoint файловая система остается размонтированной.
Для корневого набора данных при создании также можно указать точку монтирования по умолчанию с помощью команды zpool create с параметром -m. Для получения дополнительной информации о создании пулов см. Создание пула устройств хранения данных ZFS.
Управление всеми наборами данных, для свойства mountpoint которых не установлено значение legacy, осуществляется ZFS. Ниже приведен пример создания набора данных с автоматическим управлением точкой монтирования.
# zfs create pool/filesystem # zfs get mountpoint pool/filesystem NAME PROPERTY VALUE SOURCE pool/filesystem mountpoint /pool/filesystem default # zfs get mounted pool/filesystem NAME PROPERTY VALUE SOURCE pool/filesystem mounted yes - |
Свойство mountpoint также можно указать явно, как показано в следующем примере:
# zfs set mountpoint=/mnt pool/filesystem # zfs get mountpoint pool/filesystem NAME PROPERTY VALUE SOURCE pool/filesystem mountpoint /mnt local # zfs get mounted pool/filesystem NAME PROPERTY VALUE SOURCE pool/filesystem mounted yes - |
При изменении свойства mountpoint файловая система автоматически размонтируется из старой точки монтирования и монтируется в новой точке. При необходимости создаются каталоги точки монтирования. Если автоматическое размонтирование файловой системы по причине ее активности невозможно, появляется сообщение об ошибке. В этом случае требуется принудительное размонтирование вручную.
Управление файловыми системами ZFS можно осуществлять при помощи старых средств. Для этого свойство mountpoint должно иметь значение legacy. Управление старыми файловыми системами должно осуществляться с помощью команд mount и umount и файла /etc/vfstab. ZFS не выполняет автоматическое монтирование старых файловых систем при начальной загрузке, и для наборов данных этого типа команды ZFS mount и umount не используются. В следующих примерах демонстрируется настройка и администрирование набора данных ZFS в режиме "legacy":
# zfs set mountpoint=legacy tank/home/eschrock # mount -F zfs tank/home/eschrock /mnt |
Для автоматического монтирования старой файловой системы при начальной загрузке необходимо добавить соответствующую запись в файл /etc/vfstab. В следующем примере показано, как может выглядеть запись в файле /etc/vfstab:
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # tank/home/eschrock - /mnt zfs - yes - |
Обратите внимание, что записи device to fsck и fsck pass имеют значение -. Этот синтаксис используется по причине того, что команда fsck не применима по отношению к файловым системам ZFS. Для получения дополнительной информации о целостности данных и отказе от применения команды fsck в ZFS см. Транзакционная семантика.