从Google Cloud存储到S3的GSutil Rsync挂在大文件上



我使用以下命令将我的Google Cloud储物存储桶备份到AWS S3存储桶时,在较大的文件(560MB(上挂在较大的文件(560MB(上:

gsutil -m rsync -rd gs://<MyGoogleBucket>/ s3://<MyS3Bucket>/  

我知道该连接很好,因为它在挂在较大的文件上而没有明显的错误消息之前复制了大约150个较小的文件(9MB(,只有shell中的一个悬挂进度栏。

当我击中CTRL-C以退出程序时,我会注意到几条消息,说:

[Errno 104] Connection reset by peer

这是我的gsutil版本:

gsutil version: 4.38
checksum: 58d3e78c61e7e0e80813a6ebc26085f6 (OK)
boto version: 2.49.0
python version: 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516]
OS: Linux 4.9.0-8-amd64
multiprocessing available: True
using cloud sdk: True
pass cloud sdk credentials to gsutil: True
config path(s): /etc/boto.cfg, /home/USER/.boto
gsutil path: /home/USER/google-cloud-sdk/bin/gsutil
compiled crcmod: True
installed via package manager: False
editable install: False

我尝试在我的云外壳和Google计算VM

上尝试这样做

有人知道这个问题的修复程序或解决方法吗?预先感谢

-nathan

虽然尚未知道是否存在错误,但使用-m选项进行gsutil rsync上的并行处理可能会影响存储特别网络之间的可观同步行为。这也可以在参考[1]中找到:

m(多线程(选项,gsutil可以消耗大量的网络带宽。在某些情况下,这可能会引起问题,例如,如果您通过网络链接开始大型RSYNC操作,该链接也由许多其他重要作业使用。

如果问题继续进行,则可以在没有-m选项的情况下测试gsutil rsync,也可以利用同一参考文献中提到的替代方案[1]。

[1]节流gsutil

用于GCS中的大对象使用GSUTIL -O选项。从文档

https://cloud.google.com/storage/docs/gsutil/commands/cp

我已经开始使用rclone,它简化了该过程并允许副本完成。您可以在此处找到有关使用此工具的信息:https://rclone.org/docs/

-n

如果问题继续进行,则可以在没有-M选项的情况下测试GSUTIL RSYNC,也可以利用同一参考文献中提到的替代方案[1]。

我认为开发人员最近已经解决了问题,因为-m不再需要,并且这些不再发生:

[Errno 104] Connection reset by peer

最新更新