A montagem NFS com o bloqueio de arquivo não é mais possível depois da mudança para a nova sub-rede: statd expirou, o lockd não pode monitorar

2

Estou operando um servidor NFS Ubuntu 10.04 com autenticação de usuário LDAP em uma máquina virtual na sub-rede A. O servidor exporta os diretórios home dos usuários com nfs v3 para clientes ubuntu nas sub-redes B e C. O servidor tem outros serviços em execução, isso não deveria importar para o meu problema no momento. Tudo funcionou bem por vários anos.

Agora nos mudamos para um novo prédio e obtivemos uma nova sub-rede D (os hosts na sub-rede B e C se tornaram a nova sub-rede D). Além disso, a conexão com o centro de computação, onde meus servidores virtuais estão hospedados, tem agora um quilômetro de cabo de um provedor comercial no meio e tem uma largura de banda menor. Estas são as únicas duas coisas que mudaram para o meu conhecimento.

O problema agora é que eu só posso fazer conexões / montagens de trabalho dos clientes usando a opção nolock . Se esta opção não for fornecida, recebo a seguinte mensagem no servidor em /var/log/syslog

kernel: [11457.902470] statd: server rpc.statd not responding, timed out
kernel: [11457.902481] lockd: cannot monitor notos

e em clientes montados em casa sem a opção nolock, os usuários não podem abrir nenhum programa com um gui que tente definir bloqueios de arquivos (google-chrome, ...) ou até mesmo não logar (já que o bloqueio é necessário como bem).

Nos primeiros dias após a mudança, quando tínhamos apenas metade dos clientes na nova sub-rede, eu não estava ciente do problema ou nem sequer estava lá.

Além de muitas outras coisas, eu tentei o que é descrito em esta descrição do bug da barra de lançamento . Eu pensei que o provedor comercial não pode ser multicast capaz. Mas isso não teve nenhum efeito.

Qualquer ajuda seria appriciated.

    
por marz_cyclone 04.10.2013 / 11:29

3 respostas

1

Se você quiser usar bloqueios com NFS (e um realmente deve!), seu servidor deve fornecer um servidor RPC ao qual os clientes possam se conectar. Isso é para coordenar bloqueios.

Verifique se o servidor RPC está sendo executado. Nesse caso, deve haver algo mais bloqueando a comunicação entre seus clientes e o servidor RPC. Como você parece ter conectividade de rede geral, deve haver um firewall (no servidor ou no próprio cliente ou em algum lugar entre seus clientes e o servidor) bloqueando as tentativas de conexão.

    
por 04.10.2013 / 12:23
1

Eu resolvi o problema. Não teve nada a ver com a configuração da rede. Dois clientes adicionados recentemente estão rodando com uma versão 3.8 do kernel. Este kernel parece ter um bug no lockd, o que faz com que o servidor travado caia. Depois de rebaixar o kernel desses clientes para 3.2, tudo funciona como antes.

    
por 08.10.2013 / 15:57
0

Adicione uma entrada em /etc/services da seguinte forma:

sunrpc                  111/tcp         rpcbind # SUN Remote Procedure Call
sunrpc                  111/udp         rpcbind # SUN Remote Procedure Call
    
por 20.02.2016 / 08:29