挂载的 NFS 上出现问题:“没有这样的文件或目录”,但文件和目录存在

挂载的 NFS 上出现问题:“没有这样的文件或目录”,但文件和目录存在

因此,我们有一个运行 CentOS 6.6 的中型 NFS4 存储服务器,导出一个 NFS 共享/storageDat(即 NFS 根,其中绑定了两个 RAID 卷:./dat1./dat2);导出选项:rw,sync,no_wdelay,no_subtree_check,fsid=0

我们在相当多的 Fedora20 工作站和台式机(超过 100 个)上安装了 NFS,并且大多数时候一切运行良好,使用较大的 MTU 和客户端安装选项rw,relatime,vers=4.0,rsize=8192,wsize=8192,namlen=255,soft,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.216.10.1,local_lock=none,addr=10.216.14.200,安装点/storageDat 也相当快(读取 >400MByte/s 传输)

但是:有时,在单台机器上,NFS 会执行以下操作:要运行的程序必须访问 NFS 上的某个深层文件夹:

/storageDat/dat2/projects/other/Tool_does_special/ProjectX/Sample/tooloutputR2

这将导致出现“没有这样的文件或目录”的错误,在服务器上查看,目录存在,访问权限正确(甚至与相关用户一起测试);回到客户端:

ls -al完整文件抛出“没有这样的文件或目录”

ls -al'从完整路径中找到父目录,即。

/storageDat/dat2/projects/other/Tool_does_special/

工作并显示子目录(ProjectX.ProjectY)

ls -al'ing/storageDat/dat2/projects/other/Tool_does_special/ProjectX返回所有存在的错误消息;

但进入目录

cd /storageDat/dat2/projects/other/Tool_does_special/

然后执行 als -alR就可以正常显示所有子目录中的所有文件。直接跟进 a

ls -al

/storageDat/dat2/projects/other/Tool_does_special/ProjectX/Sample/tooloutputR2

但是失败并显示“没有这样的文件[...]”消息。

我们认为它与 NFS 缓存有关,但无法准确定位错误,无法预测其出现,也无法可靠地消除它。甚至没有想过修复它。

任何意见都将不胜感激!(是的,我确实将我的实际文件夹重命名为可以在线发布的名称)

答案1

我的服务器也遇到了同样的问题。我有 12 台服务器,其中第 13 台服务器只安装了 NFS,其他 12 台服务器安装了 Autofs。

嗯,事情是这样的,在第 13 台服务器中我发现 autofs 正在运行,并且使用与其他 12 台服务器相同的配置文件,所以基本上他试图将自身挂载到相同的原点/目标文件中。

我停止了该服务器中的 Autofs 服务,然后我就可以访问该文件夹了。当您同时在多台机器上工作时,就会发生这种情况,有时我会在服务器上设置 autofs,而我不应该这样做。

陈!

相关内容