Руководство по администрированию файловых систем ZFS Solaris

Управление точками монтирования ZFS

По умолчанию все файловые системы 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. Для получения дополнительной информации о старых точках монтирования см. Старые точки монтирования.

При изменении стратегии управления точками монтирования применяются следующие модели поведения:

Автоматические точки монтирования

Для корневого набора данных при создании также можно указать точку монтирования по умолчанию с помощью команды 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 см. Транзакционная семантика.