我逐字逐句地复制了某人的 NFS 服务器/客户端设置,但无法理解其中的原理。这是 /etc/exports:
/export *(rw,fsid=0,crossmnt,insecure,async,no_subtree_check,sec=krb5p:krb5i:krb5)
/export/home *(rw,insecure,async,no_subtree_check,sec=krb5p:krb5i:krb5)
客户端机器使用 autofs 按需挂载用户主目录。以下是 auto.home:
* -fstype=nfs4,rw,soft,sec=krb5 192.168.0.2:/home/&
这很有效,而且效果很好。不过,导出/export
似乎没有必要,所以我从服务器配置中注释掉了那一行。现在客户端上的自动挂载失败了。
问题
- 为什么
/export/home
要求/export
也导出? /export
和的安全选项/export/home
必须相同吗?- 为什么 auto.home 读的是
192.168.0.2:/home/&
而不是192.168.0.2:/export/home/&
?这似乎根本行不通。
答案1
您正在使用 NFS 版本 4 (nfs4),它导出单个伪文件系统而不是许多单独的文件系统。
这是在 NFS 服务器上通过 指定的/etc/exports
,fsid=0
在您的例子中称为 /export(尽管它可以被命名为任何名称)。这就是为什么您不能删除该行或将其注释掉。
在 NFS 客户端上,这个父级(在您的情况下为/export
)被视为/
(导出的文件系统的根),这就是自动挂载程序使用的原因/home
。