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

Создание и уничтожение файловых систем ZFS

Для создания и уничтожения файловых систем ZFS используются команды zfs create и zfs destroy.

Создание файловой системы ZFS

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

имя_пула/[имя_файловой_системы/]имя_файловой_системы

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

В следующем примере файловая система с именем bonwick создается в файловой системе tank/home.


# zfs create tank/home/bonwick

ZFS автоматически монтирует новую файловую систему в случае ее успешного создания. По умолчанию файловые системы монтируются как /набор_данных с использованием пути, указанного для файловой системы с помощью подкоманды create. В этом примере новая файловая система bonwick монтируется как /tank/home/bonwick. Дополнительная информация об автоматическом управлении точками монтирования приведена в разделе Управление точками монтирования ZFS.

Для получения дополнительной информации о команде zfs create см. zfs(1M).

При создании файловой системы также можно указать ее свойства.

В следующем примере для файловой системы tank/home указывается и создается точка монтирования /export/zfs.


# zfs create -o mountpoint=/export/zfs tank/home

Для получения дополнительной информации о свойствах файловой системы см. Введение в свойства ZFS.

Уничтожение файловой системы ZFS

Для уничтожения файловой системы ZFS используется команда zfs destroy. Уничтоженная файловая система автоматически размонтируется, и ее совместное использование прекращается. Дополнительная информация об автоматическом управлении монтированием или общими ресурсами приведена в разделе Автоматические точки монтирования.

В следующем примере уничтожается файловая система tabriz.


# zfs destroy tank/home/tabriz

Внимание – Внимание –

Запрос на подтверждение при указании подкоманды destroy не выводится. При выполнении этой команды следует соблюдать особую осторожность.


Если уничтожаемая файловая система находится в состоянии занятости и не может быть размонтирована, то команда zfs destroy завершится сбоем. Для уничтожения активной файловой системы можно указать параметр -f. Этот параметр следует использовать с осторожностью, поскольку он может приводить к размонтированию, прекращению совместного использования и уничтожению активных файловых систем, что может вызвать непредсказуемое поведение приложений.


# zfs destroy tank/home/ahrens
cannot unmount 'tank/home/ahrens': Device busy

# zfs destroy -f tank/home/ahrens

Команда zfs destroy также не может быть выполнена при наличии в файловой системе дочерних элементов. Для рекурсивного уничтожения файловой системы и всех дочерних элементов используется параметр -r. Следует отметить, что при рекурсивном уничтожении также уничтожаются снимки, поэтому этот параметр следует использовать с осторожностью.


# zfs destroy tank/ws
cannot destroy 'tank/ws': filesystem has children
use '-r' to destroy the following datasets:
tank/ws/billm
tank/ws/bonwick
tank/ws/maybee

# zfs destroy -r tank/ws

Если для файловой системы, подлежащей уничтожению, существуют непрямые зависимые элементы, то выполнение описанной команды для рекурсивного уничтожения также невозможно. Для уничтожения всех зависимых элементов, включая клонированные файловые системы вне целевой иерархии, необходимо указать параметр -R. Будьте особенно осторожны с этим параметром.


# zfs destroy -r tank/home/schrock
cannot destroy 'tank/home/schrock': filesystem has dependent clones
use '-R' to destroy the following datasets:
tank/clones/schrock-clone

# zfs destroy -R tank/home/schrock

Внимание – Внимание –

При указании параметра -f, -r или -R запрос подтверждения не выводится, поэтому эти параметры следует использовать с осторожностью.


Для получения дополнительной информации о снимках и клонах см. Глава 7Работа со снимками и клонами ZFS.

Переименование файловой системы ZFS

Для переименования файловых систем используется команда zfs rename. С помощью подкоманды rename выполняются следующие операции:

В следующем примере подкоманда rename используется для простого переименования файловой системы:


# zfs rename tank/home/kustarz tank/home/kustarz_old

В данном примере файловая система kustarz переименовывается в kustarz_old.

Ниже приведен пример использования команды zfs rename для перемещения файловой системы.


# zfs rename tank/home/maybee tank/ws/maybee

В этом примере файловая система maybee перемещается из tank/home в tank/ws. При перемещении файловой системы посредством переименования новое местоположение должно находиться в пределах того же пула и иметь достаточную емкость для размещения новой файловой системы. Если новое местоположение не обеспечивает достаточного пространства, возможно, по причине превышения квоты, переименование невозможно.

Для получения дополнительной информации о квотах см. Настройки квот и резервируемого пространства в ZFS.

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

Для получения информации о переименовании снимков см. Переименование снимков ZFS.