kskメモ置き場

主にLinux系ソフトウェアの設定・インストール時のTips、メモ書きなど

Xenでのhost-onlyネットワーク設定(1)

2009-05-07 19:04:03 | Xen
今やっていること:Xen上の実験環境として、以下のようなネットワーク構成を作りたい。
  • 物理マシン(Dom-0)には物理NICは一つだけついている。
  • 仮想マシン(Dom-U)にはNICを三つ繋ぎたい。
  • Dom-UのNICの一つは物理NICにブリッジ接続、他の二つはDom-U同士で接続できれば良い(外部ネットワークとの接続は不要。Dom-0との接続はどちらでも良い)


つまり、VMwareでいうところの「host-onlyネットワーク」を二つ作りたい。ここでは下記IBM資料に従って「プライベートネットワーク」と呼ぶことにしよう。
なお、使ってるOS/Xenのバージョンは CentOS/RHEL5.3とそれに付属のXen 3.0.3。

軽くぐぐってみて引っかかった中では、以下の情報が参考になりそう。


このうち最初のITProの記事は、複数の物理NICにそれぞれブリッジ接続する場合の設定例なので、今回はこのままの設定では使えない。他の三つの情報をまとめると、プライベートネットワークを作るには以下の三つのやりかたがありそうだ。



どれがオススメか?




まず、簡単そうな(1)を試してみたのだが、これが期待どおり動かない。結論としては、このやり方は使えないと判断した。具体的な不具合は以下のとおり。

  • network-bridgeのカスタムスクリプトとして以下のような記述を行った(start部分のみ抜粋)。
            start)
                    $script start vifnum=0 bridge=xenbr0 netdev=eth0
                    $script start vifnum=1 bridge=xenbr1 netdev=none
                    $script start vifnum=2 bridge=xenbr2 netdev=none
                    ;;
    

  • 結果、xenbr0, xenbr1 は作成されたが、xenbr2 は作成されなかった。
  • xend-debug.logログを見ると、意味不明のエラーが発生している。
    Nothing to flush.
    Nothing to flush.
    Device "none" does not exist.
    Device "none" does not exist.
    使い方: ifdown <デバイス名>
    Device "none" does not exist.
    Cannot find device "none"
    SIOCGIFFLAGS: No such device
    

  • さらにぐぐってみると、netdev=none に対応するというパッチカスタムスクリプトは出回っているものの、CentOS/RHEL5.3標準のXenのスクリプトには含まれていない。

というわけで、このやり方は(少なくとも上記のOS/Xenのバージョンでは)あまり標準的なやり方ではないと言って良いと思う。
IBMの資料には堂々と書いてあるのだけど、プライベートネットワークが一つだけであれば
これでもちゃんと動くのかもね。でも「たまたま」動いてるだけなんじゃないかな、たぶん。





では(2)と(3)ではどちらが良いのか?

これは以下の理由により(3)の方が良い、と言えそうだ。
  • (2) のdummyの方は、modprobe.confの設定なども含め、設定がいろいろ面倒っぽい。
  • (1),(2)のやり方はXen限定だが(3)のlibvirtdはKVM等とも共通的に使える(はず)。RedHat的には Xen は捨て捨てで、将来的にはKVMに移行するのが世の流れ。


というわけで、いろいろと寄り道してしまったが、結局のところ(3)のやり方で良さそうだ。
次に実際に設定してみることにする。




Doblogから

2009-05-07 15:42:37 | 日記
Doblogから引っ越した。
とはいえ、あっちの内容はもう古すぎて役に立たないので、データの移行はなし。
それに三日坊主で終わってたし。