Назад | Перейти на главную страницу

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

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

Все соответствующие наборы данных используются через 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

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

Как насчет этого ... В этом случае у меня есть файловая система 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