Por que permissão negada com o NFS após a reinicialização?

1

Tenho clientes nfsv3 do Ubuntu e do CentOS montando em uma caixa do FreeBSD, que foi reinicializada enquanto os clientes do nfs estavam conectados. Agora os clientes obtêm uma permissão negada quando tentam acessar os pontos de montagem.

No cliente, tentei

# umount /nobackup/dat
umount.nfs: /nobackup/dat: device is busy
umount.nfs: /nobackup/dat: device is busy

# fuser /nobackup/dat
Cannot stat file /proc/1660/fd/473: Stale NFS file handle
Cannot stat file /proc/1660/fd/475: Stale NFS file handle
Cannot stat file /proc/1660/fd/476: Stale NFS file handle
Cannot stat file /proc/1660/fd/478: Stale NFS file handle
Cannot stat file /proc/1660/fd/479: Stale NFS file handle
Cannot stat file /proc/14509/fd/1: Stale NFS file handle
Cannot stat file /proc/14674/fd/1: Stale NFS file handle
Cannot stat file /proc/14871/fd/1: Stale NFS file handle
Cannot stat file /proc/27872/fd/436: Stale NFS file handle
Cannot stat file /proc/27872/fd/444: No such file or directory

# umount -f /nobackup/dat
umount2: Device or resource busy
umount.nfs: /nobackup/dat: device is busy
umount2: Device or resource busy
umount.nfs: /nobackup/dat: device is busy

Atualizar

Agora eu matei todos os processos e desmontei /nobackup/dat com sucesso, mas ainda assim recebo a permissão negada por algum motivo.

# fuser -m /nobackup/dat 2>&1 | awk -F'/' '{print $3}' | xargs -n 1 kill
# fuser -m /nobackup/dat
# umount -l /nobackup/dat
# ll /nobackup/dat
ls: cannot open directory /nobackup/dat: Permission denied

# mount /nobackup/dat
mount.nfs: access denied by server while mounting (null)

Pergunta

Alguma sugestão de como depurar isso?

    
por Sandra 16.12.2013 / 13:44

1 resposta

4

O problema é que os clientes não perceberam que o servidor nfs foi embora, então ainda estão tentando acessar o filehandle que foi originalmente criado na vez anterior em que montaram o sistema de arquivos.

Normalmente, reinicializar o cliente é uma maneira segura de remontar os sistemas de arquivos. Mas se você não quiser fazer isso, comece matando todos os processos que estão tentando usar os sistemas de arquivos NFS. Depois disso, você pode tentar um "umount preguiçoso" com

umount -l

Você também pode tentar remontar o sistema de arquivos, usando

mount -o remount 

Caso contrário, o arquivo antigo processará o tempo limite em algum momento, embora eu não saiba quanto tempo levará.

Depois de se livrar das manipulações de arquivo obsoletas, remonte os sistemas de arquivos:

mount nobackup/dat
    
por 16.12.2013 / 14:20