s i s t e m a o p e r a c i o n a l m a g n u x l i n u x | ~/ · documentação · suporte · sobre |
Página seguinte
Página anterior
Índice
634. Configurando um cliente NFSInicialmente é necessário ter um kernel com o suporte a sistemas de arquivo NFS compilado ou como um módulo. Isso deve ser configurado antes da compilação do kernel. Caso não se tenha feito isto, por favor verifique o Como Fazer - Kernel para instruções sobre como proceder. Caso se esteja utilizando uma distribuição muito boa (como o Conectiva Linux) e nunca se tenha lidado com o kernel ou módulos, nfs está magicamente à sua disposição.
Pode-se agora, na linha de comandos do superusuário, informar o comando de montagem apropriado e o sistema de arquivos estará disponível. Continuando com nosso exemplo anterior, desejamos montar
mount -o rsize=1024,wsize=1024 parolin:/mn/parolin/local /mnt
(Retornaremos posteriormente às opções rsize e wsize). O sistema de arquivos está agora disponível sob
Para desmontar o sistema de arquivos basta comandar:
umount /mnt
Para que um sistema de arquivos nfs seja montado na inicialização do sistema operacional, deve-se editar o arquivo
# dispositivo pto.montagem tipo_sist_arqs opções dump ordem verif. ... parolin:/mn/parolin/local /mnt nfs rsize=1024,wsize=1024 0 0 ...
Bem, parece tudo. Quase. Continue a leitura por favor.
634.1 Opções de MontagemHá algumas opções que devem ser consideradas. Eles definem a forma como o cliente NFS lida com uma queda do servidor ou da rede. Um dos aspectos mais interessantes sobre NFS é que ele lida com estas situações com elegância, desde que o cliente esteja corretamente configurado. Há dois tipos distintos de parâmetros de tratamento de falhas:
A partir do exemplo anterior, esta seria a entrada no arquivo fstab:
# dispositivo pto.montagem tipo_sist_arqs opções dump ordem verif. ... parolin:/mn/parolin/local /mnt nfs rsize=1024,wsize=1024,hard,intr 0 0 ...
634.2 Otimizando o NFSNormalmente, caso as opções rsize e wsize seja especificados, o NFS irá ler e gravar blocos de 4096 e 8172 bytes. Algumas combinações de kernel do Linux e placas de rede não podem lidar com blocos grandes e não podem ser otimizados. Então vamos tentar descobrir como encontrar os parâmetros rsize e wsize que funcionem da maneira mais otimizada possível. É possível testar a velocidade das opções com um simples comando. Dado o comando mount conforme descrito acima, logo temos acesso de gravação ao disco, podendo executar um teste de performance de gravação seqüencial:
time dd if=/dev/zero of=/mnt/testfile bs=16k count=4096
Este comando criará um arquivo de 64 Mb de bytes zerados (que deve ser grande o suficiente para que o cache não altere significativamente a performance. Pode ser usado um arquivo maior caso o sistema local tenha muita memória). Isso pode ser feito algumas vezes (5-10?), para que se possa ter uma média bem fundamentada. Neste casos, o importante é medir o tempo de "relógio" e o tempo efetivamente gasto na conexão. Após, pode-se testar a performance da leitura ao se ler o arquivo de volta:
time dd if=/mnt/testfile of=/dev/null bs=16k Isso pode ser feito algumas vezes. Após deve-se executar o comando mount e umount novamente com tamanhos maiores em rsize e wsize. Eles devem ser provavelmente múltiplos de 1024, e não maior que 16384 visto que este é o tamanho máximo do NFS versão 2. Exatamente após a montagem de um tamanho maior, acesse o sistema de arquivos montado através do comando cd e explore-o através do comando ls, para estar seguro que ele está funcionando perfeitamente. Caso os parâmetros rsize/wsize sejam muito grandes, os sintomas não são muito óbvios. Um típico sintoma é uma lista incompleta dos arquivos produzida pelo comando ls e nenhuma mensagem de erro. Ou ao se ler um arquivo ele falha misteriosamente, sem mensagens de erro. Após definir que os parâmetros rsize/wsize funcionam perfeitamente deve-se executar os testes de performance. SunOS e Solaris tem a reputação de funcionar muito melhor com blocos de 4096 bytes.
kernels mais recentes do Linux (desde o 1.3) executam a leitura antecipada para rsizes maiores ou iguais ao tamanho de página da máquina. Em máquinas Intel o tamanho de página é de 4.096 bytes. A leitura adiantada aumenta significativamente a performance de leitura do NFS. Ou seja, sempre que possível deve-se usar o rsize de 4.096 bytes em máquinas Intel.
Lembre-se de editar o arquivo
Uma sugestão para incrementar a performance de gravação do NFS é desabilitar o sincronismo de gravação do servidor. A especificação NFS indica que a gravação NFS solicitada não pode ser considerada finalizadas antes dos dados serem gravados em um meio não volátil (normalmente o disco rígido). Isso restringe a performance de gravação de alguma forma, enquanto que gravações assíncronas irão aumentar a velocidade do NFS. O servidor Linux nfsd nunca faz gravações síncronas uma que a própria implementação do sistema de arquivos não o faz, mas em servidores em sistemas operacionais diferentes isso pode aumentar a performance através do seguinte parâmetro no arquivo exports:
/dir -async,access=linuxbox
ou algo similar. Por favor verifique a página de manual online da máquina em questão. Cabe salientar que esta opção aumenta o risco de perda de dados no caso de algum problema ocorrer antes da efetiva gravação dos dados.
Página seguinte Página anterior Índice |