我有一个 NFS 服务器,它在 LAN 中作为通用文件服务器工作。
最近由于磁盘故障,我丢失了那里的所有内容,因此我换了新的磁盘,重新安装了最新的 Debian(jessie),复制回了配置文件 - 但 NFS 不再起作用了?!
我的 /etc/exports 包含:
/media/media *(rw,sync,no_subtree_check,all_squash,anonuid=31244,anongid=31451)
/media/private *(rw,sync,no_subtree_check,all_squash,anonuid=16830,anongid=10818)
我进行了几次重启,/etc/init.d/nfs-common restart,/etc/init.d/nfs-kernel-server 重启。
在客户端,我在 /etc/fstab 中有:
172.28.173.1:/media/media /media/MEDIA nfs rsize=8192,wsize=8192,timeo=14,soft,intr,rw,user,noatime,nodiratime 0 0
172.28.173.1:/media/private /mnt/nfs/private nfs rsize=8192,wsize=8192,timeo=14,soft,intr,rw,user,noatime,nodiratime 0 0
在挂载文件系统时,mount 命令耗时较长,并且结束时没有打印任何内容。稍后运行“df”显示:
df: ‘/media/MEDIA’: Stale NFS file handle
在客户端的系统日志中我看到:
2013-12-18T15:27:08.319605+01:00 h3po4 kernel: [ 363.398977] RPC: AUTH_GSS upcall timed out.
2013-12-18T15:27:08.319619+01:00 h3po4 kernel: [ 363.398977] Please check user daemon is running.
但我不知道它谈论的是什么守护进程,为什么它甚至需要一些“用户守护进程”,以及为什么会有 AUTH_GSS 调用 - 我希望对 LAN 内的 nfs 共享 100% 开放访问。
我验证了这不是防火墙问题(通过禁用防火墙进行测试)。
我认为在磁盘崩溃之前我从未重新配置过服务器上的任何其他东西,但我不确定 - 该机器已运行了 4 年多,没有出现问题,所以我可能改变了一些东西然后就忘了它。
因此,我检查了更多的东西。
在客户端挂载之前,挂载目录为:
drwxr-xr-x 2 root root 4096 maj 1 2013 MEDIA/
但是在“mount /media/MEDIA”之后,等待它完成,我得到:
ls: cannot access /media/MEDIA: Stale NFS file handle
d?????????? ? ? ? ? ? MEDIA/
服务器端的目录始终是“正常的”:
drwxrwxrwx 2 media media 6 Dec 18 14:05 /media/media/
此外,exportfs 工作正常:
=# exportfs -v
/media/media <world>(rw,wdelay,root_squash,all_squash,no_subtree_check,anonuid=31244,anongid=31451,sec=sys,rw,root_squash,all_squash)
/media/private <world>(rw,wdelay,root_squash,all_squash,no_subtree_check,anonuid=16830,anongid=10818,sec=sys,rw,root_squash,all_squash)
我可以看到从客户端导出的文件系统:
$ showmount -e blob
Export list for blob:
/media/private *
/media/media *