Como monitorar o carregamento do NFS do userland?

4

Desculpas se eu não estiver usando o jargão correto (embora eu seja um usuário linux de longa data, não sou um administrador) ou se for um FAQ (embora a busca do SE tenha recebido muitos acessos, não vi qualquer coisa como esta pergunta):

Sou um usuário em um cluster de ciências (com tarefas gerenciadas pelo PBS / Torque, no RHEL5, FWIW). Estou prestes a começar meu primeiro grande trabalho, então pedi ao administrador algumas questões de configuração, para evitar erros estúpidos. Eu estava mais certo, mas ele adicionou o conselho para "certificar-se de que você não está martelando o servidor de disco com muito I / O", com acompanhamento para "usar top [para] ver se o nfs está enlouquecendo".

Como fazer isso? Este é um cluster, então muita coisa está acontecendo "nos bastidores" que é transparente para mim. Além disso, tenho privilégios de próximo a nenhum. Eu também estou limitado ao CLI via SSH, mas esse é o menor dos meus problemas. No lado positivo, parece que eu consigo entrar em qualquer um dos nós de computação, incluindo aqueles com disco (s) conectado (s).

Então, eu estou querendo saber qual a melhor maneira de monitorar o NFS a partir da userland? Eu sei um pouco sobre top e NFS, então eu sei que posso fazer

top -p$(pgrep nfsd -d ',')

para obter a lista de processos do NFS (não?). Mas o que eu realmente gostaria de saber - mais uma vez, como usuário (eu não tenho nem sudo nem root) no RHEL5 (sim, ainda estamos executando isso) - são

  1. Uma ou algumas estatísticas agregadas para carga do NFS em todos os processos do NFS. Isso é algo que eu posso obter de top ou outra ferramenta, sem extrair a saída e fazer minha própria matemática? E eu deveria estar monitorando processos diferentes de nfsd ?
  2. Conselhos sobre a quantificação de "NFS enlouquecendo". Se eu puder obter uma / poucas estatísticas agregadas, posso presumivelmente obter uma linha de base anterior ao meu trabalho, mas isso ainda não me diz "quão alto é muito alto".

Observação: top parece não ser a ferramenta a ser usada para essa tarefa, mas pelo menos está disponível para mim. A lista de ferramentas que não estão disponíveis

inclui

  1. nfsstat
  2. iostat
  3. iotop
por TomRoche 29.11.2013 / 04:16

1 resposta

6

Ver a saída principal está completamente errado. É sobre o IOPS. Para obter uma visão das estatísticas do NFS, use nfsstat :

Server rpc stats:
calls      badcalls   badauth    badclnt    xdrcall
40833255   0          0          0          0       

Server nfs v3:
null         getattr      setattr      lookup       access       readlink     
0         0% 1411374   3% 107       0% 43169     0% 747514    1% 790       0% 
read         write        create       mkdir        symlink      mknod        
38138706 93% 0         0% 0         0% 0         0% 0         0% 0         0% 
remove       rmdir        rename       link         readdir      readdirplus  
0         0% 0         0% 0         0% 0         0% 0         0% 491559    1% 
fsstat       fsinfo       pathconf     commit       
6         0% 12        0% 6         0% 0         0% 

Se você tem um programa de monitoramento (por exemplo, o Zabbix), você pode adicionar um UserParameter para assisti-los:

# NFS stats
UserParameter=nfs.v3.server[*],nfsstat -s -l | awk 'BEGIN {FS=": *"}/v3 server.*$1:/ {print $$2}'

e faça belos gráficos:

Quãoaltoéaltodemais?Dependetotalmentedasuacargadetrabalho:

Você precisa observar o sistema de arquivos e o disco latência para ver se você está sobrecarregando os discos.

    
por 29.11.2013 / 06:27