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

Virtual Server ネットワーク設定

このエントリーをはてなブックマーク Share

相変わらずVirtual Serverネタですみません。
ネットワーク設定でちょっと戸惑ったので書いておきます。

ホストマシンにIntelのNICとRealtek(蟹)のNICを1枚ずつさして、Intelをホストマシンの通信用、Realtekを仮想サーバ用にしました。(3comのNICはWindows Server 2008 x64のドライバが見つかりませんでした)
Virtual PCならそのまま選べば良いんですが、Virtual ServerではIntelのNICしか選べませんでした。

Virtual PCならそのまま選べる

Virtual PCならそのまま選べる


Virtual Serverだと1枚しか見えない

Virtual Serverだと1枚しか見えない

Virtual Serverの場合、左のメニューの「バーチャルネットワーク」から「作成」をして、RealtekのNICを使った仮想ネットワークを作っておく必要があるみたいです。

Virtual Serverではネットワークを追加する

Virtual Serverではネットワークを追加する

この後、最初のネットワークアダプタ選択画面で、今作ったバーチャルネットワークを指定すればOKです。

ルータにRTX1000を使っているので、LAN, WAN, DMZに割り振ってファイアウォールを設定できるようになりました。
仮想サーバだけ公開用にポートを開ける、ということができて便利です。LAN-DMZでTCP/UDP 137-139を開ければ、ファイル共有も出来ます。DMZの意味が少し薄れますが。

しかし、順調にVirtualHost等も設定して、自宅Webサーバ稼働開始!と思った矢先に大問題が発生。
仮想サーバのSambaとたくさん通信すると、ホストのWindows Server 2008 (物理サーバ)ごと落ちてしまいます。そのたびにRAIDの再構築が始まってもううんざり。
たぶん蟹のせいです。お店やってるか分からないけど、蟹じゃないNIC買ってきます。。。

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