В этой главе содержатся подробные инструкции по созданию простых настроек ZFS. После изучения этой главы пользователи получат базовое представление о работе команд ZFS и смогут создавать простые пулы и файловые системы. Эта глава не является всесторонним обзором и содержит ссылки на последующие главы для получения дополнительной информации.
В этой главе содержатся следующие разделы:
Убедитесь в том, что перед использованием программного обеспечения ZFS были выполнены следующие требования и рекомендации по программному обеспечению и оборудованию:
Система SPARC® или x86 под управлением выпуска Solaris 10 6/06 или более позднего.
Минимальная емкость диска – 128 МБ. Минимальный размер дискового пространства для пула устройств хранения данных составляет около 64 МБ.
В настоящее время минимальный объем памяти, рекомендуемый для установки системы Solaris, составляет 768 МБ. Однако для обеспечения высокой производительности ZFS рекомендуется по крайней мере 1 ГБ памяти или более.
При создании зеркальной настройки дисков рекомендуется использовать несколько контроллеров.
Технология 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. Далее в этой главе приводится более полный и реалистичный пример создания пула устройств хранения данных. Сначала необходимо определить требования к пространству для хранения данных и создать пул устройств хранения данных. Пул определяет физические характеристики области хранения и должен быть сформирован до создания каких-либо файловых систем.
Определите доступные устройства.
Перед созданием пула устройств хранения данных необходимо определить, какие устройства будут использоваться для хранения данных. Это могут быть диски емкостью не менее 128 МБ, которые в этом случае не должны использоваться другими компонентами операционной системы. Эти устройства могут представлять собой выделенные подразделы на предварительно отформатированном диске или диски целиком, форматируемые ZFS как один обширный подраздел.
В примере хранилища в разделе Создание пула устройств хранения данных ZFS предполагается, что диски /dev/dsk/c2t0d0 и /dev/dsk/c0t1d0 полностью доступны для использования.
Для получения дополнительной информации о дисках, их использовании и разбиении см. раздел Использование дисков в пуле устройств хранения данных ZFS.
Выберите тип репликации данных.
ZFS поддерживает несколько типов репликации данных, определяющих, какие типы отказов оборудования являются нефатальными для пула. ZFS поддерживает настройки без избыточности (с чередованием полос), а также зеркалирование и RAID-Z (вариант RAID-5).
В примере, рассматриваемом в разделе Создание пула устройств хранения данных ZFS, используется базовое зеркалирование двух доступных дисков.
Для получения дополнительной информации о функциях репликации ZFS см. Функции репликации пула устройств хранения данных ZFS.
Перейдите в режим root или выберите аналогичную роль с соответствующим профилем прав ZFS.
Для получения дополнительной информации о профилях прав ZFS см. Профили прав ZFS.
Выберите имя пула.
Имя пула используется для идентификации пула устройств хранения данных при выполнении команд zpool или zfs. Для большинства систем необходим только один пул, что позволяет выбрать любое предпочитаемое имя при условии его соответствия требованиям, описанным в разделе Требования к именованию компонентов ZFS.
Создайте пул.
Например, создайте зеркальный пул с именем tank.
# zpool create tank mirror c1t0d0 c2t0d0 |
Если одно или более устройств содержат другую файловую систему или используются каким-либо другим образом, выполнение команды не приведет к созданию пула.
Для получения дополнительной информации о создании пулов устройств хранения данных см. Создание пула устройств хранения данных ZFS.
Для получения дополнительной информации о способах определения использования устройств Обнаружение используемых устройств.
Просмотрите результаты.
Определить, был ли пул успешно создан, позволяет команда zpool list.
# zpool list NAME SIZE USED AVAIL CAP HEALTH ALTROOT tank 80G 137K 80G 0% ONLINE - |
Для получения дополнительной информации о просмотре статуса пула см. Запрос состояния пула устройств хранения данных ZFS.
После создания пула устройств хранения данных можно создать иерархию файловых систем. Иерархии представляют собой простой, но обладающий множеством возможностей механизм упорядочения информации. Они также привычны для всех, работающих с файловой системой.
ZFS обеспечивает возможность создания файловых систем в форме произвольных иерархий, в которых для каждой файловой системы существует только один родительский элемент. Корнем иерархии всегда является имя пула. ZFS использует иерархию путем поддержки наследования свойств, что обеспечивает быструю и простую настройку общих свойств для целых деревьев файловых систем.
Определите структуру файловой системы.
Файловые системы ZFS представляют собой центральную точку администрирования. Они являются легковесными и могут быть созданы достаточно быстро. Наиболее эффективной моделью является использование одной файловой системы для каждого пользователя или проекта, поскольку это обеспечивает возможность управления свойствами, снимками и резервным копированием для конкретного пользователя или проекта.
В разделе Создание файловых систем ZFS создаются две файловые системы ZFS: bonwick и billm.
Для получения дополнительной информации об управлении файловыми системами см. Глава 6Управление файловыми системами ZFS.
Сгруппируйте аналогичные файловые системы.
ZFS позволяет организовать файловые системы в иерархии для группирования схожих систем. Эта модель обеспечивает центральную точку администрирования для управления свойствами и администрирования файловых систем. Аналогичные файловые системы должны создаваться под общим именем.
В разделе Создание файловых систем ZFS приводится пример двух файловых систем, размещенных под файловой системой home.
Выберите свойства файловой системы.
Управление большей частью характеристик файловой системы осуществляется с использованием простых свойств. Эти свойства позволяют определить поведение файловых систем, включая точки монтирования, совместное использование, сжатие и квоты.
В разделе Создание файловых систем ZFS приводится пример монтирования всех домашних каталогов на пути /export/zfs/пользователь с их совместным использованием в NFS и включенным сжатием. Кроме того, в bonwick устанавливается квота 10 ГБ.
Для получения дополнительной информации о свойствах см. Введение в свойства ZFS.
Перейдите в режим root или выберите аналогичную роль с соответствующим профилем прав ZFS.
Для получения дополнительной информации о профилях прав ZFS см. Профили прав ZFS.
Создайте требуемую иерархию.
В этом примере создается файловая система, действующая как контейнер для отдельных файловых систем.
# zfs create tank/home |
Затем отдельные файловые системы группируются в файловой системе home в пуле tank.
Задайте наследуемые свойства.
После определения иерархии файловых систем настройте свойства, которые будут применяться в отношении всех пользователей:
# 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.
Создайте отдельные файловые системы.
Следует отметить, что файловые системы могут быть уже созданы, и в этом случае свойства потребуется изменить на уровне home. Все свойства могут изменяться динамически во время работы с файловыми системами.
# zfs create tank/home/bonwick # zfs create tank/home/billm |
Эти файловые системы наследуют значения свойств от родительского элемента. Таким образом, они автоматически монтируются в /export/zfs/ пользователь и совместно используются NFS. Редактирование файла /etc/vfstab или /etc/dfs/dfstab не требуется.
Для получения дополнительной информации о создании файловых систем см. Создание файловой системы ZFS.
Для получения дополнительной информации о монтировании и совместном использовании файловых систем см. Монтирование и совместное использование файловых систем ZFS.
Установите свойства, применяющиеся к отдельным файловым системам.
В этом примере для пользователя bonwick назначается квота 10 ГБ. Это свойство устанавливает ограничение на пространство, которое он может использовать, вне зависимости от того, какой объем доступен в пуле.
# zfs set quota=10G tank/home/bonwick |
Просмотрите результаты.
Просмотрите информацию о доступных файловых системах с помощью команды 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.