Obtendo o ZFS por estatísticas de E / S do conjunto de dados (ou NFS por estatísticas de E / S de exportação)

6

Onde encontro estatísticas sobre como o IO é dividido entre conjuntos de dados do zfs? (O zpool iostat apenas me diz quanto o IO está experimentando um pool.)

Todos os conjuntos de dados relevantes são usados através do NFS, então eu ficaria feliz com as estatísticas de E / S de NFS por exportação também.

Estamos atualmente executando o OpenIndiana

[editar]

Parece que a operação e o contador de bytes estão disponíveis em 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
...

... mas os números estranhos de ID hexadecimais devem ser resolvidos a partir de /etc/mnttab (melhores ideias?)

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

Agora, escrevendo um plugin munin para usar os dados ...

    
por jkj 09.06.2011 / 13:34

2 respostas

3

Que tal isso ... Neste caso, eu tenho um sistema de arquivos ZFS '/ volumes / lab3_pool_a / data02 / alpha /' e estou usando o fsstat para obter algumas estatísticas básicas sobre ele. Observe, estou recebendo estatísticas para ambos, o ZFS como um todo e esse sistema de arquivos. A propósito, o fsstat tem algumas boas opções e pode fornecer exatamente o que você precisa.

# 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
    
por 09.06.2011 / 16:44
2

Adicionando aos comentários do slashdot acima: este one-liner faz a mesma coisa sobre todos os conjuntos de dados do ZFS (conforme determinado pelo padrão da coluna do dispositivo na saída mount (1M):

fsstat -i 'mount | awk '{if($3 ~ /^[^\/:]+\//) {print $1;}}'' 1
    
por 09.06.2011 / 23:38