“Identificador de arquivo obsoleto” em certos diretórios que ocorrem imediatamente após a montagem do NFS; nenhum arquivo manipula aberto

5

Há algum tempo eu tenho tido um problema estranho com o NFS, onde um subconjunto aparentemente aleatório de diretórios (sempre os mesmos) sob / consistentemente aparecem com identificadores de arquivos obsoletos imediatamente após a montagem do NFS.

Eu consegui corrigir o problema exportando explicitamente o conjunto aparentemente aleatório de diretórios de problemas, mas gostaria de ver se posso consertar as coisas mais completamente, por isso não preciso adicionar ocasionalmente diretórios aleatórios a tabela de exportação.

Abaixo, montei um sistema de arquivos, mostro que não há identificadores de arquivos abertos, execute ls e execute lsof novamente. Linhas vazias adicionadas entre comandos para maior clareza:

# mount -t nfs -o vers=4,noac,hard,intr 192.168.0.2:/ /nfs -vvv
mount.nfs: trying text-based options 'vers=4,noac,hard,intr,addr=192.168.0.2,clientaddr=192.168.0.4'
192.168.0.2:/ on /nfs type nfs (rw,vers=4,noac,hard,intr)

# lsof | grep /nfs

# ls -lh /nfs
ls: cannot access /nfs/usr: Stale file handle
ls: cannot access /nfs/root: Stale file handle
ls: cannot access /nfs/etc: Stale file handle
ls: cannot access /nfs/home: Stale file handle
lrwxrwxrwx   1 root root       7 Mar 27  2017 bin -> usr/bin
drwxr-xr-x   6 root root     16K Jan  1  1970 boot
drwxr-xr-x 438 i336 users    36K Feb 28 12:12 data
drwxr-xr-x   2 root root    4.0K Mar 14  2016 dev
d?????????   ? ?    ?          ?            ? etc
d?????????   ? ?    ?          ?            ? home
lrwxrwxrwx   1 root root       7 Mar 27  2017 lib -> usr/lib
lrwxrwxrwx   1 root root       7 Mar 27  2017 lib64 -> usr/lib
drwxr-xr-x  15 root root    4.0K Oct 15 15:51 mnt
drwxr-xr-x   2 root root    4.0K Aug  9  2017 nfs
drwxr-xr-x  14 root root    4.0K Jan 28 17:00 opt
dr-xr-xr-x   2 root root    4.0K Mar 14  2016 proc
d?????????   ? ?    ?          ?            ? root
drwxr-xr-x   2 root root    4.0K Mar 14  2016 run
lrwxrwxrwx   1 root root       7 Mar 27  2017 sbin -> usr/bin
drwxr-xr-x   6 root root    4.0K Jun 22  2016 srv
dr-xr-xr-x   2 root root    4.0K Mar 14  2016 sys
drwxrwxrwt   2 root root    4.0K Dec 10  2016 tmp
d?????????   ? ?    ?          ?            ? usr
drwxr-xr-x  15 root root    4.0K May 24  2017 var

# lsof | grep /nfs

#

Os subdiretórios em questão não são pontos de montagem; eles parecem completamente normais:

$ ls -dlh /usr /root /etc /home
drwxr-xr-x 123 root root  12K Mar  3 13:34 /etc
drwxr-xr-x   7 root root 4.0K Jul 28  2017 /home
drwxrwxrwx  32 root root 4.0K Mar  3 13:55 /root
drwxr-xr-x  15 root root 4.0K Feb 24 17:48 /usr

Não há erros relacionados no syslog sobre esses diretórios. A única informação que aparece, menciona um conjunto diferente de diretórios:

... rpc.mountd[10080]: Cannot export /proc, possibly unsupported filesystem or fsid= required
... rpc.mountd[10080]: Cannot export /dev, possibly unsupported filesystem or fsid= required
... rpc.mountd[10080]: Cannot export /sys, possibly unsupported filesystem or fsid= required
... rpc.mountd[10080]: Cannot export /tmp, possibly unsupported filesystem or fsid= required
... rpc.mountd[10080]: Cannot export /run, possibly unsupported filesystem or fsid= required

Veja como o /etc/exports se parece atualmente:

/ *(rw,subtree_check,no_root_squash,nohide,crossmnt,fsid=0,sync)

O lado do servidor está executando o Arch Linux e atualmente no kernel 4.10.3.

O lado do cliente é o Slackware 14.1 com o kernel 4.1.6.

    
por i336_ 03.03.2018 / 09:18

1 resposta

0

Seu arquivo exports parece anormal para o NFS 4:

/ *(rw,subtree_check,no_root_squash,nohide,crossmnt,fsid=0,sync)

Em vez disso, acho que você precisa seguir as instruções do Arch Linux para essa linha fsid=0 . Declara uma exportação especial, "a chamada raiz NFS".

Em seguida, declare suas próprias exportações nas linhas subsequentes, conforme mostrado nas instruções. Você pode exportar o sistema de arquivos raiz do servidor - não confundir com a raiz NFS - como mostrado neste antigo post do Gentoo .

    
por 29.04.2018 / 00:52

Tags