職場に設置しているサーバーで奇妙な問題が発生しています(重要な場合は、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つのメッセージを発見しました。これらは、イーサネットケーブルを抜き差しすることで生成できます。
NICとルーターの間のケーブルが不良である可能性があります。最初の手順(一度に1つずつ実行)は次のようになります。
netstat -i
またはifconfig
を実行し、エラー数を調べます。通常、0または1桁である必要があります。キャリアエラーまたはフレームエラーが高い場合は、デュプレックスの不一致を示している可能性があります。デュプレックスの不一致は、大きなファイルをアップロードしてからダウンロードすることで確認できます。エラーカウントの増加を伴う大きな速度差は、リンクの不一致を示します。ケーブルモデムは通常、アップロードとダウンロードの帯域幅が異なるため、このテストではローカル転送の方が適しています。私が使用しているツールの1つはmtr
です。 mtr -i 15 -n google.com
のようなコマンドを使用して接続を監視します。 google.comの代わりにISPのサーバーの1つを使用することを検討してください。レポートモードでバッチで実行できます。問題がサーバーのアップストリームにある場合、出力は問題が発生している場所を特定するのに役立ちます。
BillThorにはいくつかの素晴らしい提案があります。彼の解決策のどれも問題を解決しない場合、オートネゴシエーションが原因である可能性があります(可能性は低いですが)。接続の速度とデュプレックスを強制してみてください(RedHatの手順ですが、他のディストリビューションも同様です)
/ etc/sysconfig/network-scripts/ifcfg-eth0を編集します。
ETHTOOL_OPTS="speed 100 duplex full autoneg off"
次に、インターフェイスを再起動します。
/etc/init.d/network restart