Ubuntu Weekly Recipe

第198回 UbuntuにもXenがやってきた

この記事を読むのに必要な時間:およそ 1 分

Ubuntu 11.10ではLinux 3.0カーネルを採用しているため,とても簡単にXenの環境を構築できるようになりました。そこで今回は,UbuntuをXenのホスト環境(Dom0)として設定し,Ubuntuを含むいくつかのゲストOSをインストールする手順を紹介します。

Xenとは

Xenはハイパーバイザーと呼ばれる仮想マシンを実行するソフトウェアで,多種多様なプラットフォームをサポートし,Amazon Web Serviceでも使われている仮想化技術の一つです。

Ubuntuでよく使われている仮想マシン実行環境と言えばKVMやVirtualBoxがありますが,Xenはこれらに対して「準仮想化」と呼ばれる技術もサポートしており,IntelVTやAMD-VなどのCPUの仮想化支援機構がない環境でもゲストOSを高速に動作させられるといった特徴を持っています。

XenはホストOSをDomain 0(Dom0),ゲストOSをDomain U(DomU)と呼び,Dom0と準仮想化を使う場合はDomUもXenに対応したカーネルを使う必要があります。Ubuntuでは10.04以降,Xen対応のカーネルを公式には提供していなかったため,UbuntuにXenを導入するためにはユーザーがカーネルのコンパイルから行わなければならないというハードルの高い状態でした。

しかしながら,Linux 3.0からLinuxの公式カーネルでXenがサポートされるようになりました。そしてUbuntu 11.10ではLinux 3.0.4ベースのカーネルを採用しているため,カーネルを変更することなくDomUとしてもDom0としても使えるようになったのです注1)。

注1
11.10のリリースノートではテクニカルプレビューという位置づけになっています。今後,LTSになる12.04でフルサポートを目指す予定です。

UbuntuをDom0として使う

UbuntuをDom0として使うには以下のパッケージをインストールします。

$ sudo apt-get install xen-hypervisor-4.1

これにより,GRUBの設定(/boot/grub/grub.cfg)にXen本体をロードしてからカーネルをブートするエントリーが追加されます。そこで,一度再起動を行い,GRUBメニューで"Xen 4.1-amd64"エントリーを選択し,さらにサブエントリーからリカバリーモードでない方のエントリーを選択してください注2)。

Xenが無事動いていれば,以下のコマンドで各種情報が表示されるはずです。

$ sudo xm info
Name                           ID   Mem VCPUs      State   Time(s)
Domain-0                        0   469     2     r-----     12.8
$ sudo xm list
host                   : ubuntu
release                : 3.0.0-12-generic
(以下省略)

無事に起動できたら,次回以降Xenエントリーが自動選択されるよう,GRUBの設定を行います。まず,/etc/default/grubのGRUB_DEFAULTの値をsavedに変更します。

次に以下のコマンドを実行します。

$ sudo grub-set-default 2
$ sudo update-grub

一つ目のコマンドの最後の数字はメニューエントリーの一番上を0としたときの位置です。Xenのエントリーは特に,他のOSやカーネルが入っていなければ3番目になるはずなので2としています。各自の環境にあわせて調整してください。

注2
GRUBメニューがすぐ消える場合は,/etc/default/grubのGRUB_TIMEOUTの値を増やした上で,update-grubを実行してください。

ネットワーク設定

UbuntuのXenパッケージは,DomUのためのネットワーク設定がすべて無効化されています。もしXen標準のブリッジモードを有効化したい場合は,以下の設定をおこなった上で,xendを再起動します注3)。

$ sudo vi /etc/xen/xend-config.sxp
(network-script network-bridge) # <- この行のコメントアウトを外す
$ sudo service xend restart

DomUをDom0がつながっているネットワークから切り離したい時は,ブリッジモードの設定をコメントアウトし,NATモードを有効化します。

$ sudo vi /etc/xen/xend-config.sxp
#(network-script network-bridge)
#(vif-script vif-bridge)
(network-script network-nat)
(vif-script vif-nat)
$ sudo service xend restart
注3
この設定はDom0上のeth0をブリッジインターフェースとして上書きし,既存のネットワーク設定との不整合を発生させる可能性があるために無効化されています。詳しくは,/usr/share/doc/xen-utils-common/README.Debianを参照してください。

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。

コメント

コメントの記入