「nfs: server 127.0.0.1 not responding」というエラーメッセージが表示されて、Amazon Elastic File System (Amazon EFS) サーバーが応答しない問題をトラブルシューティングしたいと考えています。
簡単な説明
次の理由により、「サーバーが応答していない」というエラーが表示される場合があります。
- 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>
マウントオプションの詳細については、「推奨される NFS マウント設定」を参照してください。
正しいマウント設定を使用していても失敗した場合は、ログ情報を収集して AWS サポートに連絡してください。