NFS4 是否默认启用 crossmnt 选项?

NFS4 是否默认启用 crossmnt 选项?

根据导出文件的手册页,可用于管理导出和子导出如何交互的选项是 crossmnt、nohide 和 hide。

我有三台服务器 A、B 和 C,其中 A 是 nfs 服务器,B 和 C 是客户端。A 上的导出文件如下所示:

/export       -no_subtree_check,fsid=0,sec=sys B C
/export/sub1  -no_subtree_check,sec=sys B
/export/sub2  -no_subtree_check,sec=sys C 

服务器上的所有目录都属于本地根目录,客户端上的挂载和与挂载的交互也由本地根目录完成。挂载使用以下命令完成

mount -t nfs4 A:/ /mnt/A

如果 /export 安装在 B 或 C 上,即使未指定 crossmnt 或 nohide,客户端也可以看到两个子目录。即使我将 hide 添加到子导出,行为仍然相同。有没有办法实现导出文件手册页中描述的行为?

答案1

hide/ nohideNFS 服务器上的导出选项文件系统挂载,而不仅仅是子目录。因此,如果/export/sub1等是不同的文件系统,但您指出它们位于同一文件系统上,则它将起作用。在这种情况下,您需要重新排列目录结构,以便所有客户端都不需要挂载的子目录根本不存在。例如:

/export/sub0  -no_subtree_check,sec=sys B C
/export/sub1  -no_subtree_check,sec=sys B
/export/sub2  -no_subtree_check,sec=sys C 

相关内容