我对 Linux 还不熟悉,想看看自己能否变得聪明一点。我有一台服务器,其中包含一些文件,我想让这些文件在以下目录下的其他服务器上“本地”访问/
:
Server1
/opt/
fizz/
buzz/ --> the directory that contains interesting stuff
Server2
/opt/
/buzz/ --> references the Server1/opt/fizz/buzz/ directory
我花了一些时间阅读这篇文章,偶然发现了各种术语,如“共享目录”、“挂载驱动器”、“挂载目录”等。
我需要的最佳解决方案是什么?本质上,此目录中的内容buzz/
非常庞大,每次我需要在另一台服务器上访问它们时,查询的成本非常高Server1
。如果每台服务器都有指向该目录的本地链接,就像目录存储在本地服务器上一样,那就太好了。
提前致谢!
答案1
我认为
查询成本非常高
Server1
和
如果每台服务器都有指向该目录的本地链接,就像目录存储在本地一样,那就太好了
是矛盾的。前者意味着您认为网络挂载在您的环境中不可行。后者意味着您想要唯一的数据集Server1
并且不想在不同位置之间 rsync 单独的副本。
这是一篇关于 NFS 的很好的文章、其工作原理、如何设置以及其安全性。我认为您会发现通过 NFS 进行网络共享是完全可以接受的。
答案2
如果您确实想要本地副本,请将rsync
目录从服务器 1 复制到其他服务器。但您需要了解如何将服务器 2 上所做的更改部署到服务器 1。另一方面,您是否会重新知道(例如,你对其进行了基准测试)你的 nfs 访问会很慢,或者感觉(肚子里有东西)会慢吗?
但是 rsync 示例四你:
rsync -avz -e ssh remoteuser@remotehost:/remote/dir /this/dir/
答案3
多大才算巨大?
传统的方法是将 /opt/fizz/buzz 放入 Server1 的 /etc/exports 文件中并重新启动 NFS 将其导出,然后在 server2 上“mount Server1:/opt/fizz/buzz /buzz”。