

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

# 故障排除：文件网关问题
<a name="troubleshooting-file-gateway-issues"></a>

您可以将文件网关配置为将日志条目写入 Amazon CloudWatch 日志组。配置好之后，您会收到有关网关的运行状况以及有关网关遇到的任何错误的通知。您可以在 CloudWatch 日志中找到有关这些错误和运行状况通知的信息。

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

**Topics**
+ [错误：1344 (0x00000540)](#troubleshoot-copying-files-to-s3)
+ [错误： GatewayClockOutOfSync](#troubleshoot-logging-errors-gatewayclockoutofsync)
+ [错误： InaccessibleStorageClass](#troubleshoot-logging-errors-inaccessiblestorageclass)
+ [错误： InvalidObjectState](#troubleshoot-logging-errors-invalidobjectstate)
+ [错误： ObjectMissing](#troubleshoot-logging-errors-objectmissing)
+ [错误： RoleTrustRelationshipInvalid](#misconfig-trust)
+ [错误：S3 AccessDenied](#troubleshoot-logging-errors-s3accessdenied)
+ [错误： DroppedNotifications](#troubleshoot-logging-errors-droppednotifications)
+ [通知： HardReboot](#troubleshoot-hardreboot-notification)
+ [通知：重启](#troubleshoot-reboot-notification)
+ [故障排除：安全扫描显示 NFS 端口处于开放状态](#troubleshoot-open-nfs-ports)
+ [疑难解答：使用 CloudWatch 指标](#troubleshooting-with-cw-metrics)

## 错误：1344 (0x00000540)
<a name="troubleshoot-copying-files-to-s3"></a>

在将文件迁移到 Amazon S3 时，`ERROR 1344 (0x00000540)`如果您正在尝试将包含超过 10 个访问控制条目 (ACEs) 的文件复制到 Amazon S3 中，则可能会遇到问题。访问控制列表（ACL）中列出了访问控制条目。

 Amazon S3 文件网关只能为每个给定文件或文件夹保留 10 个 ACE 条目。

**要解决错误 1344：将 NTFS 安全设置复制到目标目录。**

减少文件或文件夹的 Windows 权限条目数量，特别是当其权限列表包含超过 10 个条目时。一种常见的方法是创建一个包含完整条目列表的组，然后用这个组替换条目列表。当条目数小于 10 时，可以重试将文件或文件夹复制到网关。

## 错误： GatewayClockOutOfSync
<a name="troubleshoot-logging-errors-gatewayclockoutofsync"></a>

当网关检测到本地系统时间与 AWS Storage Gateway 服务器报告的时间之间有 5 分钟或更长时间的差异时，您可能会收到`GatewayClockOutOfSync`错误消息。时钟同步问题可能会对网关和之间的连接产生负面影响 AWS。如果网关时钟不同步，NFS 和 SMB 连接可能会出现 I/O 错误，并且 SMB 用户可能会遇到身份验证错误。

**要解决 GatewayClockOutOfSync 错误**
+ 检查网关和 NTP 服务器之间的网络配置。有关同步网关 VM 时间和更新 NTP 服务器配置的更多信息，请参阅[为网关配置网络时间协议（NTP）服务器](https://docs.aws.amazon.com/filegateway/latest/files3/manage-on-premises-fgw.html#MaintenanceTimeSync-fgw)。

## 错误： InaccessibleStorageClass
<a name="troubleshoot-logging-errors-inaccessiblestorageclass"></a>

当对象从 Amazon S3 Standard 存储类别中移出时，会出现 `InaccessibleStorageClass` 错误。

当文件网关尝试将对象上传到 Amazon S3 存储桶或从其中读取对象时，通常会遇到此错误。通常，此错误表示对象已移至 Amazon Glacier，并且位于 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 存储类别中。

S3 文件网关会生成缓存报告，其中列出了网关缓存中由于此错误而目前无法上传到 Amazon S3 的所有文件。此报告中的信息可以帮助您解决网关、A 支持 mazon S3 或 IAM 配置方面的问题。有关更多信息，请参阅[创建缓存报告](https://docs.aws.amazon.com/filegateway/latest/files3/create-cache-report.html)。

**要解决 InaccessibleStorageClass 错误**
+ 将对象从 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 存储类别恢复为 S3 中的原始存储类别。

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

## 错误： InvalidObjectState
<a name="troubleshoot-logging-errors-invalidobjectstate"></a>

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

S3 文件网关会生成缓存报告，其中列出了网关缓存中由于此错误而目前无法上传到 Amazon S3 的所有文件。此报告中的信息可以帮助您解决网关、A 支持 mazon S3 或 IAM 配置方面的问题。有关更多信息，请参阅[创建缓存报告](https://docs.aws.amazon.com/filegateway/latest/files3/create-cache-report.html)。

**要解决 InvalidObjectState 错误**

如果修改文件的操作为 `S3Upload` 或 `S3GetObject`，请执行以下操作：

1. 将文件的最新副本保存到 SMB 或 NFS 客户端的本地文件系统中（需要在步骤 4 中复制此文件）。如果该文件在 Amazon S3 中的版本是最新的，请下载该版本。你可以使用 AWS 管理控制台 或来做到这一点 AWS CLI。

1. 使用 AWS 管理控制台 或删除 Amazon S3 中的文件 AWS CLI。

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

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

## 错误： ObjectMissing
<a name="troubleshoot-logging-errors-objectmissing"></a>

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

S3 文件网关会生成缓存报告，其中列出了网关缓存中由于此错误而目前无法上传到 Amazon S3 的所有文件。此报告中的信息可以帮助您解决网关、A 支持 mazon S3 或 IAM 配置方面的问题。有关更多信息，请参阅[创建缓存报告](https://docs.aws.amazon.com/filegateway/latest/files3/create-cache-report.html)。

**要解决 ObjectMissing 错误**

如果修改文件的操作为 `S3Upload` 或 `S3GetObject`，请执行以下操作：

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

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

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

## 错误： RoleTrustRelationshipInvalid
<a name="misconfig-trust"></a>

当文件共享的 IAM 角色具有配置错误的 IAM 信任关系（即，IAM 角色不信任名为 `storagegateway.amazonaws.com` 的 Storage Gateway 主体）时，会出现此错误。因此，文件网关将无法获得凭证来对支持文件共享的 S3 存储桶运行任何操作。

**要解决 RoleTrustRelationshipInvalid错误**
+ 使用 IAM 控制台或 IAM API 将`storagegateway.amazonaws.com`文件共享信任的委托人列为委托人 IAMrole。有关 IAM 角色的信息，请参阅[教程：使用 IAM 角色跨 AWS 账户委派访问权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html)。

## 错误：S3 AccessDenied
<a name="troubleshoot-logging-errors-s3accessdenied"></a>

文件共享的 Amazon S3 存储桶访问 AWS Identity and Access Management (IAM) 角色可能会`S3AccessDenied`出现错误。在此情况下，错误中的 `roleArn` 所指定的 S3 存储桶访问 IAM 角色不允许相关操作。受 Amazon S3 前缀指定的目录中的对象的权限所限，不允许执行操作。

S3 文件网关会生成缓存报告，其中列出了网关缓存中由于此错误而目前无法上传到 Amazon S3 的所有文件。此报告中的信息可以帮助您解决网关、A 支持 mazon S3 或 IAM 配置方面的问题。有关更多信息，请参阅[创建缓存报告](https://docs.aws.amazon.com/filegateway/latest/files3/create-cache-report.html)。

**解决 S3 AccessDenied 错误**
+ 修改附加到文件网关运行状况日志中的 `roleArn` 的 Amazon S3 访问策略，以允许执行 Amazon S3 操作所需的权限。请确保访问策略允许针对导致错误的操作的权限。此外，允许针对 `prefix` 的日志中指定的目录的权限。有关 Amazon S3 权限的信息，请参阅《Amazon Simple Storage Service 用户指南》**中的[在策略中指定权限](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)。

  这些操作可能会导致出现 `S3AccessDenied` 错误。
  + `S3HeadObject`
  + `S3GetObject`
  + `S3ListObjects`
  + `S3DeleteObject`
  + `S3PutObject`

## 错误： DroppedNotifications
<a name="troubleshoot-logging-errors-droppednotifications"></a>

如果网关根磁盘上的可用存储空间小于 1 GB，或者在 1 分钟间隔内生成的运行状况通知超过 100 个，则可能会看到`DroppedNotifications`错误而不是其他预期类型的 CloudWatch 日志条目。在这种情况下，作为预防措施，网关会停止生成详细的 CloudWatch 日志通知。

**要解决 DroppedNotifications 错误**

1. 在 Storage Gateway 控制台的**监控**选项卡上查看您的网关的 `Root Disk Usage` 指标，以便确定可用的根磁盘空间是否不足。

1. 如果可用空间小于 1 GB，请增加网关根存储磁盘的大小。有关说明，请参阅您的虚拟机监控程序的文档。

   要增加 Amazon EC2 网关的根磁盘大小，请参阅《Amazon Elastic Compute Cloud 用户指南》**中的[请求对您的 EBS 卷进行修改](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/requesting-ebs-volume-modifications.html)。
**注意**  
无法增加 AWS Storage Gateway 硬件设备的根磁盘大小。

1. 重新启动您的网关。

## 通知： HardReboot
<a name="troubleshoot-hardreboot-notification"></a>

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

当您的网关在这样的环境中运行时，请检查`HealthCheckFailure`通知是否存在，并查阅虚拟机 VMware 的事件日志。

## 通知：重启
<a name="troubleshoot-reboot-notification"></a>

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

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

## 故障排除：安全扫描显示 NFS 端口处于开放状态
<a name="troubleshoot-open-nfs-ports"></a>

默认情况下，某些 NFS 端口处于启用状态，即使在仅用于 SMB 文件共享的网关上也是如此。如果您使用第三方安全软件（例如 Qualys）扫描部署了文件网关的网络，则扫描结果可能会将这些开放的 NFS 端口报告为潜在的安全漏洞。如果您仅将网关用于 SMB 文件共享，并且出于安全原因想要禁用未使用的 NFS 端口，请按照以下步骤操作：

**要在文件网关上禁用 NFS 端口，请执行以下操作：**

1. 使用 [在本地控制台上运行 Storage Gateway 命令](MaintenanceGatewayConsole-fgw.md) 中概述的步骤访问网关本地控制台命令提示。

1. 要禁用 NFS 流量，请输入以下命令：

   **IPv4**

   ```
   iptables -I INPUT -p udp -m udp --dport 111 -j DROP
   iptables -I INPUT -p udp -m udp --dport 2049 -j DROP
   iptables -I INPUT -p udp -m udp --dport 20048 -j DROP
   iptables -I INPUT -p tcp -m tcp --dport 111 -j DROP
   iptables -I INPUT -p tcp -m tcp --dport 2049 -j DROP
   iptables -I INPUT -p tcp -m tcp --dport 20048 -j DROP
   ```

   **IPv6**

   ```
   ip6tables -I INPUT -p udp -m udp --dport 111 -j DROP
   ip6tables -I INPUT -p udp -m udp --dport 2049 -j DROP
   ip6tables -I INPUT -p udp -m udp --dport 20048 -j DROP
   ip6tables -I INPUT -p tcp -m tcp --dport 111 -j DROP
   ip6tables -I INPUT -p tcp -m tcp --dport 2049 -j DROP
   ip6tables -I INPUT -p tcp -m tcp --dport 20048 -j DROP
   ```

1. 输入以下命令以确认 IP 表中显示了已阻止的 NFS 端口：

   **IPv4**

   ```
   iptables -n -L -v --line-numbers
   ```

   **IPv6**

   ```
   ip6tables -n -L -v --line-numbers
   ```

## 疑难解答：使用 CloudWatch 指标
<a name="troubleshooting-with-cw-metrics"></a>

您可以在下面找到有关使用亚马逊 CloudWatch指标和 Storage Gateway 来解决问题的操作的信息。

**Topics**
+ [浏览目录时，您的网关反应缓慢](#slow-gateway)
+ [您的网关未响应](#gateway-not-responding)
+ [您的网关向 Amazon S3 传输数据的速度较慢](#slow-data-transfer-to-S3)
+ [您的网关执行的 Amazon S3 操作比预期的要多](#gateway-performing-more-s3-operations)
+ [在 Amazon S3 存储桶中看不到文件](#files-missing-s3-bucket)
+ [您的网关备份作业失败，或在对网关进行写入时出现错误](#backup-job-fails)

### 浏览目录时，您的网关反应缓慢
<a name="slow-gateway"></a>

如果您的 File Gateway 在运行**ls**命令或浏览目录时反应缓慢，请检查`IndexFetch`和`IndexEviction` CloudWatch 指标：
+ 如果您在运行`ls`命令或浏览目录时该`IndexFetch`指标大于 0，则您的文件网关启动时没有有关受影响目录内容的信息，因此必须访问的 Amazon S3。后续列出该目录内容的工作应更快地进行。
+ 如果 `IndexEviction` 指标大于 0，则表示文件网关已达到当时可在其缓存中管理的内容的最大值。在此情况下，文件网关必须从最近访问最少的目录中释放一些存储空间以便列出新目录。如果这种情况经常发生并且会影响性能，请与联系 支持。

  根据您的用 支持 例讨论相关 S3 存储桶的内容和提高性能的建议。

### 您的网关未响应
<a name="gateway-not-responding"></a>

如果您的文件网关未响应，请执行以下操作：
+  如果存在最近重启或软件更新，请检查 `IOWaitPercent` 指标。此指标显示磁盘 I/O 请求未完成时 CPU 处于空闲状态的时间百分比。在某些情况下，此值可能会很高（10 或更高），并且可能会在服务器重启或更新后增大。在这些情况下，文件网关在将索引缓存重新构建到 RAM 时，可能会因根磁盘速度过慢而出现性能瓶颈。您可以通过为根磁盘使用更快的物理磁盘来解决此问题。
+ 如果 `MemUsedBytes` 指标与 `MemTotalBytes` 指标相同或几乎相同，则文件网关将耗尽可用 RAM。确保您的文件网关至少具有所需的最小 RAM。如果您的文件网关已达到此要求，则可考虑根据工作负载和使用案例向网关添加更多 RAM。

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

### 您的网关向 Amazon S3 传输数据的速度较慢
<a name="slow-data-transfer-to-S3"></a>

如果您的文件网关向 Amazon S3 传输数据的速度较慢，请执行以下操作：
+ 如果 `CachePercentDirty` 指标为 80 或更大，则文件网关将数据写入磁盘的速度快于将数据上传到 Amazon S3 的速度。考虑增加从文件网关上传的带宽、添加一个或多个缓存磁盘或减慢客户端写入速度。
+ 如果 `CachePercentDirty` 指标较低，请检查 `IoWaitPercent` 指标。如果 `IoWaitPercent` 大于 10，您的文件网关可能会受到本地缓存磁盘速度的限制。我们建议使用本地固态硬盘 (SSD) 磁盘作为缓存，最好是 NVM Express (NVMe)。如果此类磁盘不可用，请尝试使用来自单独物理磁盘的多个缓存磁盘来提高性能。
+ 如果 `S3PutObjectRequestTime`、`S3UploadPartRequestTime` 或 `S3GetObjectRequestTime` 很高，则可能存在网络瓶颈。尝试分析您的网络以确认网关具有预期的带宽。

### 您的网关执行的 Amazon S3 操作比预期的要多
<a name="gateway-performing-more-s3-operations"></a>

如果您的文件网关执行的 Amazon S3 操作比预期的要多，请检查 `FilesRenamed` 指标。在 Amazon S3 中运行重命名操作的成本很高。优化您的工作流，尽量减少重命名操作的次数。

### 在 Amazon S3 存储桶中看不到文件
<a name="files-missing-s3-bucket"></a>

如果您发现网关上的文件未出现在 Amazon S3 存储桶中，请检查 `FilesFailingUpload` 指标。如果该指标报告某些文件上传失败，请查看运行状况通知。文件上传失败时，网关会生成运行状况通知，其中包含有关该问题的更多详细信息。

### 您的网关备份作业失败，或在对网关进行写入时出现错误
<a name="backup-job-fails"></a>

如果文件网关备份作业失败，或在对文件网关进行写入时出现错误，请执行以下操作：
+ 如果 `CachePercentDirty` 指标为 90% 或更高，则因为缓存磁盘上的可用空间不足，文件网关无法接受对磁盘的新写入操作。要查看您的文件网关上传到 Amazon S3 for 速度有多快，请查看该`CloudBytesUploaded`指标。将该指标与 `WriteBytes` 指标进行比较，这将显示客户端将文件写入文件网关的速度。如果 SMB 客户端写入您的文件网关的速度超过了上传到 Amazon S3 FSx for 的速度，请添加更多的缓存磁盘以至少满足备份任务的大小。或者，增加上传带宽。
+ 如果大文件复制（例如，备份作业）失败，但 `CachePercentDirty` 指标低于 80%，则您的文件网关可能会达到客户端会话超时。对于 SMB，您可以使用 PowerShell 命令`Set-SmbClientConfiguration -SessionTimeout 300`延长此超时时间。运行此命令会将超时设置为 300 秒。

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