我的 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 '^'.
如果连接失败,请完成以下检查:
实例发生了重启或关闭
要检查是否发生了重启或关闭,请查看 Amazon CloudWatch 中的 StatusCheckFailed 指标,了解最近的实例停止或重启。
利用率很高
CPU 或内存使用率过高可能会导致性能问题。要检查 CPU 和内存使用情况,请使用诸如 atop 之类的工具。有关更多信息,请参阅 Digital Ocean 网站上的 A guide to atop command in Linux。然后,查看您的 EC2 实例的 CloudWatch 指标 CPU使用率。
要解决此问题,请将您的实例更新为更大的实例类型。
网络性能问题
CloudWatch 指标
网络性能不佳会导致 EFS 挂载错误。要监控您的网络性能,请完成以下步骤:
- 打开 CloudWatch 控制台。
- 选择您的 EC2 实例。
- 在指标部分的 EC2 下方,查看以下指标:
**网络数据包输入/输出:**数据包速率的高差异可能表明网络不稳定。
**网络字节输入/输出:**字节速率的高差异可能显示网络不稳定。
**网络错误:**网络错误的增加可能表示网络接口存在问题。要解决大量网络错误,请将实例类型更改为具有更高网络性能的实例类型。
**网络吞吐量:**持续的高吞吐量表明您需要更高带宽的实例。
其他监控工具
您还可以在 Die Net 网站上使用第三方工具,例如 sar、nload 和 iftop。
识别和缓解微爆
微爆可能会导致性能突然下降,因为网络流量短暂激增可能导致数据包丢失和潜在错误。要识别和缓解微爆,请完成以下步骤:
- 打开 CloudWatch 控制台。
- 选择您的 EC2 实例。
- 选择监控,然后查看以下指标:
网络输入/输出: 监控传入和传出的网络流量。
网络数据包输入/输出: 检查短时间内发送或接收的数据包数量是否突然激增。
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。