排查文件网关问题 - AWS Storage Gateway
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon S3 文件网关文档已移至什么是 Amazon S3 文件网关

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

排查文件网关问题

您可以使用Amazon CloudWatch日志组。如果您执行此操作,则会收到有关文件网关的运行状况以及文件网关遇到的错误的通知。您可以在 CloudWatch Logs 中查找有关这些错误和运行状况通知的信息。

在以下部分中,您可以找到相关信息来帮助您理解每个错误的原因、运行状况通知以及如何解决问题。

Error: InaccessibleStorageClass

当对象从 Amazon S3 标准存储类中移出时,您会收到 InaccessibleStorageClass 错误。

在此处,当您的文件网关尝试将指定的对象上传到 S3 存储桶或从 S3 存储桶中读取对象时,通常会遇到错误。出现此错误时,通常对象已移出 Amazon S3 Glacier,并且位于或 S3 Glacier 或 S3 Glacier Deep Archive 存储类中。

解决无法访问存储库错误的步骤

  • 将对象从S3 Glacier或者S3 Glacier深层存档存储类返回到 S3。

    如果将对象移至 S3 存储桶来纠正上传错误,则最终将上传文件。如果将对象移至 S3 存储桶来纠正读取错误,则文件网关的 SMB 或 NFS 客户端随后可以读取该文件。

Error: S3 访问被拒绝

你可以得到一个S3AccessDenied文件共享的Amazon S3存储桶访问AWS Identity and Access Management(IAM) 角色。在此情况下,S3 存储桶访问IAM角色,由roleArn不允许相关操作。由于指定的目录中的对象的权限,不允许执行操作。Amazon S3prefix.

若要解决 S3AccessDenied 错误

  • 修改Amazon S3访问策略附加到roleArn文件网关运行状况日志中的Amazon S3operation. 请确保访问策略允许针对导致错误的操作的权限。此外,允许针对 prefix 的日志中指定的目录的权限。有关的信息Amazon S3权限,请参阅在策略中指定权限Amazon Simple Storage Service 开发人员指南。

    这些操作可能会导致出现 S3AccessDenied 错误。

    • S3HeadObject

    • S3GetObject

    • S3ListObjects

    • S3DeleteObject

    • S3PutObject

Error: InvalidObjectState

你可以得到一个InvalidObjectState当指定文件网关以外的写入器修改指定的 S3 存储桶中的指定文件时,出现错误。因此,文件网关的状态与其在中的状态不匹配。Amazon S3。任何后续文件上传到Amazon S3或从Amazon S3失败。

解决 InvalidObjectState 错误的步骤

如果修改文件的操作为S3Upload或者S3GetObject中,执行以下操作:

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

  2. 删除文件Amazon S3使用AWS 管理控制台或者AWS CLI。

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

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

Error: ObjectMissing

你可以得到一个ObjectMissing当指定文件网关以外的写入器从 S3 存储桶中删除指定文件时,出现错误。任何后续上传到Amazon S3或从检索Amazon S3对象失败。

解决对象丢失错误的步骤

如果修改文件的操作为S3Upload或者S3GetObject中,执行以下操作:

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

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

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

通知:重启

在重新启动网关 VM 时,您会收到重启通知。您可以使用 VM 管理程序管理控制台或 Storage Gateway 控制台重新启动网关 VM。您也可以在网关维护周期内使用网关软件来重新启动。

如果重启时间在网关的已配置维护开始时间的 10 分钟内,则此重启可能是正常的,并不指示任何问题。如果重启发生在维护时段之外,请检查是否已手动重新启动网关。

通知:HardReboot

当网关 VM 意外重启时,您会收到 HardReboot 通知。此类重启可能是因断电、硬件故障或其他事件导致的。对于 VMware 网关,通过 vSphere High Availability 应用程序监控进行重置会触发此事件。

当网关在此类环境中运行时,请检查是否存在 HealthCheckFailure 通知并查看 VM 的 VMware 事件日志。

通知:HealthCheckFailure

对于 VMware vSphere HA 上的网关,当运行状况检查失败并请求重新启动 VM 时,您会收到 HealthCheckFailure 通知。此事件也会在测试期间发生来监控可用性(由 AvailabilityMonitorTest 通知指示)。在此情况下,应会有 HealthCheckFailure 通知。

注意

此通知仅适用于 VMware 网关。

如果此事件重复发生,但没有 AvailabilityMonitorTest 通知,请检查您的 VM 基础设施是否存在问题(存储、内存等)。如果您需要其他帮助,请联系AWS Support。

