Xenで複数のネットワークインターフェイスを domUに提供する
Xenはネットワークインターフェイスをドメイン0とドメインUの間でブリッジできる。
簡単にいうと、ドメイン0で認識されているネットワークインターフェイスを、ドメインUでも共有できるということである。
ドメイン0で xendを起動すると、ネットワークインターフェイスをドメインUにブリッジするための仮想インターフェイスが起動される。それらは xenbrというプレフィクスのネットワークインターフェイスである。
Xenのデフォルトでは、ドメイン0で認識されている一番最初のネットワークインターフェイス(大抵 eth0だろう)に対して xenbr0を自動的に起動する。ドメインの設定ファイルに
vif=[""];
と書くと、xenbr0がドメインUから eth0 として利用できるようになる。
(どうやら "" は "bridge=xenbr0" の省略記法のようだ)
さて、ドメインUに複数のネットワークインターフェイスを持たせたい場合は、ドメイン0における 2番目以降のインターフェイスに対しても xenbrデバイスを起動しなくてはならない。これにはちょっとしたスクリプトを作成して、それが xendの起動時に呼び出されるよう設定を変更する必要がある。
/etc/xen/scripts に、適当な名前(ここではmy-network-script)で下記のようなシェルスクリプトを作成し、実行権限をつける。
vifnumは xenbrデバイスにつける番号、 netdevはブリッジしたい実デバイスの名前。
さらに xendの設定ファイル /etc/xen/xend-config.sxp を開き、上で作ったスクリプトファイルをを呼び出すように変更する。
↓
これで xendを再起動したら、xenbrデバイスが複数になっているはず。
実際のドメイン設定ファイルで複数のネットワークインターフェイスを定義するには、
vif=["","bridge=xenbr1"];
のようにカンマで区切って2番目以降の xenbrデバイスを追記する。
この記述の場合 xenbr1はドメインU側で eth1として認識される。
簡単にいうと、ドメイン0で認識されているネットワークインターフェイスを、ドメインUでも共有できるということである。
ドメイン0で xendを起動すると、ネットワークインターフェイスをドメインUにブリッジするための仮想インターフェイスが起動される。それらは xenbrというプレフィクスのネットワークインターフェイスである。
Xenのデフォルトでは、ドメイン0で認識されている一番最初のネットワークインターフェイス(大抵 eth0だろう)に対して xenbr0を自動的に起動する。ドメインの設定ファイルに
vif=[""];
と書くと、xenbr0がドメインUから eth0 として利用できるようになる。
(どうやら "" は "bridge=xenbr0" の省略記法のようだ)
さて、ドメインUに複数のネットワークインターフェイスを持たせたい場合は、ドメイン0における 2番目以降のインターフェイスに対しても xenbrデバイスを起動しなくてはならない。これにはちょっとしたスクリプトを作成して、それが xendの起動時に呼び出されるよう設定を変更する必要がある。
/etc/xen/scripts に、適当な名前(ここではmy-network-script)で下記のようなシェルスクリプトを作成し、実行権限をつける。
vifnumは xenbrデバイスにつける番号、 netdevはブリッジしたい実デバイスの名前。
#!/bin/sh
dir=$(dirname "$0")
"$dir/network-bridge" "$@" vifnum=0 netdev=eth0
"$dir/network-bridge" "$@" vifnum=1 netdev=eth1
さらに xendの設定ファイル /etc/xen/xend-config.sxp を開き、上で作ったスクリプトファイルをを呼び出すように変更する。
(network-script network-bridge)
↓
(network-script my-network-script)
これで xendを再起動したら、xenbrデバイスが複数になっているはず。
実際のドメイン設定ファイルで複数のネットワークインターフェイスを定義するには、
vif=["","bridge=xenbr1"];
のようにカンマで区切って2番目以降の xenbrデバイスを追記する。
この記述の場合 xenbr1はドメインU側で eth1として認識される。
ラベル: Xen

0 件のコメント:
コメントを投稿
<< ホーム