我在 Bunsenlabs Lithium (Debian 10) 下运行 Lubuntu QEMU VM。我正在测试使用 NFS 共享文件夹的不同方法。第一次创建的共享没问题,但主机拒绝共享第二个文件夹。
=== 截图 ===
在 /etc/exports 中:
/Data/virtualization/KVMShare *(rw,sync,no_root_squash,no_subtree_check)
/Data/share2 *(rw,sync,no_root_squash,no_subtree_check,insecure)
exportfs 和 showmount 都显示文件夹正在被导出:
pg@TREX:~$ sudo exportfs -rav
exporting *:/Data/share2
exporting *:/Data/virtualization/KVMShare
pg@TREX:~$ sudo showmount -e localhost
Export list for localhost:
/Data/share2 *
/Data/virtualization/KVMShare *
客户端显示相同:
pg@PT-Lubu:~$ sudo showmount -e 192.168.122.1
Export list for 192.168.122.1:
/Data/share2 *
/Data/virtualization/KVMShare *
=== 截图 ===
...这根本就不起作用吧???
pg@PT-Lubu:~$ sudo mount -t nfs4 192.168.122.1:/ share
pg@PT-Lubu:~$ ll -A share
lrwxrwxrwx 1 root root 6 aug 31 18:30 share -> /share/
pg@PT-Lubu:~$ ll -A share/Data
total 8
drwxrwxrwx 2 nobody nogroup 4096 aug 31 19:17 share2/
drwxrwxrwx 6 root root 4096 aug 31 13:38 virtualization/
这是怎么回事?
编辑
正如下面的@Michael Hampton 好心地帮助我发现了我理解中的错误,我删掉了不再相关的部分。
我仍然不明白为什么我在共享子目录时能够挂载父目录。我正在寻找的是:
- 服务器正在从 Drive1 文件夹 /Data/Share/Foo1 和 /Data/Share/Foo2 共享
- 客户端可以看到并可以挂载 Server:/Foo1 和 Server:/Foo2
- 客户端既看不到也无法挂载 Server:/Data 或 Server:/Data/Share
- 如果 Drive1 发生故障,我只需使用相同的共享 ID 激活 Drive2/Share/Foo1 & 2
- 客户端仍然只能看到并挂载 Server:/Foo1 & 2
如果有人能给我指明正确的方向我将不胜感激。
在询问之前,我已经在 inertnet 上查看了许多资源,其中一些非常详细。但是,如果没有指出所述选项,那么像“使用适当的选项可以实现这一点”这样的句子就没有帮助。此外,花了 2 个小时试图弄清楚为什么按照详细说明操作后事情不起作用,结果却发现选项不是所描述的“no_sub_tree_check”,这有点不太有效。