web-dev-qa-db-ja.com

サーバーが到達不能になり、自動的に復旧します(おそらくネットワークの問題)

職場に設置しているサーバーで奇妙な問題が発生しています(重要な場合は、NATの背後にあります)。問題は、到達不能になることがあり、その後、通常は数秒以内に、場合によっては最大1分続くこともあります。再起動せず、クラッシュしません。単にアクセスできなくなります。この間、sshを実行することも、マシンで実行されているアプリケーションにアクセスすることもできません(Railsアプリがいくつか実行されているため、それらも到達不能になります)。dmesgとこれらの行を見た-

[    4.958074] ADDRCONF(NETDEV_UP): eth0: link is not ready
[    5.040476] ADDRCONF(NETDEV_UP): eth1: link is not ready
[    5.175624] igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[    5.177207] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

数行後、ネットワークインターフェイスに関して同様のことがわかりました-

[1195777.544167] igb: eth0 NIC Link is Down
[1195780.962943] igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX

ネットワークの問題のように見えます。/var/log/messagesには興味深いものは何も表示されません。これをデバッグする方法がわかりません。それが何であるかについての手がかりはありますか?そして、私はここで何をチェックする必要がありますか?ありがとう!

2
Siddhant

この種の問題は通常、多くのログメッセージを生成しません。インターフェイスが上下することを示す重要な2つのメッセージを発見しました。これらは、イーサネットケーブルを抜き差しすることで生成できます。

NICとルーターの間のケーブルが不良である可能性があります。最初の手順(一度に1つずつ実行)は次のようになります。

  • Eth0に接続されているケーブルを交換し、問題が解決するかどうかを確認します。
  • 現在eth0にあるトラフィックがeth1にあるように、またはその逆になるように、ネットワークインターフェイスを再構成します。 (ネットワークの再起動とケーブルの交換が必要です。)問題が解決した場合は、NICの障害のようです。
  • アップストリームデバイスとその電源のステータスを確認します。電源が切れたり、故障したりすると、この種の動作が見られます。
  • netstat -iまたはifconfigを実行し、エラー数を調べます。通常、0または1桁である必要があります。キャリアエラーまたはフレームエラーが高い場合は、デュプレックスの不一致を示している可能性があります。デュプレックスの不一致は、大きなファイルをアップロードしてからダウンロードすることで確認できます。エラーカウントの増加を伴う大きな速度差は、リンクの不一致を示します。ケーブルモデムは通常、アップロードとダウンロードの帯域幅が異なるため、このテストではローカル転送の方が適しています。

私が使用しているツールの1つはmtrです。 mtr -i 15 -n google.comのようなコマンドを使用して接続を監視します。 google.comの代わりにISPのサーバーの1つを使用することを検討してください。レポートモードでバッチで実行できます。問題がサーバーのアップストリームにある場合、出力は問題が発生している場所を特定するのに役立ちます。

7
BillThor

BillThorにはいくつかの素晴らしい提案があります。彼の解決策のどれも問題を解決しない場合、オートネゴシエーションが原因である可能性があります(可能性は低いですが)。接続の速度とデュプレックスを強制してみてください(RedHatの手順ですが、他のディストリビューションも同様です)

/ etc/sysconfig/network-scripts/ifcfg-eth0を編集します。

ETHTOOL_OPTS="speed 100 duplex full autoneg off"

次に、インターフェイスを再起動します。

/etc/init.d/network restart

3
Jim G.