排查文件网关问题 - AWSStorage Gateway

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

排查文件网关问题

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

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

Error: InaccessibleStorageClass

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

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

解决 InaccessibleStorageClass 错误

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

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

Error: S3 访问被拒绝

你可以得到S3AccessDenied对于文件共享的 Amazon S3 存储桶访问错误AWS 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 中的该文件的版本是最新的,请下载该版本。您可以使用 AWS Management Console或 AWS CLI 执行此操作。

  2. Amazon S3 用AWS Management Console要么AWS 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 基础设施是否存在问题(存储、内存等)。如果您需要其他帮助,请联系AWS 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命令或浏览目录,请检查IndexFetchIndexEviction:CloudWatch 指标:

  • 如果IndexFetch运行时指标大于 0ls命令或浏览目录时,文件网关在启动时没有有关受影响的目录内容的信息,并且必须访问 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)。如果此类磁盘不可用,请尝试使用来自单独物理磁盘的多个缓存磁盘来提高性能。

  • 如果S3PutObjectRequestTimeS3UploadPartRequestTime,或者S3GetObjectRequestTime很高,可能存在网络瓶颈。尝试分析您的网络以验证网关是否具有预期的带宽。

您的网关执行的 Amazon S3 操作比预期的多

如果您的文件网关执行的 Amazon S3 操作比预期的多,请检查FilesRenamed指标。在 Amazon S3 中执行重命名操作非常昂贵。优化工作流程以尽量减少重命名操作的数量。

您在 Amazon S3 存储桶中看不到文件

如果您注意到网关上的文件未反映在 Amazon S3 存储桶中,请检查FilesFailingUpload指标。如果指标报告某些文件上传失败,请检查您的运行状况通知。当文件上传失败时,网关将生成包含有关该问题的更多详细信息的运行状况通知。

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

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

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

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

    对于 NFS,请确保使用硬装载而非软装载来装载客户端。