eth0 NICリンクがダウンし、カーネルログにメッセージが繰り返し表示される


14

数日前から同じ種類のメッセージが繰り返し発生することに気づきましたが、その期間に意図的に変更(インストール/アンインストール)されたものは何もないと断言できます。

/var/log/kern.logメッセージのサンプルは次のとおりです。

Mar 30 06:32:45 aurora kernel: [566322.867110] e1000e: eth0 NIC Link is Down

Mar 30 06:32:47 aurora kernel: [566325.313634] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx

Mar 30 06:32:59 aurora kernel: [566337.632930] e1000e: eth0 NIC Link is Down

Mar 30 06:33:18 aurora kernel: [566356.543664] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None

Mar 30 11:05:47 aurora kernel: [582689.779752] e1000e: eth0 NIC Link is Down

Mar 30 11:05:50 aurora kernel: [582692.174337] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx

完全なログファイルから-この種のすべてのログメッセージをカウントするとき-私は結論づけることができます:

  • eth0は数時間ごとに失敗します
  • eth0は最初のケースでは2回失敗し、2番目のケースでは19秒失敗します

私がここで話しているのは実稼働サーバーです。

この問題を解決する方法は、メールサーバーが実稼働状態であり、19秒間のネットワーク障害が許容できないためです。


1
これまでに何をチェックしましたか?ケーブルは適切に接続されており、無傷の状態ですか?反対側のスイッチもリンクのダウンを監視しますか?注目に値するのは、検出されたリンクが異なる時間に異なることです(ログのフロー制御が異なる)。オートネゴシエーションが失敗する可能性がありますか?1000Mbps FD Rx / Txを強制すると問題は解決しますか?
-HåkanLindqvist 14

@HåkanLindqvistサーバーが物理的に近くにいないため、ケーブルをチェックするオプションがありません。それは、サーバーファームの技術スタッフに確認するよう頼む必要があるものですか?1000Mbps FD Rx / Txを強制するにはどうすればよいですか?また、フロー制御が時間ごとに異なることについて、この問題はありますか?
ミロシュチャコノヴィッチ14年

時間の経過とともに変化するリンク「タイプ」は、何かが正しくないことを示唆していますが、実際の原因を見つけることは、もちろん完全に別の質問です。技術スタッフに尋ねることは良い考えかもしれません。
-HåkanLindqvist 14

1
ethtoolまたはmii-toolを使用して、サーバー側でオートネゴシエーションのステータスなどを確認できます。サーバーが一致するように設定されていることを確認する必要があります。これはハードウェアの問題のように聞こえます-サーバーアダプタ、ケーブル、またはスイッチの可能性があります。スイッチのステータスを調べて、スイッチの状態を確認することをお勧めします。
ポールハルデーン14年

回答:


10
  1. ワイヤ上のエラーを確認し、出力の「エラー」フィールドを確認しますifconfig。ゼロ以外の場合、ハードウェア(ケーブル、NICカード、またはハブ/スイッチ)に問題があります。信頼性の低いイーサネットケーブルでも、このフィールドにエラーが発生します。
  2. 手順1に関係なく、イーサネットケーブルを交換します。これは迅速、安価、簡単であり、リンクがランダムな間隔で上下するたびに実行する必要があります。
  3. 使用ethtoolして確認してくださいネットワーク設定(両面印刷、など)スイッチ上のものと一致してください。自分がスイッチの管理者でない場合は、ネットワーク管理者に設定を依頼してください。
  4. スイッチのフロー制御が有効になっている場合は、Linuxボックスで有効になっていることを確認してください。それ以外の場合は、無効にします。

補足として、フロー制御が必要かどうかを評価する必要があります。HPによると、高性能アプリケーションにのみ必要です。HPの記事「フロー制御を使用するタイミング」を参照してください。


1
それはワイヤエラーでした。エラーを報告した後、サーバーファームの技術スタッフが仕事をしました。
ミロシュチャコノヴィッチ

1
「ifconfig」はエラーを示していましたか?
マイケルマルティネス

1

これが私の修正です。この問題は、カーネル3.9以降以降、常にe1000eドライバーを使用して、特定のハードウェア(NICの2つのポートのうち1つだけのマシン)で発生します。このファイルはcentos7用で、/etc/init.d/で有効にしなければなりませんchkconfig --add <name>。インターフェイス名はハードコーディングされています...必ず設定してください。

#!/bin/sh

### BEGIN INIT INFO
# Provides:          pm-e1000e-fix
# Required-Start:    $network
# Required-Stop:     $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 6
# Short-Description: workaround for e1000e issue
# Description:       e1000e fix
### END INIT INFO

################################################################################
# Give Usage Information                                                       #
################################################################################
usage() {
    echo "Usage: $0 start|restart" >&2
    exit 1
}

################################################################################
# E X E C U T I O N    B E G I N S   H E R E                                   #
################################################################################
command="$1"
shift

interface="eth0"

case "$command" in
    start)
        ethtool -K "$interface" gso off gro off tso off
        ;;
    restart)
        ethtool -K "$interface" gso off gro off tso off
        ;;
    *)
        usage
        ;;
esac
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.