

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

# 数据存储库任务失败故障排除
<a name="failed-tasks"></a>

您可以[开启 CloudWatch 日志记录](cw-event-logging.md)功能，以记录有关使用数据存储库任务导入或导出文件时遇到的任何故障的信息。有关 CloudWatch 日志事件日志的信息，请参阅[数据存储库事件日志](data-repo-event-logs.md)。

当数据存储库任务失败时，您可以在控制台的**任务状态**页面上的 “**导出 FSx 失败的文件” 中找到 Amazon 未能**处理的文件数量。或者，您可以使用 CLI 或 API 并查看任务的 `Status: FailedCount` 属性。有关访问此信息的信息，请参阅[访问数据存储库任务](view-data-repo-tasks.md)。

对于数据存储库任务，Amazon FSx 还可以选择在完成报告中提供有关失败的特定文件和目录的信息。任务完成报告包含 Lustre 文件系统上失败的文件或目录路径及其状态和失败原因。有关更多信息，请参阅 [使用任务完成报告](task-completion-report.md)。

数据存储库任务失败可能具有多种原因，包括以下列出的原因。


| 错误代码 | 说明 | 
| --- | --- | 
| `FileSizeTooLarge` | Amazon S3 支持的最大对象大小为 5TiB。 | 
| `InternalError` | 导入、导出或发布任务的 Amazon FSx 文件系统中出现错误。通常，此错误代码表示运行失败任务的 Amazon FSx 文件系统处于失败生命周期状态。发生这种情况时，受影响的文件可能会由于数据丢失而无法恢复。否则，您可以使用分层存储管理（HSM）命令将文件和目录导出到 S3 上的数据存储库。有关更多信息，请参阅 [使用 HSM 命令导出文件](exporting-files-hsm.md)。 | 
| `OperationNotPermitted` | Amazon FSx 无法释放该文件，因为它尚未导出到关联的 S3 存储桶中。您必须使用自动导出或导出数据存储库任务来确保先将您的文件导出到关联的 Amazon S3 桶中。 | 
| `PathSizeTooLong` | 导出路径过长。S3 支持的最大对象键长度为 1024 个字符。 | 
| `ResourceBusy` | Amazon FSx 无法导出或释放该文件，因为文件系统上的另一个客户端正在访问该文件。您可以在工作流程完成对文件的写入 DataRepositoryTask 后重试。 | 
| `S3AccessDenied` | 执行数据存储库导出或导入任务时拒绝访问 Amazon S3。<br />对于导出任务，Amazon FSx 文件系统必须有权执行导出到 S3 上的链接数据存储库的`S3:PutObject`操作。此权限在 `AWSServiceRoleForFSxS3Access_{{fs-0123456789abcdef0}}` 服务关联角色中授予。有关更多信息，请参阅 [使用适用于 Amazon 的服务相关角色 FSx](using-service-linked-roles.md)。<br />对于导出任务，由于导出任务要求数据流出文件系统的 VPC，因此如果目标存储库的桶策略包含 `aws:SourceVpc` 或 `aws:SourceVpce` IAM 全局条件键之一，则可能会发生此错误。<br />对于导入任务，Amazon FSx 文件系统必须有权执行`S3:HeadObject`和`S3:GetObject`操作才能从 S3 上的链接数据存储库导入。<br />对于导入任务，如果您的 S3 存储桶使用服务器端加密，客户托管密钥存储在 Amazon Key Management Service (SSE-KMS) 中，则必须遵循中的策略配置。[使用服务器端加密的 Amazon S3 桶](s3-server-side-encryption-support.md)<br />如果您的 S3 存储桶包含从与您的文件系统关联的 S3 存储桶账户以 Amazon Web Services 账户 外的其他账户上传的对象，则可以确保您的数据存储库任务可以修改 S3 元数据或覆盖 S3 对象，无论这些对象是哪个账户上传的。我们建议您为 S3 桶启用 S3 对象所有权功能。此功能允许您通过强制上传提供预`-/-acl bucket-owner-full-control`装 ACL 来获得其他人 Amazon Web Services 账户 上传到您的存储桶的新对象的所有权。可以通过在 S3 桶中选择**桶拥有者优先**选项来启用 S3 对象所有权。有关更多信息，请参阅《Amazon S3 用户指南》**中的[使用 S3 对象所有权控制已上传对象的所有权](https://docs.amazonaws.cn/AmazonS3/latest/userguide/about-object-ownership.html)。 | 
| `S3Error` | 亚马逊 FSx 遇到了与 S3 相关的错误，但事实并非如此。`S3AccessDenied` | 
| `S3FileDeleted` | Amazon FSx 无法导出硬链接文件，因为数据存储库中不存在源文件。 | 
| `S3ObjectInUnsupportedTier` | 亚马逊 FSx 成功从 S3 Glacier 灵活检索或 S3 Glacier Deep Archive Deep Archive 存储类中导入了一个非符号链接对象。在任务完成报告中，`FileStatus` 将是 `succeeded with warning`。警告显示，如要检索数据，必须先恢复 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 对象，然后再使用 `hsm_restore` 命令导入对象。 | 
| `S3ObjectNotFound` |  FSx 由于数据存储库中不存在该文件，Amazon 无法导入或导出该文件。 | 
| `S3ObjectPathNotPosixCompliant` | Amazon S3 对象存在但无法导入，因为它不是 POSIX 兼容的对象。有关支持的 POSIX 元数据的信息，请参阅 [针对数据存储库的 POSIX 元数据支持](posix-metadata-support.md)。 | 
| `S3ObjectUpdateInProgressFromFileRename` | Amazon FSx 无法释放该文件，因为自动导出正在处理该文件的重命名。必须先完成自动导出重命名，才能释放文件。 | 
| `S3SymlinkInUnsupportedTier` | 亚马逊无法导入符号链接对象，因为 FSx 该对象属于不支持的 Amazon S3 存储类别，例如 S3 Glacier 灵活检索或 S3 Glacier Deep Archive Deep Archive 存储类别。在任务完成报告中，`FileStatus` 将是 `failed`。 | 
| `SourceObjectDeletedBeforeReleasing` | Amazon FSx 无法从文件系统中释放该文件，因为该文件在发布之前已从数据存储库中删除。 | 