我尝试导出一些目录,其中包含 autofs 挂载(绑定)其他一些目录的子目录。
NFS 接受导出此目录,只要我不导出 autofs 挂载根目录而是导出其父目录(如果我直接导出 autofs 挂载点根目录,exportfs-ra 输出“exportfs: /media/user_data/unix does not support NFS导出”)并且只要我在exportfs中使用选项“crossmnt”即可。
我可以在客户端计算机上手动挂载此导出的目录并列出文件,包括服务器上由 autofs 管理的文件层次结构部分内的文件。但是,如果我在客户端计算机上使用 autofs,则无法挂载该目录。
以下是我从客户端计算机上的自动挂载获得的输出示例
mount.nfs: mounting server.example.com:/media/user_data/unix/user1/home/debian_buster failed, reason given by server: No such file or directory
不过,我可以使用经典的挂载命令挂载 server.example.com:/media/user_data/unix/user1/home/debian_buster 并列出挂载目录中的文件。
mount -t nfs server.example.com:/media/user_data/unix/user1/home/debian_buster /mnt
我认为这可能是由于 autofs(在客户端计算机上)找不到要挂载的目录,因为 autofs(在服务器计算机上)由于不活动而尚未挂载它。我尝试使用“--ghost”和“浏览器”选项,但似乎没有帮助。另外,如果我导出一个目录,其子目录已手动绑定安装,而不是使用 autofs 绑定安装,则客户端计算机的 autofs 工作得很好。我无法在线确认导出 autofs 管理的层次结构是否属于禁忌,并且通过不直接导出根,我根本没有收到任何警告,因此我认为这应该是可能的。是吗?如果是这样?我可以关注什么来实现这一目标?
编辑:以更短(并且更令人困惑的IMO)形式重写整个问题。希望现在这是一个有效的问题。我有一个关于这个问题的更详细的版本,其中包含上下文、痕迹和尝试。如果这有任何帮助,请指出我如何发布它。
答案1
这个问题是用一个临时帐户发布的,该帐户将与我的帐户合并。以下链接提供了用我的注册帐户编写的更详细的配方。