我正在尝试在 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)
Run Code Online (Sandbox Code Playgroud)
有了上面的挂载点,理论上我应该能够单独挂载子目录,例如:
$ -> mount -v -t nfs4 nas.vpc1.j1n.us:/mnt/raid/nas/file/perm /mnt/nas/store/file/perm/
Run Code Online (Sandbox Code Playgroud)
但是我不断收到这些错误:... failed, reason given by server: No such file or directory
,但是如果我像这样安装:
$ -> mount -v -t nfs4 nas.vpc1.j1n.us:/ /mnt/nas/
Run Code Online (Sandbox Code Playgroud)
有用。但是在 NFS 服务器上的 /mnt/raid/nas 文件夹中还有其他目录我不想暴露给 NFS 客户端,所以这个选项真的没有帮助。
我该怎么做才能使用 NFS4,但要指定挂载点,这样我就不会在 /mnt/raid/nas 中共享所有内容?
想通了问题所在。因为我设置/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/
Run Code Online (Sandbox Code Playgroud)
对此
$ -> 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/
Run Code Online (Sandbox Code Playgroud)
请注意,在第二组命令中,每个命令/mnt/raid/nas
的server:/path
部分都缺少父路径。
归档时间: |
|
查看次数: |
725 次 |
最近记录: |