Для просмотра базовой информации о пулах используется команда zpool list.
При отсутствии указанных аргументов команда отображает все поля для всех пулов в системе. Пример:
# zpool list NAME SIZE USED AVAIL CAP HEALTH ALTROOT tank 80.0G 22.3G 47.7G 28% ONLINE - dozer 1.2T 384G 816G 32% ONLINE - |
В этих выходных данных содержится следующая информация:
Имя пула.
Общая емкость пула, равная сумме емкостей всех виртуальных устройств верхнего уровня.
Объем пространства, распределяемый между всеми наборами данных и внутренними метаданными. Следует отметить, что этот объем отличается от объема пространства на уровне файловой системы.
Для получения дополнительной информации об определении доступного пространства файловой системы см. Учет пространства ZFS.
Объем нераспределенного пространства в пуле.
Объем используемого пространства, выраженный как процент от общего пространства.
Текущий статус работоспособности пула.
Определение статуса работоспособности пулов устройств хранения данных ZFS.
Альтернативный корень пула, если таковой имеется.
Для получения дополнительной информации о пулах с альтернативным корнем см. Использование пулов ZFS с альтернативным корнем.
Также можно получить статистику по определенному пулу, указав имя пула. Пример:
# zpool list tank NAME SIZE USED AVAIL CAP HEALTH ALTROOT tank 80.0G 22.3G 47.7G 28% ONLINE - |
Для запроса определенной статистики используется параметр -o. Этот параметр позволяет выполнять пользовательские отчеты или быстро получить требуемые данные. Например, для вывода списка имен и емкостей каждого пула используется следующий синтаксис:
# zpool list -o name,size NAME SIZE tank 80.0G dozer 1.2T |
Имена столбцов соответствуют свойствам, перечисленным в разделе Вывод информации обо всех пулах устройств хранения данных.
Стандартные выходные данные команды zpool list в первую очередь удобочитаемы, однако их сложно использовать в сценариях интерпретатора команд. Для упрощения использования этой команды в сценариях имеется параметр -H для подавления вывода заголовков столбцов и разделения поля символами табуляции вместо пробелов. Например, для запроса простого списка всех имен пулов в системе можно ввести следующую команду:
# zpool list -Ho name tank dozer |
Ниже приведен еще один пример:
# zpool list -H -o name,size tank 80.0G dozer 1.2T |
ZFS автоматически регистрирует успешные команды zfs и zpool, изменяющие информацию о состоянии пула. Для просмотра этой информации используется команда zpool history.
Например, представленный ниже синтаксис отображает выходные данные команды для корневого пула.
# zpool history History for 'rpool': 2009-05-07.13:51:00 zpool create -f -o failmode=continue -R /a -m legacy -o cachefile= /tmp/root/etc/zfs/zpool.cache rpool c1t0d0s0 2009-05-07.13:51:01 zfs set canmount=noauto rpool 2009-05-07.13:51:02 zfs set mountpoint=/rpool rpool 2009-05-07.13:51:02 zfs create -o mountpoint=legacy rpool/ROOT 2009-05-07.13:51:03 zfs create -b 8192 -V 2048m rpool/swap 2009-05-07.13:51:04 zfs create -b 131072 -V 1024m rpool/dump 2009-05-07.13:51:09 zfs create -o canmount=noauto rpool/ROOT/snv_114 2009-05-07.13:51:10 zpool set bootfs=rpool/ROOT/snv_114 rpool 2009-05-07.13:51:10 zfs set mountpoint=/ rpool/ROOT/snv_114 2009-05-07.13:51:11 zfs set canmount=on rpool 2009-05-07.13:51:12 zfs create -o mountpoint=/export rpool/export 2009-05-07.13:51:12 zfs create rpool/export/home |
Подобные выходные данные могут использоваться в системе для идентификации набора exact команд ZFS, который был выполнен для устранения сбоев при возникновении ошибки.
Протокол журнала имеет следующие характеристики:
отключение протокола журнала невозможно;
протокол журнала постоянно сохраняется на диске, т.е. при перезагрузке системы данные не утрачиваются;
протокол журнала организован по принципу кольцевого буфера; минимальный объем – 128 Кб; максимальный объем – 32 МБ;
для меньших пулов максимальный размер ограничен 1% размера пула, где размер size определяется во время создания пула;
отсутствует необходимость в дополнительном администрировании, т.е. задавать размер или изменять местоположение протокола журнала не требуется.
Для идентификации журнала команд определенного пула устройств хранения используется подобный синтаксис:
# zpool history mypool History for 'mypool': 2009-06-02.10:56:54 zpool create mypool mirror c0t4d0 c0t5d0 2009-06-02.10:57:31 zpool add mypool spare c0t6d0 2009-06-02.10:57:54 zpool offline mypool c0t5d0 2009-06-02.10:58:02 zpool online mypool c0t5d0 |
Параметр -l позволяет отображать длинный формат с указанием имени пользователя, имени узла и зоны, в которой выполняется операция. Пример:
# zpool history -l mypool History for 'mypool': 2009-06-02.10:56:54 zpool create mypool mirror c0t4d0 c0t5d0 [user root on neo:global] 2009-06-02.10:57:31 zpool add mypool spare c0t6d0 [user root on neo:global] 2009-06-02.10:57:54 zpool offline mypool c0t5d0 [user root on neo:global] 2009-06-02.10:58:02 zpool online mypool c0t5d0 [user root on neo:global] |
Параметр -i позволяет отображать сведения о внутренних событиях, которые можно использовать для диагностики. Пример:
# zpool history -i mypool History for 'mypool': 2009-06-02.10:56:54 zpool create mypool mirror c0t4d0 c0t5d0 2009-06-02.10:57:31 zpool add mypool spare c0t6d0 2009-06-02.10:57:54 zpool offline mypool c0t5d0 2009-06-02.10:58:02 zpool online mypool c0t5d0 2009-06-02.11:02:20 [internal create txg:23] dataset = 24 2009-06-02.11:02:20 [internal property set txg:24] mountpoint=/data dataset = 24 2009-06-02.11:02:20 zfs create -o mountpoint=/data mypool/data 2009-06-02.11:02:34 [internal create txg:26] dataset = 30 2009-06-02.11:02:34 zfs create mypool/data/datab |