【问题标题】:What is the fastest way to duplicate google storage bucket?复制谷歌存储桶的最快方法是什么?
【发布时间】:2016-08-29 05:25:08
【问题描述】:

我有一个 10TB 存储桶,需要尽快创建它的副本。最快、最有效的方法是什么?

【问题讨论】:

  • 你看过内置的Transfer Service吗? cloud.google.com/storage/transfer
  • 我在 S3 上试过这个,但从没想过它可以从 gs 复制到 gs。谢谢
  • 希望对您有所帮助。已添加为未来读者的答案。

标签: google-cloud-storage google-compute-engine


【解决方案1】:

您可以使用gsutil 轻松实现此目的。

gsutil -m cp -r gs://source-bucket gs://duplicate-bucket

您是否在 Google Cloud Storage 中复制到具有相同位置和存储类别的存储分区?如果是这样,这个操作应该非常快。如果存储桶具有不同的位置和/或存储类别,则操作会更慢(并且更昂贵),但这仍然是最快的方式。

【讨论】:

  • 我赞成 Mike Schwartz 的回答。我建议的命令会稍微快一些,因为它不必在开始复制之前完全枚举源存储桶中的所有对象。但是,如果在操作过程中出现任何问题(例如,您遇到短暂的网络中断),那么您需要从头开始复制。在源存储桶的内容发生变化后,也可以重新运行 Mike 的命令,以便稍后将目标存储桶与源存储桶增量同步。
【解决方案2】:

假设您要将存储桶复制到同一位置和存储类中的另一个存储桶,您可以在 GCE 实例上运行 gsutil rsync:

gsutil -m rsync -r -d -p gs://source-bucket gs://dest-bucket

如果您想跨位置或存储类进行复制,上述命令仍然有效,但需要更长时间,因为在这种情况下需要复制数据(不仅仅是元数据)。

无论哪种方式,您都应该检查结果状态并在出现任何错误时重新运行 rsync 命令。 (rsync 命令将避免重新复制已经复制的对象。)您应该重复 rsync 命令,直到成功完全复制存储桶。

【讨论】:

  • 小心-d,因为它会删除gs://dest-bucket 中不存在于gs://source-bucket 中的文件。首先使用-n 进行试运行。 source.
【解决方案3】:

一种简单的方法是使用 Google 的Cloud Storage Transfer Service。它也可能是最快的,虽然我还没有证实这一点。

【讨论】:

猜你喜欢
  • 2015-07-02
  • 2020-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-26
  • 2020-07-02
  • 2021-12-30
  • 2018-02-24
相关资源
最近更新 更多