了解NFS4导出和伪文件系统

我想我理解NFS4导出前的工作方式,特别是导出点的命名空间。

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

不过,我很难把NFS4出口包装起来。

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

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

然而,之后,它变得有点奇怪。 从我的游戏中,似乎我不能导出任何不在/ mnt / blah之下的东西。 例如,除非服务器上存在/ mnt / blah / home / user1,否则在尝试从客户端进行挂载时,exportfs / home / user1会失败。

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

为什么你需要导出除根之外的任何东西? 它的全部都在相同的命名空间。

这样做的目的是添加一个抽象层,给你更多的灵活性; 您可以在服务器上移动事物,而无需重新configuration所有客户端以反映新path。

例如,你可以通过在blah中绑定它来将内容导出到/mnt/blah之外

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