openSUSE上にXenで検証環境を構築:仮想化技術の可能性も考えてみる

原和久(moonlinx)
2009-06-23 16:04:01
  • このエントリーをはてなブックマークに追加

 本連載「オープンソースソフトウェアでクリエイターを支援するmoonlinx」は第8回を迎えました。前回「Xenをインストールして検証環境を準備する」では、openSUSEにXenをインストールしてみました。今回はXenのネットワークの設定を紹介します。

ホストマシンのネットワークの設定

 ゲストマシンのネットワークの設定では、ブリッジモードやNATモードを利用することができます。今回はもっともポピュラーなブリッジモードでの接続方法を紹介しましょう。

 ――と、その前に。Xenでネットワークの設定をする場合、いくつか気をつけなければいけないポイントがあります。物理マシンのNICが1つの場合はあまり気にする必要はありませんが、NICが2つ以上の時は、Xenのデフォルトではeth0しか認識しませんので手動で設定する必要があります。

 更にXenのバージョンによって設定方法が異なりますので注意が必要です。

Xen 3.3.x(openSUSE 11.1)の設定

 openSUSE11.1(2009年4月時点での最新版)のXenの場合、バージョンは3.3.xになります。openSUSE 11.1では、YaSTの[ネットワークデバイス]→[ネットワークカード]で物理マシンの設定と一緒に設定することができます。

 注意するポイントは、仮想ブリッジデバイスを設定した場合、物理ethXにDHCPや固定IPを割り当てず、未定義のままにしておくことです。

Xen 3.2.x(openSUSE 11.0)の設定

 1つ前のバージョンのopneSUSE11.0を利用している場合、Xenのバージョンは3.2.xになっているはずです。また、SLES10sp2(SUSE Linux Enterprise Server)の場合も、Xen 3.2.xになります。

 openSUSE 11.0以前のバージョンでは、残念ながら仮想マシンのネットワークはYaSTに統合されていないので、手動でスクリプトを作成する必要があります。

 まず、YaSTで物理マシンのネットワーク設定を終えた後で、root権限で「/etc/xen/script/」配下に、「network-bridge.eth1」を作成します。ファイル名は特に規定がないのですが、次に設定するxend-config.sxpの内容と合わせるようにします。

 /etc/xen/script/network-bridge.eth1 

 #!/bin/sh 
 script=/etc/xen/scripts/network-bridge 
 case $1 in 
     start|stop|status) 
                 $script $1 netdev=eth0 
                 $script $1 netdev=eth1 
                 ;; 
         *) 
                 echo "unknown $1" 
                 exit 1 
 esac 

 上記の例ではeth0とeth1のみになります。追加していく場合は「$script $1 netdev=ethX」の行を追加してください。

 作成したら、スクリプトに実行権限を与えます。

 # chmod +x network-bridge.eth1

 次に、「/etc/xen」に移動し、作成したスクリプトをxenのコンフィグファイルで、Xenのデーモン(xend)起動時に読み込ませるよう設定します。

xned-config.sxp 

 # コメントアウトする 
 # (network-script network-bridge) 

 # 先ほど作成したスクリプトを追加する 
 (network-script network-bridge.eth1) 

 設定が完了したらマシンをリブートして、再びXenカーネルより起動します。

Xen 3.2未満(openSUSE 10.x)

  • 新着記事
  • 特集
  • ブログ