Для создания пула устройств хранения данных используется команда zpool create. В качестве аргументов команды указывается имя пула и любое количество виртуальных устройств. Имя пула должно удовлетворять соглашениям о наименовании, перечисленным в разделе Требования к именованию компонентов ZFS.
Следующая команда используется для создания нового пула tank, состоящего из дисков 1t0d0 и c1t1d0.
# zpool create tank c1t0d0 c1t1d0 |
Эти целые диски расположены в каталоге /dev/dsk и соответствующим образом маркированы ZFS. Они содержат один большой подраздел. Для дисков организовано динамическое чередования полос данных.
Для создания зеркального пула используется ключевое слово mirror, за которым указывается любое количество устройств хранения, составляющих зеркало. Для указания нескольких зеркал повторите ключевое слово mirror в командной строке необходимое количество раз. Следующая команда используется для создания пула с двумя двусторонними зеркалами:
# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0 |
Второе ключевое слово mirror указывает на новое виртуальное устройство верхнего уровня. Данные динамически наносятся полосами на оба зеркала, причем данные являются избыточными на каждом диске.
Дополнительную информацию о рекомендуемых зеркальных конфигурациях см. на следующем сайте:
http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide
В настоящее время в зеркальной конфигурации ZFS поддерживаются следующие операции:
Добавление другого набора дисков для дополнительного vdev верхнего уровня к существующей зеркальной конфигурации. Для получения дополнительной информации см. Добавление устройств в пул устройств хранения данных.
Присоединение дополнительных дисков к существующей зеркальной конфигурации. Либо присоединение дополнительных дисков к нереплицируемой конфигурации для создания зеркальной конфигурации. Для получения дополнительной информации см. Присоединение и отсоединение устройств в пуле устройств хранения данных.
Замена диска или дисков в существующей конфигурации, если емкость новых дисков больше или равна размеру устройства, которое требуется заменить. Для получения дополнительной информации см. Замена устройств в пуле устройств хранения данных.
Удаляйте диск или диски из зеркальной конфигурации, если оставшиеся устройства обеспечивают в конфигурации достаточную избыточность. Для получения дополнительной информации см. Присоединение и отсоединение устройств в пуле устройств хранения данных.
В настоящее время для зеркальной конфигурации не поддерживаются следующие операции:
Удалить устройство напрямую из зеркального пула устройств хранения данных невозможно. По этой функции уже имеется соответствующий RFE.
Разделить или разбить зеркальное устройство в целях резервирования невозможно. По этой функции уже имеется соответствующий RFE.
В текущей версии Solaris установку и загрузку можно проводить с файловой системы ZFS. Ознакомьтесь со следующей информацией о настройке корневого пула:
Диски, используемые в корневом пуле, должны иметь метку VTOC (SMI), а пул должен быть создан с дисковыми подразделами.
Корневой пул должен быть создан в зеркальной конфигурации или в конфигурации с одним диском. Добавление дополнительных дисков для создания vdev с несколькими зеркалами не допускается, однако для расширения зеркального vdev можно воспользоваться командой zpool attach.
RAID-Z или конфигурация с полосами не поддерживается.
Для корневого пула невозможно назначить отдельное устройство протоколирования.
При попытке использования неподдерживаемой конфигурации для корневого пула выводятся сообщения, подобные следующим:
ERROR: ZFS pool <pool-name> does not support boot environments |
# zpool add -f rpool log c0t6d0s0 cannot add to 'rpool': root pool can not have multiple vdevs or separate logs |
Для получения дополнительных сведений об установке и загрузке корневой файловой системы ZFS см. Глава 5Установка и загрузка корневой файловой системы ZFS.
Процедура создания пула RAID-Z с однократным контролем четности аналогична созданию зеркального пула за исключением того, что вместо raidz или raidz1 используется ключевое слово mirror. Ниже приведен пример создания пула с одним устройством RAID-Z из пяти дисков:
# zpool create tank raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 /dev/dsk/c5t0d0 |
Этот пример демонстрирует указание дисков с использованием полного пути. Устройство /dev/dsk/c5t0d0 идентично устройству c5t0d0.
Аналогичную конфигурацию можно создать из дисковых подразделов. Пример:
# zpool create tank raidz c1t0d0s0 c2t0d0s0 c3t0d0s0 c4t0d0s0 c5t0d0s0 |
Однако диски должны быть предварительно отформатированы и иметь нулевой подраздел требуемого размера.
Для создания конфигурации RAID-Z с двойным контролем четности в команде создания пула используется ключевое слово raidz2 Пример:
# zpool create tank raidz2 c1t0d0 c2t0d0 c3t0d0 # zpool status -v tank pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz2 ONLINE 0 0 0 c1t0d0 ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 c3t0d0 ONLINE 0 0 0 errors: No known data errors |
В настоящее время в конфигурации RAID-Z ZFS поддерживаются следующие операции:
Добавление другого набора дисков для дополнительного vdev верхнего уровня к существующей конфигурации RAID-Z. Для получения дополнительной информации см. Добавление устройств в пул устройств хранения данных.
Замена диска или дисков в существующей конфигурации RAID-Z, если емкость новых дисков больше или равна размеру устройства, которое требуется заменить. Для получения дополнительной информации см. Замена устройств в пуле устройств хранения данных.
В настоящее время для конфигурации RAID-Z не поддерживаются следующие операции:
Присоединение дополнительного диска к существующей конфигурации RAID-Z.
Удаление дисков из конфигурации RAID-Z.
Удалить устройство из конфигурации RAID-Z напрямую невозможно. По этой функции уже имеется соответствующий RFE.
Для получения дополнительной информации о конфигурации RAID-Z см. Конфигурация пула устройств RAID-Z.
По умолчанию ZIL выделяется из блоков в основном пуле. Однако оптимальная производительность достигается с использованием отдельных устройств протоколирования, таких как NVRAM или выделенный диск. Дополнительная информация об устройствах протоколирования ZFS приведена в разделе Настройка отдельных устройств протоколирования ZFS.
Можно настроить устройство протоколирования ZFS при создании пула устройств хранения данных или после его создания.
Например, можно создать зеркальный пул устройств хранения данных с зеркальными устройствами протоколирования.
# zpool create datap mirror c1t1d0 c1t2d0 mirror c1t3d0 c1t4d0 log mirror c1t5d0 c1t8d0 # zpool status pool: datap state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM datap ONLINE 0 0 0 mirror ONLINE 0 0 0 c1t1d0 ONLINE 0 0 0 c1t2d0 ONLINE 0 0 0 mirror ONLINE 0 0 0 c1t3d0 ONLINE 0 0 0 c1t4d0 ONLINE 0 0 0 logs ONLINE 0 0 0 mirror ONLINE 0 0 0 c1t5d0 ONLINE 0 0 0 c1t8d0 ONLINE 0 0 0 errors: No known data errors |
Информация о восстановлении после сбоя устройства протоколирования представлена в Пример 11–2.
Для кэширования данных пула устройств хранения возможно создание пула устройств хранения с устройствами кэширования. Пример:
# zpool create tank mirror c2t0d0 c2t1d0 c2t3d0 cache c2t5d0 c2t8d0 # zpool status tank pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 c2t1d0 ONLINE 0 0 0 c2t3d0 ONLINE 0 0 0 cache c2t5d0 ONLINE 0 0 0 c2t8d0 ONLINE 0 0 0 |
Ознакомьтесь со следующими пунктами перед созданием пула устройств хранения данных ZFS с устройствами кэширования.
Наибольшее повышение производительности от использования устройств кэширования достигается в случае рабочих нагрузок, для которых характерны операции случайного чтения преимущественно статических данных.
Контроль емкости и операций чтения может проводиться командой zpool iostat.
Во время создания пула можно добавить одно или несколько устройств кэширования; кроме того, их можно добавлять или удалять после создания пула. Для получения дополнительной информации см. Пример 4–4.
Зеркалирование устройств кэширования невозможно; кроме того, они не могут быть частью конфигурации RAID-Z.
Если ошибка чтения обнаружена в устройстве кэширования, читающий ввод-вывод которого повторно используется для исходного устойства хранения данных пула, которое может быть частью заркелированной конфигурации или конфигурации с RAID-Z. Объем содержимого устройства кэширования является непостоянным, как и в случае других системных кэшей.