nfs estatísticas de acesso a arquivos

2

Para um servidor Linux NFSv3, existe alguma maneira de ver estatísticas sobre o acesso a arquivos real ? Em outras palavras, eu gostaria de ver um log de cada arquivo de tempo lido ou escrito.

Motivação: Eu tenho vários servidores NFS que devem ser substituídos por algum tipo de sistema de armazenamento "grande ferro". No meu caso particular, a carga do cliente NFS é virtualmente todas as leituras de arquivos grandes (com uma média de cerca de 700 MB). A solução de um fornecedor usa um grande disco de RAM como um cache para fornecer o tipo de processamento de leitura aleatória que eu preciso.

O que eu quero é uma maneira de estudar como é o padrão de acesso a arquivos do NFS para que eu possa "dimensionar corretamente" o cache.

    
por Matt 07.04.2011 / 21:59

3 respostas

3

Eu tenho batido minha cabeça contra este problema durante todo o dia, sem solução encontrada.

  1. Você pode Aumente a depuração do servidor NFS, mas isso não fornece muitos detalhes (se esse exemplo for preciso) e provavelmente dominará o disco de um servidor NFS ocupado com bagagens inúteis registradas além dos nomes de arquivos nus. / p>

  2. Outra solução é adicionar regras ao auditd / auditctl para registrar todas as leituras ou gravações nos diretórios do NFS, mas isso não funciona para as máquinas do Centos 6.X, por motivos que ainda não consegui descobrir. Em /etc/audit/audit.rules em uma máquina cliente:

    # First rule - delete all
    -D
    
    # Increase the buffers to survive stress events.
    # Make this bigger for busy systems
    -b 8192
    
    # Feel free to add below this line. See auditctl man page
    -w /auto/ -p r -k read -k home
    -w /auto/ -p w -k write -k home
    -w /auto/ -p xa -k other -k home
    

... onde eu dei chaves separadas para ler, escrever e executar / alterar atributos. Meus clientes são autofs'd para montar alguns diretórios NFS diferentes, incluindo seu diretório inicial, em /auto/ com links que apontam /home/users/ da máquina cliente para /auto/ . Eu obtenho log de muitas coisas, mas nenhum dos arquivos que os próprios usuários parecem estar modificando.

Trollar os logs de auditoria com ausearch -k read | aureport -f , por exemplo. grepping para .ODT ou .PDF vem com nada, os únicos resultados são para as configurações da metacity, porcaria do Chrome, etc, etc.

Naturalmente, ativar a auditoria no servidor apontando para o real /home/users/XYZ mostra apenas acessos de coisas que fazem interface com o servidor diretamente (clientes de correio) ou usuários SSH no servidor.

Se você puder descobrir a receita certa para auditoria, ou uma solução dedicada, por favor, por favor, compartilhe! Você acha que isso teria sido resolvido em 1993.

    
por 03.07.2013 / 21:14
2

Dê uma olhada no nfstrace link . Ele captura o tráfego de rede e realiza inspeção profunda de pacotes. Ele encontra os procedimentos do NFSv3 / v4 (READ, WRITE etc.) e rastreia suas estatísticas. Além disso, você pode desenvolver novos módulos conectáveis para o nfstrace.

    
por 08.05.2015 / 12:13
0

Dê uma olhada no nfsstat. Pode produzir estatísticas para um cliente e servidor NFS. É uma parte do nfs-common no Ubuntu Linux. Você também pode olhar para o iotop para o lado do servidor, mas isso informa todas as E / S de disco, não apenas o NFS.

    
por 08.04.2011 / 07:55