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

Глава 2 Начало работы с ZFS

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

В этой главе содержатся следующие разделы:

Требования и рекомендации по программному обеспечению и оборудованию ZFS

Убедитесь в том, что перед использованием программного обеспечения ZFS были выполнены следующие требования и рекомендации по программному обеспечению и оборудованию:

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

Технология ZFS предназначена в том числе для упрощения администрирования. Одной из целей технологии ZFS является сокращение количества команд, необходимых для создания файловой системы. При создании нового пула новая файловая система ZFS создается и монтируется автоматически.

Ниже приведен пример создания зеркального пула устройств хранения данных с именем tank и файловой системы ZFS с именем tank в одной команде. Предположим, что диски /dev/dsk/c1t0d0 и /dev/dsk/c2t0d0 полностью доступны для использования.


# zpool create tank mirror c1t0d0 c2t0d0

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

Новая файловая система ZFS tank может использовать необходимый объем дискового пространства и автоматически монтироваться в /tank.


# mkfile 100m /tank/foo
# df -h /tank
Filesystem             size   used  avail capacity  Mounted on
tank                   80G   100M    80G     1%    /tank

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

В следующем примере демонстрируется создание файловой системы fs в пуле устройств хранения данных tank.


# zfs create tank/fs

Новая файловая система ZFS tank/fs, которая может использовать столько дискового пространства, сколько требуется, автоматически монтируется в /tank/fs.


# mkfile 100m /tank/fs/foo
# df -h /tank/fs
Filesystem             size   used  avail capacity  Mounted on
tank/fs                 80G   100M    80G     1%    /tank/fs

В большинстве случаев необходимо выстроить целую иерархию файловых систем, соответствующую требованиям организации. Для получения дополнительной информации о создании иерархии файловых систем ZFS см. Создание иерархии файловых систем ZFS.

Создание пула устройств хранения данных ZFS

Предыдущий пример демонстрирует простоту файловых систем ZFS. Далее в этой главе приводится более полный и реалистичный пример создания пула устройств хранения данных. Сначала необходимо определить требования к пространству для хранения данных и создать пул устройств хранения данных. Пул определяет физические характеристики области хранения и должен быть сформирован до создания каких-либо файловых систем.

ProcedureОпределение требований к пространству для хранения данных перед созданием пула устройств хранения данных ZFS

  1. Определите доступные устройства.

    Перед созданием пула устройств хранения данных необходимо определить, какие устройства будут использоваться для хранения данных. Это могут быть диски емкостью не менее 128 МБ, которые в этом случае не должны использоваться другими компонентами операционной системы. Эти устройства могут представлять собой выделенные подразделы на предварительно отформатированном диске или диски целиком, форматируемые ZFS как один обширный подраздел.

    В примере хранилища в разделе Создание пула устройств хранения данных ZFS предполагается, что диски /dev/dsk/c2t0d0 и /dev/dsk/c0t1d0 полностью доступны для использования.

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

  2. Выберите тип репликации данных.

    ZFS поддерживает несколько типов репликации данных, определяющих, какие типы отказов оборудования являются нефатальными для пула. ZFS поддерживает настройки без избыточности (с чередованием полос), а также зеркалирование и RAID-Z (вариант RAID-5).

    В примере, рассматриваемом в разделе Создание пула устройств хранения данных ZFS, используется базовое зеркалирование двух доступных дисков.

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

ProcedureСоздание пула устройств хранения данных ZFS

  1. Перейдите в режим root или выберите аналогичную роль с соответствующим профилем прав ZFS.

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

  2. Выберите имя пула.

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

  3. Создайте пул.

    Например, создайте зеркальный пул с именем tank.


    # zpool create tank mirror c1t0d0 c2t0d0
    

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

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

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

  4. Просмотрите результаты.

    Определить, был ли пул успешно создан, позволяет команда zpool list.


    # zpool list
    NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT
    tank                     80G    137K     80G     0%  ONLINE     -

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

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

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

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

ProcedureОпределение иерархии файловых систем ZFS

  1. Определите структуру файловой системы.

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

    В разделе Создание файловых систем ZFS создаются две файловые системы ZFS: bonwick и billm.

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

  2. Сгруппируйте аналогичные файловые системы.

    ZFS позволяет организовать файловые системы в иерархии для группирования схожих систем. Эта модель обеспечивает центральную точку администрирования для управления свойствами и администрирования файловых систем. Аналогичные файловые системы должны создаваться под общим именем.

    В разделе Создание файловых систем ZFS приводится пример двух файловых систем, размещенных под файловой системой home.

  3. Выберите свойства файловой системы.

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

    В разделе Создание файловых систем ZFS приводится пример монтирования всех домашних каталогов на пути /export/zfs/пользователь с их совместным использованием в NFS и включенным сжатием. Кроме того, в bonwick устанавливается квота 10 ГБ.

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

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

  1. Перейдите в режим root или выберите аналогичную роль с соответствующим профилем прав ZFS.

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

  2. Создайте требуемую иерархию.

    В этом примере создается файловая система, действующая как контейнер для отдельных файловых систем.


    # zfs create tank/home
    

    Затем отдельные файловые системы группируются в файловой системе home в пуле tank.

  3. Задайте наследуемые свойства.

    После определения иерархии файловых систем настройте свойства, которые будут применяться в отношении всех пользователей:


    # zfs set mountpoint=/export/zfs tank/home
    # zfs set sharenfs=on tank/home
    # zfs set compression=on tank/home
    # zfs get compression tank/home
    NAME             PROPERTY       VALUE                      SOURCE
    tank/home        compression    on                         local

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


    # zfs create -o mountpoint=/export/zfs -o sharenfs=on -o compression=on tank/home
    

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

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

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


    # zfs create tank/home/bonwick
    # zfs create tank/home/billm
    

    Эти файловые системы наследуют значения свойств от родительского элемента. Таким образом, они автоматически монтируются в /export/zfs/ пользователь и совместно используются NFS. Редактирование файла /etc/vfstab или /etc/dfs/dfstab не требуется.

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

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

  5. Установите свойства, применяющиеся к отдельным файловым системам.

    В этом примере для пользователя bonwick назначается квота 10 ГБ. Это свойство устанавливает ограничение на пространство, которое он может использовать, вне зависимости от того, какой объем доступен в пуле.


    # zfs set quota=10G tank/home/bonwick
    
  6. Просмотрите результаты.

    Просмотрите информацию о доступных файловых системах с помощью команды zfs list.


    # zfs list
    NAME                   USED  AVAIL  REFER  MOUNTPOINT
    tank                  92.0K  67.0G   9.5K  /tank
    tank/home             24.0K  67.0G     8K  /export/zfs
    tank/home/billm          8K  67.0G     8K  /export/zfs/billm
    tank/home/bonwick        8K  10.0G     8K  /export/zfs/bonwick

    Следует помнить, что пользователю bonwick доступен только объем 10 ГБ, тогда как пользователь billm может использовать весь пул (67 ГБ).

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

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