ESXi上にあるゲストで不定期にネットワークリンクが切断されるという事象が過去1年ほど繰り替えし起きていた。
リンクは突然切断されることが多かった、特に大きな処理が動いていて、ネットワークパフォーマンスが高いということはなかった。ESXi上のゲストは2つであり、問題が発生していないESXiでは10以上のゲストが動いているために、ゲストの数が関係しているということもない。
リンクが切断されると、ESXiからの反応がないときもあるが9割以上はゲストのみのリンクが切断される。2つのゲストは両方が影響を受ける。リンクが切断されれば両方ともつながらないし復旧すれば同時にネットワークは復活する。
ESXi上のイベントには特に問題が発生している様子はない。またWindows上のイベントログにも特に目立ったメッセージはない。
Windows上ではNetwork接続は有効になっている。しかし外にはつながっていない状態である。IPアドレスは固定であるが、DHCPでは169が振られた状態となっている。
物理リンクがひとつ切れたとしてもロードバランシングにより次の物理リンクに引き継がれるはずであるが、その様子はなかった。
復旧させるための手順はいまいちはっきりしなかった。ESXIにも影響が出ているときにはManagement IPを再起動するとおおむね回復する。また場合によってはWindowsにおけるネットワークカードのdiablabe -> enableでも復旧することがあった。
今回問題が再発し、ESXiのmanagement IPの再起動、WindowsにおけるNICの再起動でも普及しなかったが、物理nicのチーミングおよびロードバランシングの設定を見直すことにより原因がわかった可能性が高いのでメモをしておく。
物理nicの一覧を比較すると、”実際のIPの範囲”にIPが出ていないNICがあることに気づいた。
ロードバラシングを見てみると、vmnic0とvmnic1の組み合わせてactivenになっていた。このアダプタを観察しているとvmnic0が切断されることがあった。この時点でvmnic1とロードバラシングしていると考えていた。
“実際のIPの範囲”に何も表示されないことが気になり、検索をかけたところIPアドレスが入っていない場合にはそのNICが使われていない可能性があることがわかった。そうだとするとvmnic0が切れたらゲストにつながらなくなることも理解できる。
こちらのページを参考にしてesxtopコマンドでnicの通信を確認してみたところ以下のようになった。
PORT-ID USED-BY TEAM-PNIC DNAME PKTTX/s MbTX/s PKTRX/s 16777218 vmnic0 - vSwitch0 0.00 0.00 8.01 16777220 vmnic2 - vSwitch0 204.85 0.54 218.77 16777221 vmnic3 - vSwitch0 0.00 0.00 0.00 16777239 vmnic1 - vSwitch0 0.00 0.00 0.00
これによるとvmnic1とvmnic3はまったく使われていないことがわかる。
まず物理NICを認識しているかを確認する。
~ # esxcfg-nics -l Name PCI Driver Link Speed Duplex MAC Address MTU Description vmnic0 0000:01:00.00 tg3 Up 1000Mbps Full 24:b6:fd:f6:16:68 1500 Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet vmnic1 0000:01:00.01 tg3 Up 1000Mbps Full 24:b6:fd:f6:16:69 1500 Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet vmnic2 0000:02:00.00 tg3 Up 1000Mbps Full 24:b6:fd:f6:16:6a 1500 Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet vmnic3 0000:02:00.01 tg3 Up 1000Mbps Full 24:b6:fd:f6:16:6b 1500 Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet
vswitchの構成を確認する。主にVLANID.
~ # esxcfg-vswitch -l Switch Name Num Ports Used Ports Configured Ports MTU Uplinks vSwitch0 128 9 128 1500 vmnic0,vmnic2 PortGroup Name VLAN ID Used Ports Uplinks Management Network 4095 1 vmnic0,vmnic2 VM Network 4095 4 vmnic0,vmnic2
私も同現象が発生し悩んでおりますので対策方法をご教授いただきたいです。
nkk様
連絡が遅くなりました。この事象はESXi上でNICのドライバであるtg3を最新版にすることで解消できました。