Troubleshooting - Amazon FSx for Lustre
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Troubleshooting

使用以下信息可帮助您解决在使用 Amazon FSx 适用于 Lustre 的时可能遇到的问题。

文件系统挂载立即失败

文件系统挂载命令会立即失败。下面的代码显示了一个示例。

mount.lustre: mount fs-0123456789abcdef0.fsx.us-east-1.aws@tcp:/fsx at /lustre failed: No such file or directory Is the MGS specification correct? Is the filesystem name correct?

如果您未使用正确的mountname值挂载持久或暂存 2 文件系统时使用mount命令。您可以获取mountname从响应describe-file-systems Amazon CLI命令或DescribeFileSystemsAPI 操作。

文件系统挂起,然后失败,出现超时错误

文件系统挂载命令挂起一两分钟,然后失败,并显示超时错误。

下面的代码显示了一个示例。

sudo mount -t lustre file_system_dns_name@tcp:/mountname /mnt/fsx [2+ minute wait here] Connection timed out

出现此错误的原因是 Amazon EC2 实例或文件系统的安全组未正确配置。

要采取的操作

确保您的文件系统安全组具有Amazon VPC

自动装载失败,实例无响应

在某些情况下,文件系统的自动装载可能会失败,并且您的 Amazon EC2 实例可能会停止响应。

如果_netdev选项未声明。如果_netdev),您的 Amazon EC2 实例可能会停止响应。出现该结果是因为,需要在计算实例启动其网络后初始化网络文件系统。

要采取的操作

如果出现此问题,请与Amazon Web Services Support。

系统引导期间文件系统装载失败

在系统引导期间,文件系统装载失败。安装是自动使用/etc/fstab。当文件系统未挂载时,系统日志中会看到实例启动时间范围的以下错误。

LNetError: 3135:0:(lib-socket.c:583:lnet_sock_listen()) Can't create socket: port 988 already in use LNetError: 122-1: Can't start acceptor on port 988: port already in use

当端口 988 不可用时,可能会出现此错误。当实例配置为装载 NFS 文件系统时,NFS 装载可能会将其客户端端口绑定到端口 988

要采取的操作

您可以通过调整 NFS 客户端的noresvportnoauto(在可能的情况下)。

使用 DNS 名称挂载文件系统失败

错误配置的域名服务 (DNS) 名称可能会导致文件系统装载失败,如以下情况所示。

方案 1: 使用域名服务 (DNS) 名称的文件系统挂载失败。下面的代码显示了一个示例。

sudo mount -t lustre file_system_dns_name@tcp:/mountname /mnt/fsx mount.lustre: Can't parse NID 'file_system_dns_name@tcp:/mountname'

要采取的操作

检查您的 Virtual Private Cloud (VPC) 配置。如果使用自定义 VPC,请确保已启用 DNS 设置。有关更多信息,请参阅 。在您的 VPC 中使用 DNS中的Amazon VPC 用户指南

要在mount命令,请执行以下操作:

  • 确保 Amazon EC2 实例与用于 Lustre 的 Amazon FSX 文件系统位于同一 VPC 中。

  • 在配置为使用 Amazon 提供的 DNS 服务器的 VPC 内 Connect 到您的 Amazon EC2 实例。有关更多信息,请参阅 。DHCP 选项集中的Amazon VPC 用户指南

  • 确保连接 Amazon EC2 实例的 Amazon VPC 已启用 DNS 主机名。有关更多信息,请参阅 。更新您的 VPC 的 DNS 支持中的Amazon VPC 用户指南

方案 2: 使用域名服务 (DNS) 名称的文件系统挂载失败。下面的代码显示了一个示例。

mount -t lustre file_system_dns_name@tcp:/mountname /mnt/fsx mount.lustre: mount file_system_dns_name@tcp:/mountname at /mnt/fsx failed: Input/output error Is the MGS running?

要采取的操作

确保客户端的 VPC 安全组应用了正确的出站流量规则。特别是在您未使用默认安全组或修改了默认安全组时,此建议适用。有关更多信息,请参阅 Amazon VPC

您无法访问您的文件系统

无法访问文件系统的潜在原因有很多,每个原因都有自己的分辨率,如下所示。

已删除附加到文件系统 elastic network interface 的弹性 IP 地址

Amazon FSX 不支持从公共互联网访问文件系统。Amazon FSX 会自动分离附加到文件系统 elastic network interface 的任何弹性 IP 地址(可从 Internet 访问的公有 IP 地址)。

已修改或删除文件系统 elastic network interface

您不得修改或删除文件系统的 elastic network interface。修改或删除网络接口可能会导致永久丢失您的 VPC 和文件系统之间的连接。创建新的文件系统,不要修改或删除 FSX elastic network interface。有关更多信息,请参阅 使用 Amazon VPC 进行文件系统访问控制

故障配置错误的链接 S3 存储桶

在某些情况下,Amazon FSx for Lustre 文件系统的链接 S3 存储桶可能具有配置错误的数据存储库生命周期状态。有关更多信息,请参阅 数据存储库周期状态。在以下情况下,链接数据存储库可能具有配置错误的生命周期状态:

可能的原因

如果 Amazon FSX 没有必要的Amazon Identity and Access Management(IAM) 访问链接数据存储库所需的权限。所需的 IAM 权限支持 Amazon FSx for Lustre 服务链接角色,该角色用于代表您访问指定的 Amazon S3 存储桶。

