本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Snowball Edge 作业的数据验证
下文提供有关 Amazon Snowball Edge 如何验证数据传输的信息,以及您可以在作业执行期间和之后用来帮助确保数据完整性的手动步骤。
所传输数据的校验和验证
当您使用 Amazon S3 接口将文件从本地数据来源复制到 Snowball Edge 时,将创建一些校验和。这些校验和用于在数据传输期间自动验证数据。
在较高层面,对于每个文件 (或大型文件的各个部分) 都会创建这些校验和。对于 Snowball Edge,当您针对设备上的存储桶运行以下 Amazon CLI 命令时,可以看到这些校验和。这些校验和用于在整个传输过程中验证数据的完整性,能帮助确保数据正确复制。
aws s3api list-objects --bucket bucket-name --endpoint http://ip:8080 --profile edge-profile
如果这些校验和不匹配,关联数据将不会导入 Amazon S3。
Snowball 传输期间的本地清单创建
在使用 Amazon S3 Adapter 或 CLI 时,创建复制到 Snowball 的文件的本地清单。本地清单的内容可以用来与本地存储器或服务器上的内容进行比较。
例如,
aws s3 cp folder/ s3://bucket --recursive > inventory.txt
常见验证错误
在出现验证错误时,相应数据(一个文件或大型文件的一部分)就不会写入目的地。造成验证错误的常见原因如下:
-
尝试复制符号链接。
-
尝试复制正被修改的文件。该尝试未通过校验和验证,并被标记为传输失败。
-
尝试复制大小超过 5 TB 的文件。
-
尝试复制大小超过 5 GiB 的部分。
-
尝试将文件复制到数据存储容量已满的 Snowball Edge 设备。
-
尝试将文件复制到不遵守 Amazon S3 的对象键命名指导原则的 Snowball Edge。
只要发生任何一个验证错误,它就会被记录下来。您可以执行相应步骤来手动识别未能通过验证的文件以及失败原因。有关信息,请参阅 导入 Amazon S3 后的 Snowball Edge 手动数据验证。
导入 Amazon S3 后的 Snowball Edge 手动数据验证
导入作业完成后,您可以如下所述使用多种选项来手动验证 Amazon S3 中的数据。
检查作业完成报告和相关日志
每当对 Amazon S3 导入或导出数据时,您都将获得一个可下载的 PDF 作业报告。对于导入作业,该报告在导入过程结束时提供。有关更多信息,请参阅在控制台上获取作业完成报告和日志。
S3 清单
如果您通过多个作业将大量数据传输到 Amazon S3 中,则浏览每一个作业完成报告可能效率不高。实际上,您可以获取一个或多个 Amazon S3 存储桶中所有对象的清单。Amazon S3 清单每天或每周提供一个逗号分隔值 (CSV) 文件,它显示了您的对象及其相应的元数据。此文件包含 Amazon S3 存储桶或共享前缀的对象(即名称以通用字符串开头的对象)。
在您获得了您向其中导入了数据的 Amazon S3 存储桶的清单后,就可以轻松将它与您在源数据位置传输的文件进行比较。通过这种方法,您可以快速识别哪些文件未传输。
使用 Amazon S3 同步命令
如果您的工作站可以连接到 Internet,您可以运行 Amazon CLI 命令 aws s3 sync
对传输的所有文件执行最终验证。此命令可同步目录和 S3 前缀。此命令以递归方式将源目录中的新文件和更新过的文件复制到目的地。有关更多信息,请参阅《Amazon CLI 命令参考》中的 sync。
重要
如果您指定本地存储作为此命令的目的地,请确保您拥有所同步的文件的备份。这些文件将由指定 Amazon S3 源中的内容覆盖。