AWS Storage Gateway
用户指南 (API 版本 2013-06-30)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

文件网关问题排查

如果您使用 Amazon CloudWatch 日志组配置网关,则会收到网关遇到的错误。有关这些错误的信息,请参阅 CloudWatch Logs。在本节中,您可以找到有助于您理解每个错误的原因以及如何解决它的信息。

您收到 InaccessibleStorageClass 错误

当对象从 Amazon S3 标准存储类中转换出来时,您会收到 InaccessibleStorageClass 错误。在这种情况下,对象可以转换为 S3 Glacier 或 S3 Glacier Deep Archive 存储类。再次,当网关尝试将指定的对象上传到 Amazon S3 或从 Amazon S3 中读取时,会遇到此错误。但是,在这种情况下,对象转换为 Amazon S3 Glacier。

采取的操作

解决此错误所采取的操作与导致此错误的操作相同。

操作

执行此操作以解决该问题

S3Upload

将对象从 Glacier 存储类移回到 S3。文件最终被上传。

S3GetObject

将对象从 Glacier 存储类移回到 S3。转换为 S3 后,文件网关的 SMB 或 NFS 客户端可以读取文件。

您收到 S3AccessDenied 错误

您收到与文件共享的存储桶访问角色有关的 S3AccessDenied 错误。在这种情况下,错误中由 roleArn 指定的存储桶访问角色不允许操作涉及对 S3 前缀指定的目录中的对象的权限。

采取的操作

修改附加到网关运行状况日志中的 roleArn 的 S3 访问策略,以允许对 S3 操作的权限。访问策略应允许对导致错误的操作的权限。应该为 prefix 的日志中指定的目录允许该权限。有关 Amazon S3 权限的信息,请参阅在策略中指定权限

这些操作可能会导致此错误发生。

  • S3HeadObject

  • S3GetObject

  • S3ListObjects

  • S3DeleteObject

  • S3PutObject

您收到 InvalidObjectState 错误

当指定网关以外的写入器修改指定 S3 存储桶中的指定对象时,会出现 InvalidObjectState 错误。结果,对象在网关上的状态与对象在 S3 中的状态不匹配。任何后续的对象上传到 S3 或从 S3 检索对象都会失败。

采取的操作

您要采取的纠正错误的操作分四个步骤,如下所示。如果操作为 S3UploadS3GetObject,则此方法适用。

  1. 将文件的最新副本保存到 SMB 或 NFS 客户端的本地文件系统中。您在步骤 4 中需要该文件。如果该文件在 S3 中的版本是最新的,请下载该版本。您可以使用 AWS 管理控制台或 AWS CLI 执行此操作。

  2. 使用控制台或 CLI 在 S3 中删除该文件。

  3. 使用您的 SMB 或 NFS 客户端从文件网关中删除该文件。

  4. 使用您的 SMB 或 NFS 客户端复制在步骤 1 中保存的该文件的最新版本。通过文件网关执行此操作。

您收到 ObjectMissing 错误

当指定网关以外的写入器从 S3 存储桶中删除指定对象时,您会收到 ObjectMissing 错误。任何后续的上传到 S3 或从 S3 检索对象都会失败。

采取的操作

您采取的纠正错误的操作分三个步骤,如下所示。如果操作为 S3UploadS3GetObject,则此方法适用。

  1. 将文件的最新副本保存到 SMB 或 NFS 客户端的本地文件系统中。您将在步骤 3 中需要该文件。

  2. 使用您的 SMB 或 NFS 客户端从文件网关中删除该文件。

  3. 使用您的 SMB 或 NFS 客户端复制在步骤 1 中保存的该文件的最新版本。通过文件网关执行此操作。