Configuração
Eu configurei um thin client executando o gentoo de acordo com estas instruções . Parece funcionar muito bem, exceto que de vez em quando ele congela.
Descobri que posso duplicar o problema puxando a rede, executando ls e, em seguida, conectando a rede novamente. Por alguma razão, ela não está se recuperando da perda de rede. Eu diria que o sistema operacional deve ser capaz de lidar com perda momentânea de E / S (digamos que um disco rígido demora um ou dois segundos para responder), então eu acho que não pode ser apenas uma falha no sistema de arquivos, mas sim a conexão nfs não está voltando. O sistema de arquivos é montado como nfs4 com as seguintes opções:
rw,relatime,vers=4.0,rsize=4096,wsize=4096,namlen=255,hard,proto=udp,port=0,timeo=11,retrans=3,sec=sys,clientaddr=xxx.xxx.xxx.xxx,local_lock=none,addr=yyy.yyy.yyy.yyy
Anteriormente, eu não estava usando nenhuma especificação proto (padrão para tcp) e isso não funcionava melhor. Eu descobri que após remover o sinalizador udp do boot ele ainda inicializa como udp, então agora eu acho que posso estar olhando para a /home
mount em vez da /
mount.
Eu acho que o que está acontecendo quando eu não estou puxando o cabo é que a rede falha por um segundo, algo está tentando acessar um arquivo (parece estar congelando quando eu estou compilando algum software), e então isso não acontece recuperar.
Informações do dmesg
Eu fiz um monte de testes e descobri que aparentemente desconectar / reconectar o cabo nem sempre causa um problema, mas às vezes acontece. No log dmesg, quando isso acontece, a última linha é:
nfs: server yyy.yyy.yyy.yyy not responding, still trying
Pergunta
O que posso fazer para tornar o sistema robusto para problemas de rede?