如何将我的数据传输到标准 Snowball 设备(50TB 或 80TB 的存储容量)?

上次更新时间:2019 年 10 月 22 日

我使用 AWS Snowball 将我的数据传输到 AWS。如何将我的数据传输到标准 Snowball 设备(50TB 或 80TB 的存储容量)? 

简短描述

对于 Snowball 设备,您可以使用以下任意一种工具传输您的数据:

注意:如果您使用的是 Snowball Edge 设备,请参阅如何将数据传输到我的 AWS Snowball Edge 设备?

请按照以下步骤设置您的 Snowball 设备以传输数据:

  1. 获取设备的解锁代码和清单文件。
  2. 解锁设备。
  3. 使用 Snowball 客户端或 Amazon S3 Adapter for Snowball 传输数据。
  4. 验证传输和停止设备。

解决方法

获取设备的解锁代码和清单文件

要使用 Snowball 控制台获取设备的凭证,请参阅获取凭证

注意:只有在设备交付给您之后,您才能使用 Snowball 控制台获取设备的凭证。

要使用 AWS 命令行界面 (AWS CLI) 获取设备的凭证,请执行以下步骤:

注意:设备完成其预置过程后,您可以使用 AWS CLI 获取设备的凭证。

1.    安装配置 AWS CLI。

2.    运行 list-Jobs 命令以获取 Snowball 作业 ID:

注意:请用您的 Snowball 作业所在的 AWS 区域替换 --region 的值。

aws snowball list-jobs --region us-east-1

3.    此命令会返回类似以下内容的输出:

 {
      "JobId": "JIDexample-aaaa-1111-bbbb-222222222222",
      "JobState": "WithCustomer",
      "IsMaster": false,
      "JobType": "IMPORT",
      "SnowballType": "STANDARD",
      "CreationDate": 1532615527.2,
      "Description": "My_First_Snowball_Job"
 }

复制 JobID。如果您有多个作业,系统会列出所有作业。确保复制正确作业的 JobID

4.    运行 get-job-unlock-code 命令以获取解锁代码:

aws snowball get-job-unlock-code --job-id  JIDexample-aaaa-1111-bbbb-222222222222

5.    该命令返回解锁代码,解锁代码包含 25 个字母数字字符,由 4 个短划线分隔,类似于以下形式:

01234-abcde-01234-ABCDE-01234

6.    运行 get-job-manifest 命令获取清单文件:

aws snowball get-job-manifest --job-id JIDexample-aaaa-1111-bbbb-222222222222

7.     该命令返回作业清单文件的 Amazon Simple Storage Service (Amazon S3) 预签名 URL。将位置路径存储在清单文件的下载位置,因为后面需要用到此路径。

解锁设备

1.    下载并安装 Snowball 客户端

2.    在您的工作站上,使用 Snowball 客户端运行 start 命令来解锁设备。替换示例命令中的以下值:
-i:输入 Snowball 设备的 IP 地址。
-m:输入清单文件的路径。
-u:输入解锁代码。

snowball start -i 192.0.2.0 -m /Downloads/JID2EXAMPLE-0c40-49a7-9f53-916aEXAMPLE81-manifest.bin -u 01234-abcde-01234-ABCDE-01234

3.    运行 start 命令后,您会收到“The Snowball is Unlocking”的响应。 要刷新状态,请运行 status 命令:

snowball status

4.    设备的状态变为“Snowball 已解锁”后,您可以将数据复制到设备中。

注意:如果您在解锁设备时遇到问题,请参阅排查连接问题

使用 Snowball 客户端传输数据

要将单个对象复制到设备,请运行 cp 命令:

snowball -v cp source/path/example destination/path/example

注意:-v 选项(verbose 选项)并非必需,但它提供了额外的信息,可以帮助您理解命令执行的操作。

要将多个对象复制到设备,包括文件夹和子文件夹,请运行 cp 命令并使用 -recursive 选项:

snowball cp --recursive -v source/path/example destination/path/example

要从设备中删除某个对象,请运行 rm 命令:

snowball rm destination/path/example

要列出已复制到设备的对象,请运行 Is 命令:

snowball ls destination/path/example

使用 Amazon S3 Adapter for Snowball 传输数据

重要提示:在以下命令中,--endpoint 的值必须为已安装了适配器的工作站的 IP 地址。请勿使用 Snowball 设备的 IP 地址。

要将单个对象复制到设备,请使用 AWS CLI 运行 s3 cp 命令:

aws s3 cp source/path/example destination/path/example --endpoint http://198.51.100.0:8080

要将多个对象复制到设备,请运行 s3 cp 命令并使用 --recursive 选项:

aws s3 cp --recursive source/path/example destination/path/example --endpoint http://198.51.100.0:8080

要从设备中删除对象,请运行 s3 rm 命令:

aws s3 rm destination/path/example --endpoint http://198.51.100.0:8080

要列出已复制到设备的对象,请运行 s3 Is 命令:

aws s3 ls --endpoint http://198.51.100.0:8080

验证传输和停止设备

将数据传输到 Snowball 设备后,请使用 Snowball 客户端运行 validate 命令,以确保没有待处理的传输任务:

snowball validate

注意:有关数据验证的更多信息,请参阅 AWS Snowball 中的数据验证

确认没有等待处理的传输任务后,请运行 stop 命令以停止设备:

snowball stop

这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助吗?