NFS4 - 挂载多个子目录

NFS4 - 挂载多个子目录

我正在尝试在 NFS4 服务器上设置 2 个不同的挂载点,但无法使其按预期工作。

/etc/exports (on server)

/mnt/raid/nas                   10.1.0.0/18(rw,fsid=0,sync)
/mnt/raid/nas/file/perm         10.1.0.0/18(rw,sync,all_squash,no_subtree_check,anonuid=501,anongid=503)
/mnt/raid/nas/mail              10.1.0.0/18(rw,sync,all_squash,no_subtree_check,anonuid=5555,anongid=5555)

通过上述挂载点,理论上我应该能够分别挂载子目录,如下所示:

$ -> mount -v -t nfs4 nas.vpc1.j1n.us:/mnt/raid/nas/file/perm /mnt/nas/store/file/perm/

但是我一直收到这些错误:... failed, reason given by server: No such file or directory,但如果我像这样安装:

$ -> mount -v -t nfs4 nas.vpc1.j1n.us:/ /mnt/nas/

可以。但是 NFS 服务器上的 /mnt/raid/nas 文件夹中还有其他目录,我不想将其暴露给 NFS 客户端,因此此选项实际上没有帮助。

我该怎么做才能使用 NFS4,但指定挂载点,这样我就不会最终共享 /mnt/raid/nas 中的所有内容?

答案1

找到问题了。因为我设置/mnt/nas为 fsid=0,这意味着客户端挂载子目录不再需要引用整个路径,而只需要引用子目录(相对路径)。

改变这个:

$ -> mount -v -t nfs4 nas.vpc1.j1n.us:/mnt/raid/nas/file/perm /mnt/nas/store/file/perm/
$ -> mount -v -t nfs4 nas.vpc1.j1n.us:/mnt/raid/nas/mail /mnt/nas/mail/

对此

$ -> mount -v -t nfs4 nas.vpc1.j1n.us:/file/perm /mnt/nas/store/file/perm/
$ -> mount -v -t nfs4 nas.vpc1.j1n.us:/mail /mnt/nas/mail/

请注意,在第二组命令中,每个命令的部分/mnt/raid/nas都缺少父路径。server:/path

相关内容