跳至内容

如何解决挂载我的 Amazon EFS 文件系统时出现“nfs: server 127.0.0.1 not responding”错误?

2 分钟阅读
0

我的 Amazon Elastic File System (Amazon EFS) 服务器未响应,并显示错误消息“nfs: server 127.0.0.1 not responding”。我想解决这个问题。

简短描述

您可能会看到“server not responding”错误,原因如下:

  • NFS 客户端无法连接到 Amazon EFS 服务器。
  • 实例的重启或关闭导致网络断开。
  • 资源被过度利用。
  • 网络性能问题导致错误。
  • 特定的内核版本存在问题。
  • 您使用的挂载配置不正确。

完成最适合您的用例的解决方案方法。

解决方法

NFS 客户端无法连接到 Amazon EFS 服务器

如果 NFS 客户端无法连接到 Amazon EFS 服务器,请检查网络配置是否存在以下问题:安全组设置不正确、DNS 解析问题或 VPC 配置。

要检查连接,请运行以下命令:

telnet efs-mount-target-IP-address 2049

如果连接成功,则输出显示与指定端口(EFS 挂载目标 IP 地址)的连接:

ec2-user@ip-172-31-8-105 ~
telnet 172.31.11.149 2049
Trying 172.31.11.149...
Connected to 172.31.11.149.
Escape character is '^'.

如果连接失败,请完成以下检查:

  • 检查与您的 EFS 文件系统关联的安全组是否允许来自客户端安全组的端口 2049 的入站流量。有关更多信息,请参阅 Creating security groups
  • 检查 DNS 是否可以解析 EFS 挂载目标的 IP 地址。有关更多信息,请参阅 Mounting on Amazon EC2 with a DNS name

实例发生了重启或关闭

要检查是否发生了重启或关闭,请查看 Amazon CloudWatch 中的 StatusCheckFailed 指标,了解最近的实例停止或重启。

利用率很高

CPU 或内存使用率过高可能会导致性能问题。要检查 CPU 和内存使用情况,请使用诸如 atop 之类的工具。有关更多信息,请参阅 Digital Ocean 网站上的 A guide to atop command in Linux。然后,查看您的 EC2 实例的 CloudWatch 指标 CPU使用率

要解决此问题,请将您的实例更新为更大的实例类型

网络性能问题

CloudWatch 指标

网络性能不佳会导致 EFS 挂载错误。要监控您的网络性能,请完成以下步骤:

  1. 打开 CloudWatch 控制台
  2. 选择您的 EC2 实例。
  3. 指标部分的 EC2 下方,查看以下指标:
    **网络数据包输入/输出:**数据包速率的高差异可能表明网络不稳定。
    **网络字节输入/输出:**字节速率的高差异可能显示网络不稳定。
    **网络错误:**网络错误的增加可能表示网络接口存在问题。要解决大量网络错误,请将实例类型更改为具有更高网络性能的实例类型。
    **网络吞吐量:**持续的高吞吐量表明您需要更高带宽的实例。

其他监控工具

您还可以在 Die Net 网站上使用第三方工具,例如 sarnloadiftop

识别和缓解微爆

微爆可能会导致性能突然下降,因为网络流量短暂激增可能导致数据包丢失和潜在错误。要识别和缓解微爆,请完成以下步骤:

  1. 打开 CloudWatch 控制台
  2. 选择您的 EC2 实例。
  3. 选择监控,然后查看以下指标:
    网络输入/输出: 监控传入和传出的网络流量。
    网络数据包输入/输出: 检查短时间内发送或接收的数据包数量是否突然激增。
    CPU 积分使用率和 CPU 积分余额: 检查实例是否遇到与网络性能问题相关的 CPU 限制。
    **注意:**网络流量或数据包速率的突增可能会出现微爆。最佳做法是随着时间的推移监控这些指标,以确定短暂峰值的模式。

使用您收集的数据来查找网络流量或数据包数量的短暂突增。如果确认了微爆,请完成以下步骤:

有关更多信息,请参阅如何确定我的 Amazon EBS 卷是否处于微爆状态,并防止这种情况发生?

解决内核版本问题

某些内核版本存在可能导致 EFS 挂载失败的问题。

要检查内核版本,请运行以下命令:

uname -r

输出结果类似于:

6.1.97-104.177.amzn2023.x86_64

确保您使用的是内核版本 4.3 或更高版本。

挂载配置不正确

如果您使用了不正确的挂载选项,则挂载将失败。

要验证您的挂载选项,请检查使用的挂载命令。挂载文件系统时,请确保包含 noresvport 选项:

sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <mount-target-ip>:/ <mount-point>

有关装载选项的更多信息,请参阅 Recommended NFS mount settings

如果您使用正确的挂载配置但失败了,请收集您的日志信息联系 AWS Support

AWS 官方已更新 1 年前