我正在尝试在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,anonuid=5555,anongid=5555)
使用上述安装点,理论上我应该能够单独安装子目录,如:
$-> 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/nas/
有用.但是在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/
对此
$-> 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/
请注意,在第二组命令中,每个命令的服务器:/ path部分中缺少父路径/ mnt / raid / nas.