Passei 3 noites e parte do dia pesquisando no Google e reconfigurando servidores de rede doméstica com dois servidores nfs vers=3 que de repente pararam de funcionar.
Eles estavam trabalhando sem problemas usando a montagem automática de 3 a 4 clientes. Isso não é nada produtivo, eu os tenho em casa só para testar algumas coisas, mas há algumas fotos e filmes e estão no ZFS em um ou outro servidor.
Nada funcionou de repente e nenhum progresso foi alcançado. nem rm /etc/default/nfs-* apt-get purge&install, nem várias tentativas de iniciar rpc.mountd ou statd e observar sua saída. servidor, um roteador com OpenWRT servindo apenas uma chave USB. Este funciona sem problemas em todos os computadores, independentemente dos dois servidores Ubuntu mortos. Então, eu suspeitei de atualizações do Ubuntu. Encontrei o pacote nfs-utils removido há alguns meses. E não tinha certeza de quando ele parou de funcionar.
Sintomas: showmount -e server leva de 2 a 3 minutos para mostrar a resposta, mas a resposta está correta. rpcinfo -p server leva cerca de um minuto ou mais e mostra a saída correta. mount.nfs xx:/x/x /mnt/test -o vers=3 termina após um ou dois minutos com erro. O ping ou o mount samba desses servidores funcionam sem problemas, o iperf diz cerca de 1 gigabit conforme o esperado (ou menos, mas ainda assim é bom quando o cliente está usando wifi). telnet para a porta portmapper e a porta nfs abre uma sessão. O firewall está desativado. Até adicionei ALL:lanip ao Hosts.allow. - todos os problemas dizem respeito apenas aos servidores Ubuntu, o OpenWrt responde em uma fração de segundo e funciona conforme o esperado de todos os clientes. Mas não suporta nfs4. - um dos servidores é 12.04.5 LTS com pilha Trusty HWE, - o segundo servidor é 14.04 LTS Trusty. Todas as atualizações instaladas. Um deles usa ligação nic (mode0) de duas interfaces, o segundo não.
Razão, sem explicação:
Para encurtar um pouco a história, alguns minutos atrás tive uma ideia maluca de experimentar e troquei meu novo switch gerenciado ZyXel GS1900-8 por um tplink antigo e barato (mas também gigabit). E fiquei louco, pois meus servidores NFS começaram a funcionar naquele momento.
Olhando para o interruptor, não tenho ideia do que está acontecendo de errado com ele. Agora lembro que habilitei o LLTP e instalei o lltpd em todos os pc's, só para me divertir vendo o nome deles na lista de portas. E fiz alguns testes com bonding usando 803.ad LACP que não era suportado pelo switch antigo e está funcionando no novo, mas desliguei (de volta ao modo 0) pois estava evitando o WoL que estou usando regularmente e considero necessário ..
Por favor, diga-me o que verificar ou adivinhe qual poderia ser o motivo. Onde procurar e quais comandos tentar encontrar a diferença? Fiquei muito curioso.
Responder1
Finaliza descobrindo que switches gerenciados com recurso DoS (denial of service) habilitam, detectam solicitações de portmap SYN<1024 e passam a bloqueá-las. Desativar esse recurso resolve o problema completamente.
Não consigo detectar o problema a não ser tentar rpcinfo -p ou showmount -e, porque todas as portas são acessíveis ao tentar apenas telnet.
O Google encontrou mensagens comuns, depois de eu já saber o que pesquisar, por exemplohttps://serverfault.com/questions/367107/cant-mount-nfs-share-over-tcp E são mencionadas diferentes marcas de switches (os meus são ZyXel, seu PoweConnect e também Cisco).
IMHO, com os switches gerenciados ficando baratos e comuns, esse problema pode reaparecer muitas vezes, e talvez seja a razão para outros problemas do NFS mencionados no askubuntu.