要采取的操作

  1. 确保您的 IAM 实体(用户、组或角色)具有创建文件系统的适当权限。执行此操作包括添加支持 Amazon FSx for Lustre 服务链接角色的权限策略。有关更多信息,请参阅 添加在 Amazon S3 中使用数据存储库的权限

  2. 使用 Amazon FSX CLI 或 API,刷新文件系统的AutoImportPolicyupdate-file-systemCLI 命令 (更新文件系统是等效的 API 操作),如下所示。

    aws fsx update-file-system \ --file-system-id fs-0123456789abcdef0 \ --lustre-configuration AutoImportPolicy=the_existing_AutoImportPolicy

有关服务相关角色的更多信息,请参阅将 Amazon FSx 用于 Lustre 的服务相关角色用于 Amazon FSx

可能的原因

如果链接的 Amazon S3 数据存储库具有现有的事件通知配置,其事件类型与 Amazon FSX 事件通知配置重叠,则可能会发生此错误。s3:ObjectCreated:*s3:ObjectRemoved:*)。

如果删除或修改了链接 S3 存储桶上的 Amazon FSX 事件通知配置,也会发生这种情况。

要采取的操作

  1. 删除链接 S3 存储桶上使用 FSX 事件配置使用的两种事件类型之一或两种事件类型的任何现有事件通知,s3:ObjectCreated:*s3:ObjectRemoved:*

  2. 请确保您链接的 S3 存储桶中有一个 S3 事件通知配置,名称为FSx, 事件类型s3:ObjectCreated:*s3:ObjectRemoved:*,并使用ARN:topic_arn_returned_in_API_response

  3. 使用 Amazon FSX CLI 或 API 在 S3 存储桶上重新应用 FSX 事件通知配置,以刷新文件系统的AutoImportPolicy。请使用update-file-systemCLI 命令 (更新文件系统是等效的 API 操作),如下所示。

    aws fsx update-file-system \ --file-system-id fs-0123456789abcdef0 \ --lustre-configuration AutoImportPolicy=the_existing_AutoImportPolicy

无法创建链接到 S3 存储桶的文件系统

如果创建链接到 S3 存储桶的新文件系统失败,并显示类似于以下内容的错误消息。

User: arn:aws:iam::012345678901:user/username is not authorized to perform: iam:PutRolePolicy on resource: resource ARN

如果您尝试创建链接到 Amazon S3 存储桶且没有必要的 IAM 权限的文件系统,则会发生此错误。所需的 IAM 权限支持 Amazon FSx for Lustre 服务链接角色,该角色用于代表您访问指定的 Amazon S3 存储桶。

要采取的操作

确保您的 IAM 实体(用户、组或角色)具有创建文件系统的适当权限。执行此操作包括添加支持 Amazon FSx for Lustre 服务链接角色的权限策略。有关更多信息,请参阅 添加在 Amazon S3 中使用数据存储库的权限

有关服务相关角色的更多信息,请参阅将 Amazon FSx 用于 Lustre 的服务相关角色用于 Amazon FSx

排查存储问题

在某些情况下,您的文件系统可能会遇到存储问题。您可以通过使用lfs命令,例如lfs migrate命令。

由于存储目标上没有空间而导致写入错误

您可以通过使用lfs df -h命令,如文件系统存储布局。这些区域有:filesystem_summary字段报告文件系统存储总使用率。

如果文件系统磁盘使用率为 100%,请考虑增加文件系统的存储容量。有关更多信息,请参阅 管理存储和吞吐量容量

如果文件系统存储使用率不是 100%,并且您仍然会出现写入错误,则您正在写入的文件可能会在已满的 OST 上进行条带化。

要采取的操作

如果您的许多 OST 已满,请增加文件系统的存储容量。检查 OST 上的存储不平衡,方法是否按照OST 上存储不平衡部分。

OST 上存储不平衡

Amazon FSx for Lustre 在 OST 之间均匀分布新的文件条带。但是,由于 I/O 模式或文件存储布局,您的文件系统可能仍会变得不平衡。因此,某些存储目标可能已满,而其他存储目标则相对空。

要采取的操作

  1. 使用lfs df -h命令确定每个存储目标上剩余的可用容量。

  2. 使用lfs find命令来标识可以迁移到其他存储目标的文件。例如,以下命令返回每个大于 1TB 且在OST 2。在多个 OST 之间进行条带化并使用OST 2将返回。

    lfs find /mnt/lfs -size +1T --ost 2
  3. 使用lfs migrate命令将文件从一个存储目标移动到另一个存储目标或多个存储目标。以下命令显示了从当前存储目标移动文件的示例。

    lfs migrate /mnt/lfs/file1

    如果要更改文件的存储布局,例如将文件从单个存储目标条带到多个存储目标(如 4 个存储目标),则可以使用类似于以下命令的命令:

    lfs migrate -c 4 /mnt/lfs/file1

    如果文件非常大,请跨多个存储目标对文件进行条带化。有关更多信息,请参阅 。处理完整的 OST)。

    您还可以考虑更改文件系统或目录的条带配置,以便跨多个存储目标条带化新文件。有关更多信息,请参阅在文件系统中对数据进行条带化