Lotes de nfs4_reclaim_open_state: Bloquear recuperação de entradas com falha no syslog

1

Eu tenho um Ubuntu 11.10 VM configurado no VMSphere. Estou armazenando alguns dados em uma montagem nfs. A VM está descendo com frequência. Não consegui identificar o motivo, mas acho que tem a ver com esse erro:

Jan 19 09:53:07 ws-test-moodlearchive-01 kernel: [  384.523617] nfs4_reclaim_open_state: Lock reclaim failed!

Ele aparece em / var / log / syslog milhares de vezes. Na maioria das vezes, após o cron começar a ser executado.

Eu originalmente estava salvando a saída de um trabalho cron para um arquivo de texto armazenado na montagem do NFS. Mudar isso para o disco local parece ter reduzido o número de erros, mas ainda está aparecendo.

O Google tem sido muito inútil, nada que eu achei pareceu valer. Não encontrei nada nem perto neste site, ou StackOverflow.

Então, o que esse erro significa? E como posso evitar que isso ocorra?

    
por David R. 19.01.2012 / 19:26

2 respostas

1

O servidor NFS ao qual eu estava me conectando estava executando a versão 3. Eu estava conectando com a versão 4. A mudança para a versão 3 parece ter resolvido o problema. Eu não vejo mais o erro nfs4_reclaim_open_state no meu syslog.

Para fazer o NFS usar a versão 3 ao conectar, adicionei nfsvers = 3 ao meu arquivo fstab. Então, uma entrada como esta:

nfsserverip:/export/homes   /home       nfs  rw      0 0

Alterado para:

nfsserverip:/export/homes   /home       nfs  nfsvers=3,rw      0 0

Ainda não descobri exatamente o que a mensagem de erro estava me dizendo. Mas pelo menos eu consertei.

    
por 26.01.2012 / 21:27
2

Na verdade, isso não será mostrado no NFS3 porque este é um código somente do NFS4, o NFS3 não possui esse recurso :) O NFS3 tem uma recuperação de erro diferente e pode estar apenas ocultando o problema.

Thist pode acontecer quando o cliente NFS4 obtém uma ação completa com algum erro e tenta recuperá-lo. Ao recuperar, este erro mostrará se o NFS tentou recuperar o bloqueio e falhar.

Existem muitas razões para a recuperação do bloqueio falhar, desde alguns erros ou raças no servidor nfs, até problemas de rede. Se você acha que isso é um problema, você terá que fazer um tcpdump para capturar o tráfego NFS (lado do cliente preferido) e tentar entender o fluxo de requisição antes do erro aparecer, para entender primeiro porque alguma ação desconhecida do NFS4 falhou e então o que acontece durante a reclamação de bloqueio

Portanto, a primeira coisa a verificar é provavelmente a rede, verifique os cabos, os erros de switch e porta, os IPs duplicados, o limite ruim / LACP, o pacote perdido, etc.

    
por 23.11.2016 / 16:06