在/ etc / exports中:
/tmp/test *(rw)
/dev/sda1 (ext4文件系统)安装在/tmp/test
命令挂载nfs:
mount -o vers=3 $HOST:/tmp/test $NFS_DIR
(其中HOST是nfs服务器的IP地址,NFS_DIR是客户端的本地挂载点)
第一次,NFS挂载成功。 然后我卸载了。
然后,我输出/ etc / exports(no nfs export)中的条目,并执行exportfs -r 。
然后我取消注释/ etc / exports(和以前一样)中的/ tmp / test条目,再次执行exportfs -r
我使用相同的命令安装nfs共享。 但是这一次,坐骑会挂起,超时。
但是,当我检查nfs的日志,我得到这个:
/tmp and /tmp/test have same filehandle for *, using first qword_eol: fflush failed: errno 22 (Invalid argument) Cannot export /tmp, possibly unsupported filesystem or fsid= required"
抱怨export / tmp的错误是有道理的,因为它是tmpfs。
但为什么/ tmp和/ tmp / test具有相同的文件句柄?
我知道问题是由于/ tmp和/ tmp / test具有相同的文件句柄,所以nfs返回第一个是/ tmp。 我想导出的是/ tmp / test(ext4 fs),而不是/ tmp(tmpfs)。
通过重新启动rpc.mountd来解决问题。
看来这是nfs-utils本身的错误。 而这个bug在1.3.3版本中得到了修复。 我也尝试使用nfs-utls 1.3.2,但问题仍然存在。 使用nfs-utils 1.3.3将解决这个问题。