Tech Racho エンジニアの「?」を「!」に。
  • インフラ

NICとHUBの両方が原因のネットワークエラーの解決

仮想サーバの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とBUFFALOのHUBが両方悪かったみたいです。
値段だけで選ぶと痛い目に遭いますね。


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。