了解 NFS4 导出和伪文件系统

了解 NFS4 导出和伪文件系统

我认为我了解 NFS4 之前的导出工作方式,特别是导出点的命名空间。

(即在服务器上导出 /mnt/blah,在客户端上使用 mount server:/mnt/blah /my/mnt/point)

然而,我很难理解 NFS4 导出。

到目前为止我所能够收集到的信息是,您可以通过用 fsid=0 标记来导出“根”,然后在客户端通过将其引用为“/”来导入。

(即服务器上的 exportfs -o fsid=0 /mnt/blah,在客户端上安装服务器:/)

但是,之后就变得有点奇怪了。从我玩过的情况来看,似乎我无法导出 /mnt/blah 下的任何内容。例如,除非服务器上存在 /mnt/blah/home/user1,否则尝试从客户端挂载时,exportfs /home/user1 会失败。

如果是这种情况,服务器上的 exportfs /mnt/blah/subdir1 和客户端上的 mount server:/subdir1 以及直接跳过 exportfs 并挂载您想要的 /mnt/blah 的任何子目录之间有什么区别?

为什么你需要导出除根之外的任何内容?无论如何,它们都在同一个命名空间中。

答案1

这样做的目的是添加一个抽象层,为您提供更大的灵活性;您可以在服务器上移动内容,而不必重新配置所有客户端来反映新路径。

/mnt/blah例如,你可以通过将内容绑定到 blah 内部来将其导出到外部

mount --bind /home /mnt/blah/home

相关内容