将 300GB 数据从 Linux 服务器迁移到 S3 存储桶

将 300GB 数据从 Linux 服务器迁移到 S3 存储桶

我有一台 Linux 专用服务器,其中有 300GB 的上传文件,我需要将其传输到 AWS Storage S3,因为我现在要将上传文件保存在 S3 存储桶中,而不是本地磁盘中。我了解到我可以使用 aws cli 命令进行传输,将目录复制到 S3 存储桶。我的问题是:

  1. 当我cp从 aws cli 执行命令时,专用服务器大约需要多长时间才能将 300GB 的数据传输到 S3 存储桶?S3 和服务器都位于同一区域。

这些是我的服务器规格:

RAID Policy Raid 1
Operating System    Cloud Linux
HDD Bay 1   480GB SSD
HDD Bay 2   480GB SSD
Network Bandwidth   10TB
CPU 6 Core E5-2620v2 - 2.00Ghz x2
RAM 64 GB

我完全理解有很多变量,但想从将数据从 Linux 服务器迁移到 S3 存储的人那里获得一个粗略的估计。

  1. 当我使用 aws clicp命令时,它会显示当时的进度吗?如果命令仍在运行时我断开了 SSH 连接,会发生什么情况?

  2. cp对于我来说,使用命令运行 aws cli 命令是否更安全screen

  3. 在传输过程中,服务器性能会受到影响吗?此服务器上有几个网站正在运行,因此在数据传输期间我是否需要将网站离线,或者即使网站处于在线状态,我是否可以安全地运行传输?

答案1

MLu的回答很好,这是对他答案的补充而不是替代。

就像 MLu 所说的那样,300GB 并不多,而且不会花很长时间。我曾将 1TB 从新西兰复制到悉尼 S3,连接延迟为 35ms,可用带宽约为 350Mbps,从内存复制大约需要 4-6 分钟。您可能拥有更多带宽和更少延迟。它使用大约 80 个线程,从内存中占用了大约 100% 的 Xeon 核心,所以不会花太多时间。

您可能会考虑s3 同步命令,就好像您需要停止它一样,您可以更轻松地重新启动,而不是重新启动副本。

在繁忙的生产服务器上,我会调整s3 配置文件类似这样的内容。它将以牺牲速度为代价来减少带宽和 CPU 使用率。这将进入 ~.aws\configure 或 c:\users\username.aws\config 。如果您使用 CLI 配置文件,这将进入该配置文件,而不是默认配置文件。

配置一些较大的文件

[default]
region = us-west-2 
output = json
s3 =
  max_bandwidth = 50MB/s
  max_concurrent_requests = 5
  max_queue_size = 100
  multipart_chunksize = 75MB
  multipart_threshold = 200MB

针对许多小文件的配置

[default]
region = us-west-2 
output = json
s3 =
  max_bandwidth = 50MB/s
  max_concurrent_requests = 5
  max_queue_size = 1000
  multipart_chunksize = 75MB
  multipart_threshold = 100MB

这会将 CPU/带宽从默认的 10 个并发请求、1000 个队列大小降低,并施加 50MB/秒的带宽限制(400Mbps)。您可以随意调整这些设置 - 10 个线程可能就足够了。我倾向于上传 1GB 或更大的大型数据文件,因此我使用更大的块和更小的队列,但如果您的文件较小,请删除最后三行。

两个直接回答你的问题

  1. 一到四个小时

  2. 是的。使用“s3 sync”,这样您就可以更轻松地重新启动。如果您运行例如“s3://bucket-name/ \opt\data &”(注意 &),我认为即使您的 ssh 会话中断,它仍会继续运行。

  3. 不知道 - MLu 说是的

  4. 正如我上面所说,我使用了 60 - 80 个线程,它使用了大约一个完整的 Xeon 核心。如果你使用较少的线程,它将使用较少的资源。总的来说,它不是很耗费资源。在排队文件的前几分钟,它非常耗费资源,然后在排队更多文件时偶尔会出现 CPU 峰值

答案2

300GB 不算多。SSD 磁盘的读取速度约为 100MB/s,如果您使用的是 1Gbps 网络,则速度也约为 100MB/s。因此,您的 300GB 大约需要一个小时才能上传。

是的,它会显示进度,是的,它会运行screen,是的,它会加载服务器。另一方面,它只持续一个小时。

希望有帮助:)

相关内容