vlamirc
(usa Ubuntu)
Enviado em 03/09/2012 - 11:23h
Olá a Todos!
Recentemente configurei dois servidores em produção, ambos com a distro Ubuntu 12.04, para compartilharem um diretório com centenas de arquivos, via NFSv4.
Ambos são servidores web, que renderizam páginas com Apache versão 2.2.22. O diretório compartilhado contém, entre outras coisas menos importantes, arquivos de configuração, layout html e arquivos de mídia (jpg, gif, vídeos).
Na máquina que faz o papel de servidor NFS a configuração é essa (/etc/exports):
/exp/base 10.0.0.0/24(rw,nohide,insecure,subtree_check,async)
/exp/code 10.0.0.0/24(rw,nohide,insecure,subtree_check,async)
Na máquina cliente a configuração é essa (/etc/fstab):
nfs:/exp/code /var/www/bimboo nfs4 _netdev,auto,soft,intr 0 0
nfs:/exp/base /var/www/bimboo/base nfs4 _netdev,auto,soft,intr 0 0
Essa foi a última configuração que utilizei, que me deu maior tempo de estabilidade. Na penúltima, utilizei a diretiva 'hard' ao invés de 'soft', na máquina cliente.
O que ocorreu sempre, com qualquer configuração que tentei, foi o seguinte: as máquinas entravam em produção normalmente, renderizando corretamente as páginas e atualizando as mesmas a contento.
Após um certo tempo, que poderia ser de alguns minutos, ou de várias horas, os processos do apache na máquina cliente mudavam seu estado de (S interruptible sleep) para (D uninterruptible sleep (usually IO)).
A partir daí, novos processos do Apache começam a ser disparados, e todos alternam imediatamente para o modo D, em poucos minutos a máquina tem 150 processos nesse estado e para de atender as requisições.
Segundo informa a man page do 'ps', o estado D ocorre usualmente quando o processo está aguardando IO.
Quando desligo o NFS na máquina cliente, e copio os arquivos para uma partição local, o problema desaparece.
Tudo leva a crer que o NFS client está "perdendo o contato" com o NFS server.
Pergunto:
- Alguém já passou por algo semelhante, e saberia me dizer o porque disso?
- Alguém utiliza NFS em ambiente de produção semelhante ao meu, e com estabilidade?
- Alguém conhece algum Howto legal, que ensine a montar um NFS client/server?
Valeu!!!