Techracho

ネットワークエラーの解決

このエントリーをはてなブックマーク Share
2009.01.02    Linux, ネットワーク, 仮想化, 馬場   タグ: , , —    baba   

仮想サーバのNICに負荷をかけるとホストマシンごと落ちる件について、現状改善したように見えるので、解決記録を書いておきます。

まず蟹が原因と思い、ヨドバシカメラにNICを買いに行きました。新春セールでポイント5%アップで幸せ気分です。
本当はIntelが欲しかったけど売ってなかったので、玄人指向のGBE-PCIe(Marvell 88E8053)とGbE-PCI2(VIA VT6122)を買ってきました。PCIeが良いのでMarvellの方を使うつもりで、VIAは予備用に買いました。

早速Marvellに差し替えたところ、負荷をかけてもホストOSは落ちなくなりました。やっぱり蟹が原因だったみたいです。
(ちなみに、NICのMACアドレスが変わった場合、Ubuntuの場合 /etc/udev/rules.d/70-persistent-net.rules を編集すれば eth0 に割り当てるなど出来ます)
しかし、ホストOSは落ちないものの仮想サーバの通信は負荷をかけるとやっぱり切れてしまいます。
調べてみると、eth0: out-of-sync dirty pointer というエラーを出していました。また、ifconfigをみるとエラーがたくさんあります。

そこで、使っていたBUFFALO製のスイッチングHUBを外して、仮想サーバ用のMarvellとRTX1000を直接つないでみたら、負荷をかけてもエラーが出なくなりました。
スイッチングHUBをcorega製に変えてみても、エラーは出ませんでした。

つまり、RealtekのNICとBAFFALOのHUBが両方悪かったみたいです。
値段だけで選ぶと痛い目に遭いますね。

COPYRIGHT [C] 2009 BEYOND PERSPECTIVE SOLUTIONS LTD. ALL RIGHTS RESERVED.