通知:AvailabilityMonitorTest

你会得到一个AvailabilityMonitorTest通知,当您运行测试可用性和应用程序监控系统上运行在 VMware vSphere HA 平台上的网关上。

Error: RoleTrustRelationshipInvalid

您会出现此错误,当IAM角色配置错误IAM信任关系(即IAM角色不信任Storage Gateway名为委托人storagegateway.amazonaws.com)。因此,文件网关将无法获得凭证来对支持文件共享的 S3 存储桶运行任何操作。

解决 RoleTrustRelationshipInvalid 错误的步骤

使用故障排除CloudWatch指标

您可以在下面找到有关将 Amazon CloudWatch 指标用于 Storage Gateway 来解决问题时需执行的操作的信息。

浏览目录时,网关反应缓慢

如果您的文件网关在您运行ls命令或浏览目录,请选中IndexFetchIndexEviction CloudWatch指标:

  • 如果IndexFetch度量大于 0 时运行ls命令或浏览目录时,文件网关在启动时没有有有关受影响的目录内容的信息,并且必须访问Amazon S3。后续列出该目录内容的工作应更快地进行。

  • 如果IndexEviction指标大于 0,则表示您的文件网关已达到当时可在其缓存中管理的内容的最大值。在此情况下,文件网关必须从最近访问最少的目录中释放一些存储空间以便列出新目录。如果此情况经常发生,并且存在性能影响,请联系AWS Support。与讨论AWS Support相关 S3 存储桶的内容,以及根据您的使用案例提出改进性能的建议。

您的网关未响应

如果您的文件网关未响应,请执行以下操作:

  • 如果存在最近重启或软件更新,请检查 IOWaitPercent 指标。此指标显示当存在未完成磁盘 I/O 请求时 CPU 处于空闲状态的时间百分比。在某些情况下,此值可能会很高(10 或更高),并且可能会在服务器重启或更新后增大。在这些情况下,当您的文件网关将索引缓存重新构建到 RAM 时,可能会被缓慢的根磁盘阻塞。您可以通过为根磁盘使用更快的物理磁盘来解决此问题。

  • 如果MemUsedBytes度量与MemTotalBytes指标,则文件网关将耗尽可用 RAM。确保您的文件网关至少具有所需的最小 RAM。如果您的文件网关已达到此要求,则可考虑根据工作负载和使用案例向文件网关添加更多 RAM。

    如果文件共享是 SMB,则问题可能也是因连接到文件共享的 SMB 客户端的数量导致的。要查看在任何给定时间连接的客户端数量,请检查 SMBV(1/2/3)Sessions 指标。如果连接了多个客户端,您可能需要向文件网关添加更多 RAM。

您的网关向传输数据的速度较慢Amazon S3

如果文件网关向传输数据的速度较慢Amazon S3中,执行以下操作:

  • 如果CachePercentDirty指标为 80 或更高,则文件网关将数据写入磁盘的速度快于将数据上传到Amazon S3。考虑增加从文件网关上载的带宽、添加一个或多个缓存磁盘或减慢客户端写入速度。

  • 如果CachePercentDirty指标较低,请检查IoWaitPercent指标。如果IoWaitPercent大于 10,则文件网关可能会受到本地缓存磁盘速度的限制。我们建议您为缓存使用本地固态驱动器 (SSD) 磁盘,最好是 NVM Express (NVMe)。如果此类磁盘不可用,请尝试使用来自单独物理磁盘的多个缓存磁盘来提高性能。

网关备份作业失败,或在对网关进行写入时出现错误

如果文件网关备份作业失败,或在对文件网关进行写入时出现错误,请执行以下操作:

  • 如果CachePercentDirty指标为 90% 或更高,则文件网关无法接受对磁盘的新写入操作,因为缓存磁盘上的可用空间不足。查看文件网关上传到Amazon S3,查看CloudBytesUploaded指标。将该指标与WriteBytes指标,该指标显示客户端将文件写入文件网关的速度。如果您的文件网关写入速度超过它可以上传到Amazon S3中,添加更多缓存磁盘以至少覆盖备份作业的大小。或者,增加上传带宽。

  • 如果备份作业失败,但CachePercentDirty指标低于 80%,则文件网关可能会达到客户端会话超时。对于 SMB,您可以使用 PowerShell 命令 Set-SmbClientConfiguration -SessionTimeout 300 增大此超时。运行此命令会将超时设置为 300 秒。对于 NFS,请确保使用硬装载而非软装载来装载客户端。