いままで遊んでいたVmware Server、ESXiが商用の無償提供なのに対してXenはオープンソースの仮想化環境です。準仮想化という技術でXen用にモディファイされたOSを比較的高速で動作させることができます。また、CPUが対応していればXen用にモディファイされていないOSを動作させる完全仮想化も利用することができます。
Xenのカーネルが動作している上で管理用のOS(Domain0)を動作させ、更にゲストOS(DomainU)を管理用のOSと並列で動作させることができます。
インストール手順は、管理用となるOSを通常通りインストールしてからXenをインストールします。再起動するとXenのカーネルが起動してその上で管理用OSが動作するようになります。管理用OS上でゲストOSの追加、削除といった操作をすることになります。
多くのLinuxではXenをパッケージとして提供していますのでDomain0はlinuxとします。インストール先は格安サーバで有名なHP ProLiant ML115 G5改としてスペックは以下のとおりです。一般的に利用されている32bitOSではメモリが最大4GBしか認識しないので6GBを有効に使用するためPAE対応の32bitOSや64bitOSを使用しなくてはならないのがネックです。
CPU | Phenom 9350e |
---|---|
Memory | 6GB(ECC無し) |
HDD | SATA160GB |
Graphics | 内臓またはHD2400PROの安いやつ |
いま使っているのがUbuntu8.10 Desktopなのでまずはこの環境にいれてみました。インストールはパッケージマネージャにてubuntu-xen-serverをインストールするだけ。(当然依存性のあるいくつかのパッケージもインストールされます。)再起動すればXenカーネルで起動してUbuntu8.10はDomain0となる予定でしたがXenカーネルにならずに終了。
ネットで調べるとUbuntu8.04だと大丈夫そうなので挑戦。Ubuntu8.4Desktopをインストールしてからパッケージマネージャでubuntu-xen-serverをインストールして再起動。無事Xenカーネルが起動してUbuntu8.04DesktopがDomain0として認識されました。ところがネットワークがつながらない。調査するとXenは仮想マシンのネットワークは仮想スイッチに接続されてそこに接続された実インターフェースを使って通信するのですが、仮想スイッチが作成されていませんでした。Xenのネットワークの設定を変更するとDomain0のインターフェースが直接外部と接続できるようになったのですがあいかわらず仮想スイッチがないのでDomainUは外部と接続ができないままなので終了。
なんかよくわからないのですが成功している人はきっと64bit版ではないのだろうということで32bit版をインストールしてみました。とはいえそのままだとメモリを3.5GB程しか認識しないのでPAEに対応した32bitカーネルを入れます。Ubuntuのサーバー用カーネルがPAE対応ということでlinux-image-serverというパッケージをインストールすればPAE対応32bitカーネルとなります。次にubunt-xen-serverをインストールしたところ64bit版とまったく変わらず仮想スイッチが何をやっても作成されずに撃沈
こちらもインストール時に仮想化を選択すれば良いということなのでイメージをダウンロードしてインストール用のDVDを作成してインストール開始。インストール完了後起動するとなんか画面の解像度が変なんです。管理から画面の解像度というのを選択して使用しているディスプレイに合わせて1280×1024にしてもなんか圧縮された感じになってしまいます。マウスカーソルは画面全体を移動するのですがデスクトップとしてウィンドウを表示できるのが画面の上3分の2くらいで下の方は黒くなっていてウィンドウを移動しても隠れてしまいます。Xen自体はうまく動作して仮想スイッチも作成されているようですがデスクトップが使い物にならないので終了
結果をまとめると以下の表のとおりです。
OS種類 | Xenインストール方法 | 結果 |
---|---|---|
Ubuntu 8.10 Desktop 64bit | ubuntu-xen-serverインストール | Xenカーネル起動せず |
Ubuntu 8.04 Desktop 64bit | ubuntu-xen-serverインストール | 仮想スイッチ生成されず外部との通信不可 |
Ubuntu 8.04 Desktop PAE | ubuntu-xen-serverインストール | 仮想スイッチ生成されず外部との通信不可 |
SUSELinux 11.0 64bit | OSインストール時に仮想化選択 | Xen確認せずXwindow起動せず |
CentOS 5 64bit | OSインストール時に仮想化選択 | Xenは大丈夫だがXwindow解像度が変 |