繁体   English   中英

将大量大文件传输到s3

[英]Transfer large number of large files to s3

我正在从远程服务器到s3存储桶传输大约31 TB的数据,其中包括4500个文件,文件大小从69MB到25GB不等。 我正在使用s4cmd put来执行此操作,并将其放在bash脚本upload.sh

#!/bin/bash

FILES="/path/to/*.fastq.gz"
for i in $FILES
do
    echo "$i"
    s4cmd put --sync-check -c 10 $i s3://bucket-name/directory/
done

然后我使用qsub提交作业:

qsub -cwd -e error.txt -o output.txt -l h_vmem=10G -l mem_free=8G -l m_mem_free=8G -pe smp 10 upload.sh

这花费的时间太长-上传大约20个文件花了10个小时。 有人可以建议替代或修改我的命令吗?

谢谢!

您的案例可能属于以下情况:将数据复制到物理介质上并通过常规邮件运输比通过Internet传输数据更快,更便宜。 AWS支持这种“协议”,并有一个特殊的名称-AWS Snowball

Snowball是PB级数据传输解决方案,它使用安全设备将大量数据传入和传出AWS云。 使用Snowball可以解决大规模数据传输的常见挑战,包括较高的网络成本,较长的传输时间和安全问题。 使用Snowball传输数据既简单,快速,安全,又只需高速互联网成本的五分之一。

使用Snowball,您无需编写任何代码或购买任何硬件即可传输数据。 只需在AWS管理控制台中创建作业,Snowball设备将自动发送给您*。 到达设备后,将设备连接到本地网络,下载并运行Snowball客户端以建立连接,然后使用客户端选择要传输到设备的文件目录。 然后,客户端将加密文件并将其高速传输到设备。 转移完成并准备好退还设备后,电子墨水运输标签将自动更新,您可以通过Amazon Simple Notification Service(SNS),文本消息或直接在控制台中跟踪作业状态。

* Snowball目前在某些地区可用。 在AWS管理控制台中创建作业后,将验证您的位置。

他们较小的设备的容量为50TB,非常适合您的情况。

还有一个类似的服务AWS Import / Export disk ,您可以在其中运送自己的硬件(硬盘),而不是其专用设备:

要使用AWS Import / Export Disk:

  • 准备便携式存储设备(有关支持的设备,请参见产品详细信息页面)。
  • 提交创建作业请求。 您将获得带有数字签名的工作ID,该数字用于验证您的设备。
  • 打印出您的预付费运输标签。
  • 安全地识别和验证您的设备。 对于Amazon S3,将签名文件放置在设备的根目录上。 对于Amazon EBS或Amazon Glacier,将签名条形码粘贴到设备的外部。
  • 将您的预付运输标签贴在运输容器上,然后将设备及其接口连接器和AWS供电。

包裹到达后,将对其进行处理并安全地转移到AWS数据中心,您的设备将在该数据中心连接到AWS Import / Export站。 数据加载完成后,设备将退还给您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM