-5

我们有一个 200GB 的稀疏文件,实际大小约为 80GB(VMware 磁盘)。

  1. Google 如何计算这个文件的空间,200GB 还是 80GB?

  2. gsutil使用(类似于rsync -S)将其存储在 Google Cloud 中的最佳做法是什么

  3. 是否可以通过使用解决tar cSf,然后通过上传gsutil?能慢到什么程度?

4

1 回答 1

1

我们有一个 200GB 的稀疏文件,实际大小约为 80GB(VMware 磁盘)。

  1. Google 如何计算这个文件的空间,200GB 还是 80GB?

Google Cloud Storage 不会自省您的文件以了解它们是什么,因此重要的是它在磁盘上占用的实际大小 (80GB)。

  1. gsutil使用(类似于rsync -S)将其存储在 Google Cloud 中的最佳做法是什么

gsutil rsync,但它不支持 -S 所以效率不是很高。此外,Google Cloud Storage 不会将文件存储为可以随机访问和重写的块,而是存储为由存储桶名称 + 对象名称键入的 blob,因此您基本上每次都会上传整个 80GB 文件。

您可能会考虑的一种替代方法是使用永久磁盘,它通过以下工作流程提供对文件的块级访问:

一次性设置:

  • 创建一个永久性磁盘并将其仅用于存储 VM 映像

预同步设置:

  • 使用自己的启动磁盘创建 Linux VM 实例
  • 以读写模式将永久磁盘附加到实例
  • 将附加磁盘挂载为文件系统

同步:

  • 使用 ssh+rsync 将您的 VM 映像同步到 VM 上的永久磁盘

同步后拆解:

  • 卸载实例中的磁盘
  • 从实例中分离永久性磁盘
  • 删除虚拟机实例

您可以使用脚本自动执行设置和拆卸步骤,因此当您想要进行同步时,它应该很容易定期运行。

  1. 是否可以通过使用解决tar cSf,然后通过上传gsutil?能慢到什么程度?

上面的方法会受到你的网络连接的限制,和 ssh+rsync 到任何其他服务器没有什么不同。例如,您可以通过人为地将带宽限制到您自己网络上的另一台服务器以匹配您的外部上传速度并通过 ssh 运行 rsync 来测试它来测试它。


上面未涵盖的内容是定价,因此我将这些提示留给您考虑,因为这可能与您在分析中考虑相关。

使用 Google Cloud Storage 模式,您将承担:

使用 Persistent Disk 方法,您将承担:

您将下载的实际数据量应该很小,因为这是 rsync 应该最小化的,所以大部分数据应该上传而不是下载,因此您的网络成本应该很低,但这是基于实际的 rsync我不能说的实施。

希望这可以帮助。

于 2014-08-20T01:46:08.253 回答