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

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

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

排查文件网关问题

在运行 VMware vSphere 高可用性 (HA) 时,您可以使用 Amazon CloudWatch 日志组来配置文件网关。如果您执行此操作,则会收到有关文件网关的运行状况以及文件网关遇到的错误的通知。您可以在 CloudWatch Logs 中找到有关这些错误和运行状况通知的信息

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

Error: InaccessibleStorageClass

你可以得到InaccessibleStorageClass当对象从 Amazon S3 标准存储类中移出来时出现错误。

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

解决 InaccessibleStorageClass 错误

  • 将对象从 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 存储类移回 S3。

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

Error: S3 访问被拒绝

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

要解决 S3AccessDenied 错误

  • 修改附加到的 Amazon S3 访问策略roleArn在文件网关运行状况日志中,以允许 Amazon S3 操作的权限。请确保访问策略允许针对导致错误的操作的权限。此外,允许针对 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 中的文件版本为最新版本,请下载该版本。您可以使用 Amazon Web Services Management Console或 Amazon CLI 执行此操作。

  2. Amazon S3 用Amazon Web Services Management Console要么Amazon CLI.

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

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

Error: ObjectMissing

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

要解决 ObjectMissing 错误

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

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

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

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

:Notification 重启

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

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

:Notification HardReboot

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

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

:Notification HealthCheckFailure

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

注意

此通知仅适用于 VMware 网关。

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

:Notification AvailabilityMonitorTest

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

Error: RoleTrustRelationshipInvalid

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

要解决 RoleTrustRelationshipInvalid 错误

使用 CloudWatch 指标排查问

您可以在下面找到有关将 Amazon CloudWatch 指标与 Storage Gateway 结合使用时需执行的操作来解决问题

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

如果您的文件网关在您运行ls命令或浏览目录,请检查IndexFetchIndexEvictionCloudWatch 指标:

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

  • 如果IndexEviction指标大于 0,表示您的文件网关已达到当时可在其缓存中管理的内容的最大值。在此情况下,文件网关必须从最近访问最少的目录中释放一些存储空间以便列出新目录。如果这种情况频繁发生,并且对性能产生影响,请联系Amazon Web Services Support. 与我们开发Amazon Web Services 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,请确保使用硬装载而非软装载来装载客户端。