ネットワークは規模が大きくなってくると非常に些細なことでも大きなトラブルに結びつきます。今回ご紹介するNICのリンク速度とネゴシエーション設定もそのひとつです。通常はauto-negotiationに設定しておけばとりあえず安心と思うわけです。しかしauto-negotiaionは万能ではない点、注意が必要です。

 ハードウェアによってはネゴシエーション誤認識は割と頻繁に発生します。以前サイト内のサーバの一部が正常時のたった10%のパフォーマンスしか出なくなるという障害に見舞われたことがありました。調査してみるとauto-negotiationの認識ミスでスイッチ側では100M-HALFで通信がなされていて、スイッチ上に通信エラーが出続けていました。またある時はネットワーク機器側はauto-negotiaion、サーバ側は100M-Fullという設定であったときもやはり通信エラーが出続けていました。過去にこのせいで何度も泣きました(下資料参照)。皆さんもこの機会にauto-negotiation誤認識が原因による通信エラー発生個所がないか一度調査されてみることをお勧めします。

【資料:ネゴシエーションミスマッチにより通信エラーが発生している例】
■Port Rx Error Monitor
余談1:
現実問題として全ての機器をネゴシエーション固定に設定するのはやってみると結構大変です。調べてみると案外設定漏れがあるものです。全てを固定設定にすることにした場合、運用面でかなり負荷がかかってくることを覚悟しなければなりません。
余談2:
近年普及が進んできたギガビットネットワークではHALF Duplexがそもそも存在しないのでHALF/Fullを誤認識することがなくなりました。喜ばしいことです。が、ギガビットネットワーク装置はまだまだ高価なのでまだ当面は10M/100Mのネットワーク環境も存続し続きそうですね。