4

我们正在尝试从数据中心迁移到 Google Compute Engine。虽然我们了解如何设置实例和部署工作负载,但我们不确定什么是存储数据的最佳等价物。我们每天接收一次数据,并且在每台服务器上整天都在对过去 1-2 年收到的数据进行研究。任何指针?

4

2 回答 2

3

听起来您正在寻找像 NFS 这样的共享文件服务器。您可以在单个 GCE 实例上运行 NFS 服务器,以将数据分发到您的各种计算节点。Linux 文档项目有一个合理的方法

另一种选择是使用像Google Cloud Storage这样的对象存储,它允许您以各种名称存储二进制数据的 blob(有点像云文件系统)。如果您的软件需要使用标准文件系统命令来访问数据,可以使用像s3fuse这样的 FUSE 文件系统将 Google Storage 存储桶导出为每台机器上的一组文件和目录。

如何在两个选项之间进行选择:

  1. 如果您已经在使用 NFS,您可能会更愿意继续使用您在现场的相同配置。如果没有,我建议试试 s3fuse 和 GCS。
  2. 如果您运行自己的 NFS 服务器,您将需要负责您可能需要做的任何备份等。Google Cloud Storage 在多个站点之间复制,因此即使在一个站点进行维护,您仍然可以读取和写入数据。
  3. 像 s3fuse 这样的 FUSE 文件系统倾向于支持读写操作,但可能不支持复杂的锁定行为或 NFS 所支持的类似行为。
  4. 您可能需要为存储在 GCS 中的数据的读取和写入次数付费。(我不记得了;我认为来自 GCE 的进出 GCS 的网络流量是免费的。)如果您选择运行自己的 NFS 服务器,则必须为正在运行的实例和永久磁盘以及对磁盘的读写操作。

您可能还对另一个 Stack Overflow 问题感兴趣,它涵盖了一些相同的领域: 无盘服务器的存储选项

于 2013-06-22T20:04:42.547 回答
1

只是为了附和 E. Anderson 的回答,如果您已经在使用 NFS 并考虑使用s3fuse,您可能还想看看gcsfuse做类似的工作但(我被告知)有更好的性能GCS(有关各种额外技术细节,请参阅gcsfuse-docs )。

于 2015-08-02T14:53:46.940 回答