通过 NFS 访问文件时出现“fileid changed”错误

Rom*_*nko 8 ubuntu nfs

我在 Ubuntu 10.04 服务器上配置并运行了一个 nfs-kernel-server。

/export THIRD_SERVER_IP(rw,fsid=0,insecure,no_subtree_check,async) SECOND_SERVER_IP(rw,fsid=0,insecure,no_subtree_check,async)
/export/ebs THIRD_SERVER_IP(rw,fsid=0,insecure,no_subtree_check,async) SECOND_SERVER_IP(rw,nohide,insecure,no_subtree_check,async)
Run Code Online (Sandbox Code Playgroud)

我将导出的文件夹安装到第二台服务器:

mount -t nfs4 -o proto=tcp,port=2049 NFS_SERVER_IP_HERE:/ebs /ebs
Run Code Online (Sandbox Code Playgroud)

它工作得很好。我将它安装到第三台服务器,但我无法从中访问文件。

ls -l /ebs
ls: reading directory /ebs: Stale NFS file handle
total 0
Run Code Online (Sandbox Code Playgroud)

第三台服务器上的系统日志说:

kernel: [11575.483720] NFS: server NFS_SERVER_IP_HERE error: fileid changed
kernel: [11575.483722] fsid 0:14: expected fileid 0x2, got 0x6e001
Run Code Online (Sandbox Code Playgroud)

一些信息:

uname -r
2.6.32-312-ec2
uname -m
i686
Run Code Online (Sandbox Code Playgroud)

Rom*_*nko 3

发生错误的原因是/etc/exports 中的fsid值错误。

我用这一行替换了第二行:

/export/ebs THIRD_SERVER_IP(rw,insecure,no_subtree_check,async) SECOND_SERVER_IP(rw,nohide,insecure,no_subtree_check,async)
Run Code Online (Sandbox Code Playgroud)

现在可以了。

  • 如果您找到问题的解决方案,请接受您自己的答案! (2认同)