我正在将网络空间内容移至 NFSv3 共享。由于 suexec 限制,我在客户端上对不同内容子集有不同的路径。我想知道我是否仍可以将所有内容放在一个导出的 nfs 共享上的一个路径中。
例子:
我需要
/home/content/foo
和
/var/www/content/bar
导出共享“/export”可能有
/export/foo
/export/bar
据我所知,有三个选项:
- 在 nfs 客户端上的不同路径上两次挂载 /export
- 挂载 /export 一次并执行绑定挂载
- 将 foo 和 bar 放在不同的目录中,并分别导出/挂载它们
您会推荐以下哪一个选项?
答案1
就我个人而言,我只会在两个不同的位置进行两次 NFS 挂载。您不需要单独导出/挂载,因为您可以直接挂载 NFS 导出的子目录。
答案2
我可能会将内容放在 /exports 下的树中(例如 /exports/web),然后将该树安装在客户端的两个位置。这样可以保持整洁,并允许您在以后添加新项目而无需重新组织。
答案3
我建议使用绑定安装,原因有二:
- 我知道有人在挂载数百个用户的主目录时遇到了扩展问题。使用绑定挂载不会发生这种情况,因为在 NFS 层它仍然只是一个挂载。
- 如果同时通过多个挂载访问文件,NFS 确实会出现语义有点问题的情况。
但只要只有两个挂载,并且没有任何目录可以通过多个挂载访问,那么我会说选择您认为最容易使用的选项。