我使用以下命令将我的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