Получение статистики ввода-вывода 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