从网络上的中央存储库共享不变的数据

从网络上的中央存储库共享不变的数据

我有一堆不同的二进制文件(所有文件的总大小约为 500GB)存储在安装到machine001.

我还有 200 台其他机器需要访问此数据只读目的。

与所有其他计算机共享此数据以便读取速度最快的最佳方式是什么? (我使用Ubuntu Linux)

是否有一种不同的方案可以更好地实现最快的读取?

答案1

NFS 是显而易见的答案。

如果客户端有缓存空间,并且数据更新不频繁,您可以执行各种操作,例如将数据存储在版本控制系统中或使用 rsync 进行镜像。

答案2

嗯,NFS 使用 UDP,也许您需要一些额外的编码来确保不会丢失文件。我不喜欢它,而且并非所有操作系统都完全支持它。

也许 FTP 是您快速阅读、快速传输的答案,因为没有任何软件比 FTP 更快。

但你说你的总大小约为 500GB。您可以使用校验和来实现一些 VCS,以了解哪些文件需要更新,但需要更多编码,并且有很多 VCS。但是,我认为如果您想要可移植性,FTP 是最好的方式,并且也许读取访问并不意味着所有内容的副本。即使这样,FTP 也是最快的。

因此,如果您想要 VCS,转移只需要文件,速度很快。如果所有计算机上都有类 Unix 系统,则可以安装胃肠道,并用于git pull更新存储库。没有人能够写入您的存储库,并且只需快速更新所需的文件。

答案3

加快读取速度的最终方法是将所有数据一劳永逸地复制到所有客户端,但我想您不想花费这些空间。

人们是否可能从给定客户端多次访问同一文件?如果是这样,我会采用一种带有积极缓存的简单方法。像 WebDAV 或 FTP 服务器之类的东西,弗塞达夫或者卷曲FTPfs在客户端上,以及每个客户端上的缓存 HTTP 代理(乌贼或者wwwoffle)。

相关内容