Este problema está basicamente me deixando louco, neste momento. Eu tenho um servidor NFS 16.04 Ubuntu que estava funcionando bem com esta configuração:
/etc/fstab:
UUID=b6bd34a3-f5af-4463-a515-be0b0b583f98 /data2 xfs rw,relatime 0 0
/data2 /srv/nfs/cryodata none defaults,bind 0 0
/usr/local /srv/nfs/local none defaults,bind 0 0
e
/etc/exports
/srv/nfs 192.168.159.31(rw,sync,fsid=0,crossmnt,no_subtree_check)
/srv/nfs/cryodata 192.168.159.31(rw,sync,no_subtree_check)
/srv/nfs/local 192.168.159.31(rw,sync,no_subtree_check)
Tudo isso tem funcionado bem por meses no único cliente nfs usando esta configuração até agora usando estas entradas / etc / fstab do lado do cliente:
kraken.bio.univ.edu:/local /usr/local nfs4 _netdev,auto 0 0
kraken.bio.univ.edu:/cryodata /cryodata nfs4 _netdev,auto 0 0
No entanto, como esse é um servidor de armazenamento muito grande, foi decidido que ele precisa acomodar vários laboratórios. Então, movi todas as coisas que estavam espalhadas pela partição / data2 para um subdiretório / data2 / cryodata e atualizei o / etc / fstab no servidor e / etc / exports da seguinte forma:
/etc/fstab:
...
/data2/cryodata /srv/nfs/cryodata none defaults,bind 0 0
/data2/xray /srv/nfs/xray none defaults,bind 0 0
/data2/EM /srv/nfs/EM none defaults,bind 0 0
/usr/local /srv/nfs/local none defaults,bind 0 0
e
/etc/exports
/srv/nfs 192.168.159.31(rw,sync,fsid=0,crossmnt,no_subtree_check)
/srv/nfs/cryodata 192.168.159.31(rw,sync,no_subtree_check)
/srv/nfs/EM 192.168.159.31(rw,sync,no_subtree_check)
/srv/nfs/xray 192.168.159.31(rw,sync,no_subtree_check)
/srv/nfs/local 192.168.159.31(rw,sync,no_subtree_check)
Isso simplesmente não funciona! Quando tento montar a nova montagem no cliente usando a mesma entrada do cliente / etc / fstab:
{nfs client} /etc/fstab:
...
kraken.bio.univ.edu:/local /usr/local nfs4 _netdev,auto 0 0
kraken.bio.univ.edu:/cryodata /cryodata nfs4 _netdev,auto 0 0
.
# mount -v /cryodata
mount.nfs4: timeout set for Sat Feb 24 09:24:38 2018
mount.nfs4: trying text-based options 'addr=192.168.41.171,clientaddr=192.168.159.31'
mount.nfs4: mount(2): Stale file handle
mount.nfs4: trying text-based options 'addr=192.168.41.171,clientaddr=192.168.159.31'
mount.nfs4: mount(2): Stale file handle
mount.nfs4: trying text-based options 'addr=128.83.41.171,clientaddr=129.116.159.31'
...
O / usr / local continua a montar sem problemas. A primeira vez que tentei isso, esqueci de não exportar / exportar os sistemas de arquivos usando exportfs -var
antes de fazer alterações, mas desde então mudei para frente e para trás, tomando cuidado para não exportar e desmontar tudo, com várias reinicializações do servidor entre elas. A montagem original de uma montagem de ligação de toda a partição sempre funciona e a montagem de ligação de um subdiretório falha com a mensagem obsoleta de identificador do nfs sempre. Eu tentei habilitar outros clientes nfs que nunca montaram essas partições e obter exatamente a mesma mensagem de erro: neste caso, é definitivamente um problema do lado do servidor. Eu verifiquei / var / lib / nfs / etab para ter certeza de que está limpo entre as tentativas de montagem, etc.
Eu achei que a técnica de vincular a montagem em um diretório raiz do servidor nfs resolveu todos esses tipos de problemas, mas aparentemente não? O mais estranho é que o / usr / local é um subdiretório de outra partição, e sempre monta bem. Está em um ext3 md raid 1, embora eu não possa imaginar isso importa.
Passei horas nisto e quase quebrei o google em busca de uma solução sem sucesso.