故障排除:文件网关问题
您可以配置文件网关,将日志条目写入 Amazon CloudWatch 日志组。配置好之后,您会收到有关网关的运行状况以及有关网关遇到的任何错误的通知。您可以在 CloudWatch Logs 中找到有关这些错误和运行状况通知的信息。
在以下部分中,您可以找到相关信息来帮助您理解每个错误的原因、运行状况通知以及如何解决问题。
主题
错误:1344 (0x00000540)
在将文件迁移到 Amazon S3 时,如果您尝试将包含超过 10 个访问控制条目(ACE)的文件复制到 Amazon S3 中,则可能会遇到 ERROR 1344
(0x00000540)。访问控制列表(ACL)中列出了访问控制条目。
Amazon S3 文件网关只能为每个给定文件或文件夹保留 10 个 ACE 条目。
要解决错误 1344:将 NTFS 安全设置复制到目标目录。
减少文件或文件夹的 Windows 权限条目数量,特别是当其权限列表包含超过 10 个条目时。一种常见的方法是创建一个包含完整条目列表的组,然后用这个组替换条目列表。当条目数小于 10 时,可以重试将文件或文件夹复制到网关。
错误:GatewayClockOutOfSync
当网关检测到本地系统时间与 AWS Storage Gateway 服务器报告的时间之间有 5 分钟或更长时间的差异时,会出现 GatewayClockOutOfSync 错误。时钟同步问题会对网关和 AWS 之间的连接产生负面影响。如果网关时钟不同步,NFS 和 SMB 连接可能会出现 I/O 错误,并且 SMB 用户可能会遇到身份验证错误。
解决 GatewayClockOutOfSync 错误
-
检查网关和 NTP 服务器之间的网络配置。有关同步网关 VM 时间和更新 NTP 服务器配置的更多信息,请参阅为网关配置网络时间协议(NTP)服务器。
错误:InaccessibleStorageClass
当对象从 Amazon S3 Standard 存储类别中移出时,会出现 InaccessibleStorageClass 错误。
当文件网关尝试将对象上传到 Amazon S3 存储桶或从其中读取对象时,通常会遇到此错误。通常,此错误表示对象已移至 Amazon Glacier,并且位于 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 存储类别中。
S3 文件网关会生成缓存报告,其中列出了网关缓存中由于此错误而目前无法上传到 Amazon S3 的所有文件。此报告中的信息可以帮助您使用 支持 来解决网关、Amazon S3 或 IAM 配置方面的问题。有关更多信息,请参阅创建缓存报告。
解决 InaccessibleStorageClass 错误
-
将对象从 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 存储类别恢复为 S3 中的原始存储类别。
如果将对象恢复到 S3 存储桶来纠正上传错误,则最终将上传文件。如果通过恢复对象纠正读取错误,则文件网关的 SMB 或 NFS 客户端随后可以读取该文件。
错误:InvalidObjectState
当指定文件网关以外的写入器修改指定的 Amazon S3 存储桶中的指定文件时,会出现 InvalidObjectState 错误。因此,文件网关的文件状态与其在 Amazon S3 中的状态不匹配。任何后续的文件上传到 Amazon S3 或从 Amazon S3 检索文件都会失败。
S3 文件网关会生成缓存报告,其中列出了网关缓存中由于此错误而目前无法上传到 Amazon S3 的所有文件。此报告中的信息可以帮助您使用 支持 来解决网关、Amazon S3 或 IAM 配置方面的问题。有关更多信息,请参阅创建缓存报告。
解决 InvalidObjectState 错误
如果修改文件的操作为 S3Upload 或 S3GetObject,请执行以下操作:
-
将文件的最新副本保存到 SMB 或 NFS 客户端的本地文件系统中(需要在步骤 4 中复制此文件)。如果该文件在 Amazon S3 中的版本是最新的,请下载该版本。您可以使用 AWS 管理控制台或 AWS CLI 执行此操作。
-
使用 AWS 管理控制台 或 AWS CLI 删除 Amazon S3 中的文件。
-
使用 SMB 或 NFS 客户端从文件网关中删除文件。
-
使用 SMB 或 NFS 客户端将步骤 1 中保存的文件的最新版本复制到 Amazon S3。通过文件网关执行此操作。
错误:ObjectMissing
当指定文件网关以外的写入器从 S3 存储桶中删除指定文件时,会出现 ObjectMissing 错误。任何后续的上传到 Amazon S3 或从 Amazon S3 检索对象都会失败。
S3 文件网关会生成缓存报告,其中列出了网关缓存中由于此错误而目前无法上传到 Amazon S3 的所有文件。此报告中的信息可以帮助您使用 支持 来解决网关、Amazon S3 或 IAM 配置方面的问题。有关更多信息,请参阅创建缓存报告。
解决 ObjectMissing 错误
如果修改文件的操作为 S3Upload 或 S3GetObject,请执行以下操作:
-
将文件的最新副本保存到 SMB 或 NFS 客户端的本地文件系统中(需要在步骤 3 中复制此文件)。
-
使用 SMB 或 NFS 客户端从文件网关中删除文件。
-
使用 SMB 或 NFS 客户端复制步骤 1 中保存的文件的最新版本。通过文件网关执行此操作。
错误:RoleTrustRelationshipInvalid
当文件共享的 IAM 角色具有配置错误的 IAM 信任关系(即,IAM 角色不信任名为 storagegateway.amazonaws.com 的 Storage Gateway 主体)时,会出现此错误。因此,文件网关将无法获得凭证来对支持文件共享的 S3 存储桶运行任何操作。
解决 RoleTrustRelationshipInvalid 错误
-
使用 IAM 控制台或 IAM API 将
storagegateway.amazonaws.com作为受文件共享的 IAM 角色信任的主体包含在内。有关 IAM 角色的信息,请参阅教程:使用 IAM 角色跨 AWS 账户委派访问权限。
错误:S3AccessDenied
您会收到有关文件共享的 Amazon S3 存储桶访问 AWS Identity and Access Management(IAM)角色的 S3AccessDenied 错误。在此情况下,错误中的 roleArn 所指定的 S3 存储桶访问 IAM 角色不允许相关操作。受 Amazon S3 前缀指定的目录中的对象的权限所限,不允许执行操作。
S3 文件网关会生成缓存报告,其中列出了网关缓存中由于此错误而目前无法上传到 Amazon S3 的所有文件。此报告中的信息可以帮助您使用 支持 来解决网关、Amazon S3 或 IAM 配置方面的问题。有关更多信息,请参阅创建缓存报告。
解决 S3AccessDenied 错误
-
修改附加到文件网关运行状况日志中的
roleArn的 Amazon S3 访问策略,以允许执行 Amazon S3 操作所需的权限。请确保访问策略允许针对导致错误的操作的权限。此外,允许针对prefix的日志中指定的目录的权限。有关 Amazon S3 权限的信息,请参阅《Amazon Simple Storage Service 用户指南》中的在策略中指定权限。这些操作可能会导致出现
S3AccessDenied错误。-
S3HeadObject -
S3GetObject -
S3ListObjects -
S3DeleteObject -
S3PutObject
-
错误:DroppedNotifications
如果网关根磁盘上的空闲存储空间小于 1 GB,或者在 1 分钟间隔内生成的运行状况通知超过 100 个,则可能会出现 DroppedNotifications 错误,而不是出现其他预期类型的 CloudWatch 日志条目。在这种情况下,作为预防措施,网关会停止生成详细的 CloudWatch 日志通知。
解决 DroppedNotifications 错误
-
在 Storage Gateway 控制台的监控选项卡上查看您的网关的
Root Disk Usage指标,以便确定可用的根磁盘空间是否不足。 -
如果可用空间小于 1 GB,请增加网关根存储磁盘的大小。有关说明,请参阅您的虚拟机监控程序的文档。
要增加 Amazon EC2 网关的根磁盘大小,请参阅《Amazon Elastic Compute Cloud 用户指南》中的请求对您的 EBS 卷进行修改。
注意
无法增加 AWS Storage Gateway 硬件设备的根磁盘大小。
-
重新启动您的网关。
通知:HardreBoot
当网关 VM 意外重启时,您会收到 HardReboot 通知。此类重启可能是因断电、硬件故障或其他事件导致的。对于 VMware 网关,通过 vSphere High Availability 应用程序监控进行重置会导致此事件。
当网关在此类环境中运行时,请检查是否存在 HealthCheckFailure 通知并查看 VM 的 VMware 事件日志。
通知:重启
在重新启动网关 VM 时,您会收到重启通知。您可以使用 VM 管理程序管理控制台或 Storage Gateway 控制台重新启动网关 VM。您也可以在网关维护周期内使用网关软件来重新启动。
如果重启时间在网关的已配置维护开始时间的 10 分钟内,则此重启可能是正常的,并不指示任何问题。如果重启发生在维护时段之外,请检查是否已手动重新启动网关。
故障排除:安全扫描显示 NFS 端口处于开放状态
默认情况下,某些 NFS 端口处于启用状态,即使在仅用于 SMB 文件共享的网关上也是如此。如果您使用第三方安全软件(例如 Qualys)扫描部署了文件网关的网络,则扫描结果可能会将这些开放的 NFS 端口报告为潜在的安全漏洞。如果您仅将网关用于 SMB 文件共享,并且出于安全原因想要禁用未使用的 NFS 端口,请按照以下步骤操作:
要在文件网关上禁用 NFS 端口,请执行以下操作:
-
使用 在本地控制台上运行 Storage Gateway 命令 中概述的步骤访问网关本地控制台命令提示。
-
要禁用 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 DROPIPv6
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 -
输入以下命令以确认 IP 表中显示了已阻止的 NFS 端口:
IPv4
iptables -n -L -v --line-numbersIPv6
ip6tables -n -L -v --line-numbers
故障排除:使用 CloudWatch 指标
您可以在下面找到相关信息,了解在使用 Amazon CloudWatch 指标解决 Storage Gateway 问题时需执行的操作。
主题
浏览目录时,您的网关反应缓慢
如果在您运行 ls 命令或浏览目录时,您的文件网关反应缓慢,请检查 IndexFetch 和 IndexEviction CloudWatch 指标:
-
如果在您运行
ls命令或浏览目录时,IndexFetch指标大于 0,则文件网关在启动时没有关于受影响目录内容的信息,并且必须访问 Amazon S3。后续列出该目录内容的工作应更快地进行。 -
如果
IndexEviction指标大于 0,则表示文件网关已达到当时可在其缓存中管理的内容的最大值。在此情况下,文件网关必须从最近访问最少的目录中释放一些存储空间以便列出新目录。如果此情况经常发生,并且对性能了产生影响,请联系 支持。与 支持 讨论相关 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)。如果此类磁盘不可用,请尝试使用来自单独物理磁盘的多个缓存磁盘来提高性能。 -
如果
S3PutObjectRequestTime、S3UploadPartRequestTime或S3GetObjectRequestTime很高,则可能存在网络瓶颈。尝试分析您的网络以确认网关具有预期的带宽。
您的网关执行的 Amazon S3 操作比预期的要多
如果您的文件网关执行的 Amazon S3 操作比预期的要多,请检查 FilesRenamed 指标。在 Amazon S3 中运行重命名操作的成本很高。优化您的工作流,尽量减少重命名操作的次数。
在 Amazon S3 存储桶中看不到文件
如果您发现网关上的文件未出现在 Amazon S3 存储桶中,请检查 FilesFailingUpload 指标。如果该指标报告某些文件上传失败,请查看运行状况通知。文件上传失败时,网关会生成运行状况通知,其中包含有关该问题的更多详细信息。
您的网关备份作业失败,或在对网关进行写入时出现错误
如果文件网关备份作业失败,或在对文件网关进行写入时出现错误,请执行以下操作:
-
如果
CachePercentDirty指标为 90% 或更高,则因为缓存磁盘上的可用空间不足,文件网关无法接受对磁盘的新写入操作。要查看您的文件网关上传到 Amazon S3 的速度有多快,请查看CloudBytesUploaded指标。将该指标与WriteBytes指标进行比较,这将显示客户端将文件写入文件网关的速度。如果 SMB 客户端写入文件网关的速度快于上传到 Amazon S3 的速度,请添加更多缓存磁盘以至少覆盖备份作业的大小。或者,增加上传带宽。 -
如果大文件复制(例如,备份作业)失败,但
CachePercentDirty指标低于 80%,则您的文件网关可能会达到客户端会话超时。对于 SMB,您可以使用 PowerShell 命令Set-SmbClientConfiguration -SessionTimeout 300增大此超时。运行此命令会将超时设置为 300 秒。对于 NFS,请确保使用硬装载而非软装载来装载客户端。