Получение статистики ввода-вывода ZFS для набора данных (или NFS для статистики ввода-вывода экспорта)

Где я могу найти статистику о том, как IO делится между наборами данных zfs? (zpool iostat только сообщает мне, сколько IO испытывает пул.)

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

В настоящее время мы работаем с OpenIndiana

[редактировать]

Кажется, что операция и счетчик байтов доступны в kstat

kstat -p unix:*:vopstats_???????
...
unix:0:vopstats_2d90002:nputpage        50
unix:0:vopstats_2d90002:nread   12390785
...
unix:0:vopstats_2d90002:read_bytes      22272845340
unix:0:vopstats_2d90002:readdir_bytes   477996168
...

... но странные шестнадцатеричные идентификационные номера должны быть разрешены из /etc/mnttab (лучшие идеи?)

rpool/export/home/jkj /export/home/jkj zfs rw,...,dev=2d90002 1308471917

Теперь пишем плагин Мунина для использования данных...

2 ответа

Решение

Как насчет этого... В этом случае у меня есть файловая система ZFS '/volume /lab3_pool_a/data02/alpha/', и я использую fsstat для получения некоторой базовой статистики об этом. Обратите внимание, я получаю статистику для обоих, ZFS в целом и этой файловой системы. Кстати, fsstat имеет несколько хороших опций и может дать вам именно то, что вам нужно.

# fsstat zfs /volumes/lab3_pool_a/data02/alpha/ 1

 new  name   name  attr  attr lookup rddir  read read  write write
 file remov  chng   get   set    ops   ops   ops bytes   ops bytes
    0     0     0    27     0     27     0     0     0     1   208 zfs
    0     0     0     0     0      0     0     0     0     0     0 /volumes/lab3_pool_a/data02/alpha

Добавление к комментариям slashdot выше: эта однострочная строка делает то же самое для всех наборов данных ZFS (как определено шаблоном столбца устройства в выводе mount(1M):

fsstat -i `mount | awk '{if($3 ~ /^[^\/:]+\//) {print $1;}}'` 1
Другие вопросы по тегам