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

Разрешение и запрет совместного использования файловых систем ZFS

Подобно точкам монтирования, ZFS может автоматически разрешать совместное использование файловых систем с помощью свойства sharenfs. Этот метод позволяет не изменять файл /etc/dfs/dfstab при добавлении новой файловой системы. Свойство sharenfs представляет собой список разделенных запятыми параметров для команды share. Специальное значение on является псевдонимом для параметров совместного использования по умолчанию, согласно которым все пользователи имеют разрешения read/write. Специальное значение off указывает на то, что файловая система не управляется ZFS и может совместно использоваться при помощи традиционных средств, таких как файл /etc/dfs/dfstab. Все файловые системы, у которых для свойства sharenfs указано значение, отличное от off , определяются как совместно используемые при начальной загрузке.

Управление семантикой совместного использования

По умолчанию все файловые системы не подлежат совместному использованию. Для разрешения совместного использования новой файловой системы применяется синтаксис zfs set, аналогичный следующему:


# zfs set sharenfs=on tank/home/eschrock

Это свойство наследуется, и файловые системы автоматически определяются как совместно используемые при их создании, если для наследуемого свойства не установлено значение off. Например:


# zfs set sharenfs=on tank/home
# zfs create tank/home/bricker
# zfs create tank/home/tabriz
# zfs set sharenfs=ro tank/home/tabriz

Системы tank/home/bricker и tank/home/tabriz изначально являются совместно используемыми и открытыми для записи, поскольку наследуют свойство sharenfs от tank/home. При установке для этого свойства значения ro (только чтение) система tank/home/tabriz становится совместно используемой только для чтения, вне зависимости от свойства sharenfs , настроенного для tank/home.

Запрет совместного использования файловых систем ZFS

В то время как для большинства файловых систем разрешение или запрет совместного использования устанавливаются автоматически в ходе начальной загрузки, создания и уничтожения, некоторые файловые системы требуют явного запрета совместного использования. Для этого применяется команда zfs unshare. Пример:


# zfs unshare tank/home/tabriz

Выполнение этой команды приводит к запрету совместного использования файловой системы tank/home/tabriz. Для запрета совместного использования всех файловых систем ZFS необходимо указать параметр - a.


# zfs unshare -a

Разрешение совместного использования файловых систем ZFS

В большинстве случаев автоматическое поведение ZFS с разрешением совместного использования при начальной загрузке и создании не требует дополнительных настроек. Если по каким-либо причинам необходимо снять запрет на совместное использование файловой системы, это можно сделать при помощи команды zfs share. Пример:


# zfs share tank/home/tabriz

Для разрешения совместного использования всех файловых систем ZFS можно использовать параметр -a.


# zfs share -a

Старые модели совместного использования

Если для свойства sharenfs установлено значение off, то ZFS не предпринимает попыток разрешить или запретить совместное использование файловой системы. Этот параметр позволяет выполнять администрирование традиционными средствами, например с помощью файла /etc/dfs/dfstab.

В отличие от традиционной команды mount, традиционные команды share и unshare по-прежнему могут использоваться в файловых системах ZFS. Таким образом, можно вручную настроить совместное использование файловой системы и выбрать параметры, отличные от значений свойства sharenfs. Использовать такую административную модель не рекомендуется. Необходимо выбрать, будет ли управление совместным использованием в NFS осуществляться полностью через ZFS или посредством файла /etc/dfs/dfstab. Административная модель ZFS значительно проще и требует меньших усилий, чем традиционная модель. Однако в некоторых случаях может оказаться удобнее управлять совместным использованием файловой системы согласно уже знакомой модели.