如何高效传输 PB 级数据 - Amazon Snowball
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

如何高效传输 PB 级数据

在位于您现场的 Snowball 与您的工作站之间传输 PB 级数据时,建议您根据以下指导原则制定传输计划并校准数据传输。在处理大量数据时,短暂延迟或错误都可能会大幅降低传输速度。

规划您的大型传输

要规划您的 PB 级数据传输,建议您采用以下步骤:

第 1 步:了解您要迁移到云中的数据

在为 Snowball 创建第一个任务之前,您应明确了解要传输哪些数据、数据当前的存储位置以及要将数据传输到的目标位置。对于 PB 级或更大型的数据传输,在您的 Snowball 到达之前完成此类行政事务管理工作,您的任务将会更加顺利地完成。

您可将此数据保存在电子表格或白板中它可以最大程度地帮助您整理计划迁移到云中的大量内容。如果您是第一次将数据迁移到云中,建议您设计一个云迁移模型。有关更多信息,请参阅。云迁移实用指南上的Amazon白皮书网站。

完成此步骤后,您将了解要迁移到云中的数据总量。

第 2 步:准备您的工作站

要将数据传输到 Snowball,您需要使用 Snowball 客户端完成此操作,而该客户端应安装在托管待传输数据的物理工作站上。由于工作站被视为数据传输的瓶颈,因此,强烈建议您将功能强大的计算机用作工作站,以便满足处理、内存和网络方面的高要求。

对于大型任务,您可能需要使用多个工作站。请确保您的所有工作站均符合建议规格,以便减少总传输时间。有关更多信息,请参阅 工作站规格

第 3 步:计算您的目标传输速率

估算出您能够以多快的速度将数据传输到与各个工作站连接的 Snowball,这一点很重要。这一估算出的速度即是您的目标传输速率。该速率指鉴于本地网络架构的实际情况,数据能以什么速度迁移到 Snowball 中。

通过减少运行 Snowball 客户端的工作站与 Snowball 之间的跃点数,您可以减少每次传输所需的时间。建议您将要传输到 Snowball 的数据托管在传输数据途径的工作站中。

要计算您的目标传输速率,请下载 Snowball 客户端,然后运行snowball test命令传输数据途径的工作站。如果您计划一次使用多个 Snowball,请在各个工作站上运行此测试。有关运行测试的更多信息,请参阅 使用 Snowball 客户端测试您的数据传输

在确定您的目标传输速度时,请谨记它会受多种因素的影响,包括本地网络速度、文件大小以及从本地服务器读取数据的速度。Snowball 客户端会以条件允许的最快速度将数据复制到 Snowball。只需一天就能填充 50 TB 的 Snowball (具体取决于您的本地环境)。您可以在相同的时间内,使用两个 50 TB 的 Snowball 并行复制两倍的数据。或者,在两天半内填充一个 80 TB 的 Snowball。

第 4 步:确定您需要多少雪球

根据您在第 1 步确定的要迁移到云中的总数据量,确定您需要多少 Snowball 才能完成大规模的数据迁移。请记住,Snowball 有 50 TB (42 TB 可用) 和 80 TB (72 TB 可用) 两种大小,以便您可以高效地确定所需数量。要迁移 PB 级数据,您只需要使用 14 个 Snowball。

第 5 步:使用创建您的任务Amazon Snow 系列管理控制台

现在您已了解需要多少个 Snowball,接下来就可以为各个设备创建导入任务了。由于每个 Snowball 导入任务仅涉及一个 Snowball,因此,请创建多个导入任务。有关更多信息,请参阅 创建 Amazon Snowball任务

第 6 步:将您的数据分为传输分段

对于包含多个任务的大型数据传输,其最佳实践是将数据分为数个易于管理的小型数据传输分段。如果您以这种方式划分数据,则可以一次传输一个分段,或并行传输多个分段。在规划分段时,请确保各个分段数据大小之和适合此任务的 Snowball。在对传输数据分段时,请不要多次复制同一文件或目录。以下示例展示了如何将传输数据分段:

  • 对于 50 TB 的 Snowball,您可以将 10 个大小为 4TB 的分段。

  • 对于大型文件,每个文件都可以作为一个分段。

  • 各分段的大小可以有所不同,每个单独分段都可由相同类型的数据组成 — 例如,一个分段由分批的小型文件组成,另一个分段由大型文件组成,以此类推。这种方法有助于确定不同类型文件的平均传输速率。

注意

对于传输的每个文件,均会执行元数据操作。不论文件大小,此开销都是相同的。因此,通过同时批处理小文件,您将获得更快的性能。有关对小文件进行批处理的实施信息,请参阅 snowball cp 命令的选项

创建此类数据传输分段能够让您轻松快速地解决任何传输问题,因为在传输运行一天或更长时间后尝试对大型传输进行故障排除可能会很复杂。

在您完成 PB 级数据传输规划后,建议您将部分分段从工作站传输到 Snowball,以便校准传输速度和总传输时间。

校准大型传输

您可以通过对一组具有代表性的数据传输分段运行 snowball cp 命令来校准大型传输。换句话说,选择您根据最后一个部分的指南定义的一些数据段并将它们传输到 Snowball。同时,记录每个操作的传输速度和总传输时间。

注意

您也可以使用snowball test命令在收到 Snowball 之前执行校准。有关如何使用该命令的更多信息,请参阅 使用 Snowball 客户端测试您的数据传输

在执行校准时,请监控工作站的 CPU 和内存利用率。如果校准结果低于目标传输速率,您可以在同一工作站并行复制多个数据传输分段。在此情况下,请使用连接到同一 Snowball 的两个或多个 Snowball 的 Snowball 客户端实例通过其他数据传输分段执行校准。Snowball 客户端的每个正在运行的实例都应将不同的分段传输到 Snowball。

在校准过程中继续添加 Snowball 客户端的其他实例,直到您发现当前正在传输数据的所有 Snowball 客户端实例的总传输速度呈递减状态。此时,您可以终止 Snowball 客户端的最后一个活跃实例,并记下您的新目标传输速率。

重要

您的工作站应是数据的本地主机。出于性能考虑,我们不建议在使用 Snowball 传输数据时通过网络读取文件。

如果工作站的资源达到其上限,但数据传输到 Snowball 的速率仍没有达到您的目标,则工作站中可能存在其他瓶颈 (例如 CPU 或磁盘带宽)。

完成这些步骤后,您应知道一次使用一个 Snowball 传输数据的速度。如果您需要以更快的速度传输数据,请参阅 并行传输数据

并行传输数据

有时,使用 Snowball 传输数据的最快方式是并行传输数据。并行传输包含以下一个或多个方案:

  • 在单个工作站上使用多个 Snowball 客户端实例向一个 Snowball 传输数据

  • 在多个工作站上使用多个 Snowball 客户端实例向一个 Snowball 传输数据

  • 在多个工作站上使用多个 Snowball 客户端实例向多个 Snowball 传输数据

如果您将多个 Snowball 客户端与一个工作站和一个 Snowball 一起使用,则只需运行snowball start命令一次,因为您将从同一个用户账户和主目录运行各个 Snowball 客户端实例。如果您在多个工作站上使用同一用户账户和联网文件系统传输数据,则第二种方案也是如此。无论使用哪个方案,都需遵循 规划您的大型传输 提供的指南。