重启后“过时的NFS文件句柄”

前端之家收集整理的这篇文章主要介绍了重启后“过时的NFS文件句柄”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在服务器节点上,可以访问导出的文件夹.但是,重新启动(服务器和客户端)后,无法再从客户端访问该文件夹.

在服务器上

# ls /data
Folder1
Forlder2

和/ etc / exports文件包含

/data 192.168.1.0/24(rw,no_subtree_check,async,no_root_squash)

在客户端

# ls /data
ls: cannot access /data: Stale NFS file handle

我不得不说来自客户端的共享文件夹没有问题,但是在重新启动(服务器和客户端)之后,我看到了这条消息.

有办法解决这个问题吗?

解决方法

重新启动的顺序很重要.客户端可能导致这种情况后重新启动服务器.过时的NFS句柄表示客户端已打开文件,但服务器不再识别文件句柄.在某些情况下,NFS会在超时后清理其数据结构.在其他情况下,您需要自己清理NFS数据结构,然后重新启动NFS.这些结构所在的位置有些O / S依赖性.

尝试首先在服务器上重新启动NFS,然后在客户端上重新启动NFS.这可能会清除文件句柄.

建议不要使用从其他服务器打开的文件重新启动NFS服务器.如果在服务器上删除了打开的文件,则这尤其成问题.服务器可以保持文件打开,直到重新启动,但重新启动将删除服务器端的内存中文件句柄.然后客户端将无法再打开该文件.

确定从服务器使用了哪些安装是困难且不可靠的. showmount -a选项可能会显示一些活动的挂载,但可能不会报告所有挂载.锁定的文件更容易识别,但需要启用锁定并依赖客户端软件来锁定文件.

您可以在客户端上使用lsof来标识在挂载上打开文件的进程.

我在NFS挂载上使用hard和intr挂载选项.硬选项会导致IO无限期地重试. intr选项允许进程在等待NFS IO完成时被终止.

猜你在找的Linux相关文章