![通过网络命名空间挂载 NFS](https://linux22.com/image/120034/%E9%80%9A%E8%BF%87%E7%BD%91%E7%BB%9C%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4%E6%8C%82%E8%BD%BD%20NFS.png)
是否可以在 Linux 上使用 NFS网络命名空间?
这还有道理吗?我发现的内核源代码中唯一相关的东西是提交7e3fcf61abde nfs:不要在网络命名空间之间共享安装这对我来说没什么意义。
答案1
是的,但不使用标准的开箱即用(当前)NFS 安装工具。
setns
以下是一些用于在网络(和挂载)命名空间中执行 NFS 挂载的代码示例:
答案2
你的问题涉及两个不同的命名空间,它们在内核级别是独立且不相关的......直到我们引入内核 NFS。文件系统挂载由挂载命名空间覆盖。我现在(有限)的理解是,如果通过网络挂载 NFS 卷,加入到此挂载命名空间的进程以及加入/切换网络命名空间会使 NFS 挂载变得困难:相同的 NFS 挂载可以连接到具有相同 IP 地址的不同 NFS 服务器,取决于使用此挂载命名空间的进程正在使用哪个网络命名空间。这不仅听起来很混乱,而且确实会如此。这就是 Linux 放弃此类进程的 NFS 挂载的原因。
因此,原则上,挂载和网络命名空间是独立的。然而,像 NFS 这样的东西施加了某些依赖性或限制。请注意,用户空间 NFS 在这种情况下会受到影响。