仮想化技術の大本命「Xen」を使ってみよう
 〜 インストール & Debian環境構築編 〜

みやもとくにお<wakatono@todo.gr.jp>
2005/3/8

Xenのインストール

 Debian GNU/Linuxのtesting版(sarge)は、taskselコマンドで作成する環境を選ぶことができます(例:デスクトップ環境)が、今回は何も追加インストールをしない状態(それでも数百Mbytes程度はディスクを必要とします)でXenを使えるようにします。

 Xenをソースコードからインストールする場合と、バイナリファイルを用いてインストールする場合とで手順は異なります。今回は、バイナリファイル(コンパイル済みのバイナリ)を用いたインストールを実施してみましょう。

 まず、Xenの公式サイト(http://www.cl.cam.ac.uk/Research/SRG/netos/xen/)のダウンロードメニュー(http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads.html)から、xen-2.0.4-install.tgz(原稿執筆時点の最新版)というファイルをダウンロードします()。

注:バージョン番号の部分は今後変更される可能性があります。ちなみに、筆者が検証した限りでは、2.0.3と2.0.4のインストール手順は同じでした。

 ダウンロードしたアーカイブを展開すると、xen-2.0-installディレクトリが生成されます。そのディレクトリ直下のREADMEファイルは必ず読んでおきましょう。ただし、細部で実状と異なる点があるため、その部分は差し引いておく必要があります。

インストールスクリプトの実行

 xen-2.0-installディレクトリの下には、各種のファイルが展開されます。このディレクトリ直下にあるインストールスクリプトinstall.shを実行します。このスクリプトは、/binや/usr/binなど、通常はrootのみが書き込み可能なディレクトリに対するファイルコピーを伴うため、管理者権限で実行する必要があります。

# ./install.sh

 install.shの実行に成功すると、ファイルが以下のように展開されます。xen-2.0-install/installディレクトリにある全ファイルがコピーされるので、詳細はxen-2.0-install/installディレクトリを参照してください。

  Xen本体(VMモニタ本体)
    /bootに展開されるxen.gzおよび関連ファイル
 
  Xeno Linuxカーネル(Xen版Linuxカーネル。ハードウェアドライバ込み)
    /bootに展開されるvmlinuz-2.*-xen0および関連ファイル
 
  Xeno Linuxカーネル(Xen版Linuxカーネル。ハードウェアドライバなし)
    /bootに展開されるvmlinuz-2.*-xenUおよび関連ファイル
 
  Xenのスタートアップ制御スクリプト
    /etc/init.dに展開
 
  Xen制御用コマンド
    /usr/binおよび/us/sbinに展開されるPythonスクリプトやバイナリ
 
  Xen関係のヘッダおよびライブラリ
    /usr/includeおよび/usr/libに展開
 
  ドキュメント類
    /usr/share/docおよび/usr/manに展開

GRUBの設定

 次に、ブートローダの設定を行います。ブートローダは、GRUBを前提に解説します。具体的には、/boot/grub/menu.lstに以下のエントリを追加します。

title   Xen 
kernel /boot/xen.gz dom0_mem=131072 
module /boot/vmlinuz-2.6.10-xen0 root=/dev/sda1 ro console=tty1 

  GRUBのメニューに表示するタイトル
  ・カーネルとしてXenを指定(Linuxカーネルではない)
・ドメイン0のメモリに131072kbytes割り当てる(環境によって増減あり)
  ・起動時に読み込むモジュールとしてXeno Linuxカーネルを指定
・通常カーネル起動時に与えるパラメータをモジュールに指定

Xenインストール時の注意

 Xenのインストール時に実行されるchkコマンド(checkディレクトリ下)は、ファイルセットをコピーした後に、インストール対象のシステム(走行しているシステム)が要件を満たしているかどうかをチェックします。この時点でNGになるとXenのインストールが完了しないように見えますが、展開したファイルのコピーそのものは完了しています。そのため、「きれいにインストールを終わらせたい」という人は、不足しているパッケージをチェックしてインストールする必要があります。

 不足しているパッケージをチェックせずにインストールを実施すると、以下のようなメッセージが表示されて終了します()。

Installing Xen from './install' to '/'...
All done.
Checking to see whether prerequisite tools are installed...
FAILED check_brctl
FAILED check_curl_lib
FAILED check_twisted
Checks failed. See /root/xen-2.0-install/check/.chkinstall for details.
All done.

注:ファイルのコピーは完了しているので、単にXenをブートするだけならば問題なくできてしまう点に注意してください。

Xenのブートと環境のチェック

 ここまで終了したら、いったんシステムをリブートしてみましょう。GRUBの画面(画面1)でXenのエントリを選んでブートします。

画面1 GRUBでXenを選択してブートする

 まず、最初にブートするカーネルで不具合がないかどうかをチェックします。筆者はシンプルな環境で検証を行ったこともあり、特に不具合はありませんでした。しかし、特殊なデバイスドライバなどを必要とするカーネルでは不具合が発生するかもしれません。できるだけ一般的な環境で試すことをお勧めします。

 参考までに、筆者の環境におけるdmesgコマンドおよびuname -aコマンドの結果を掲載します。基本的に、Xen 2.0.4が用意しているカーネルが出力するメッセージを確認できればよいでしょう。

Linux version 2.4.27-2-386 (horms@charles.lab.ultramonkey.org)  (gcc
 version 3.3.5  (Debian 1:3.3.5-6)) #1 Thu Jan 20 10:55:08 JST 2005
(以下略)
dmesgコマンドの出力の一部(ネイティブ環境) 全体を表示

Linux version 2.6.10-xen0 (xenod@labyrinth.cl.cam.ac.uk) (gcc version
 3.2.2 2003 0222 (Red Hat Linux 3.2.2-5)) 
#1 Fri Feb 4 13:14:24 GMT 2005
(以下略)
dmesgコマンドの出力の一部(Xen環境) 全体を表示

Linux xeno 2.4.27-2-386 #1 Thu Jan 20 10:55:08 JST 2005 i686 GNU/Linux
uname -aコマンドの出力(ネイティブ環境)

Linux xeno 2.6.10-xen0 #1 Fri Feb 4 13:14:24 GMT 2005 i686 GNU/Linux
uname -aコマンドの出力(Xen環境)

2/3

Index
仮想化技術の大本命「Xen」を使ってみよう
 〜 インストール & Debian環境構築編 〜
  Page 1
Xenを取りあえず動かしてみよう
 Xen 2.0の動作に必要なもの
 コラム:業界の注目を集めるXen
  Page 2
Xenのインストール
 インストールスクリプトの実行
 GRUBの設定
 Xenインストール時の注意
 Xenのブートと環境のチェック
  Page 3
新規ドメインの作成
 仮想マシン制御プログラムxendの起動
 新ドメイン用環境の作成
 Debian GNU/Linux(sarge)環境の作成

Linux Square全記事インデックス


 Linux Squareフォーラム 仮想化技術関連記事
連載:実践! Xenで実現するサーバ統合
有力な仮想化技術として注目を集めるようになった「Xen」。このXenを活用してサーバ統合を実践していく手順を具体的に紹介します
特集:サーバの仮想化技術とビジネス展開の可能性
jailからUML/VMwareまで
1台のマシンで複数のサーバを動かす「仮想化技術」。VMwareやUMLの登場により、WebサイトだけでなくOS自体を仮想化できるようになった
特集:仮想化技術のアプローチと実装
VMwareから要注目技術Xenまで

1台のサーバで複数の仮想マシンを実行する仮想化技術は、空間コストを引き下げる可能性を持つ。最新の仮想化技術を概観してみよう
特集:仮想OS「User Mode Linux」活用法
技術解説からカーネルカスタマイズまで
Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説
特集:仮想化技術の大本命「Xen」を使ってみよう
インストール & Debian環境構築編

高いパフォーマンスで本命の1つとなった仮想マシンモニタ「Xen」。日本語による情報が少ないXenを、実際に動かしてみよう
特集:仮想化技術の大本命「Xen」を使ってみよう
Xen対応カスタムカーネル構築編

Xen環境およびその上で動作する仮想マシン用カーネルを自分で構築しよう。これにより、自由にカスタマイズしたカーネルを利用できる
特集:IPv6、UML、セキュリティ機能の統合
全貌を現したLinuxカーネル2.6[第4章]

今回は、これまでに紹介し切れなかった機能を一気に紹介する。これを読めば、カーネル2.6の正式リリースが楽しみになるだろう
Linux Squareプロダクトレビュー VMware Workstation 4
PC/AT互換機エミュレータとして不動の地位を築いたVMware。その新バージョンがリリースされた。新機能を早速試してみよう
古くて新しい「サーバ仮想化技術」の行方
サーバ仮想化を実現するための技術がソフトウェア、ハードウェアの両面で出そろってきた。ハイパーバイザーのさらなる高速化に向けた動きを紹介する
Linux Squareフォーラム全記事インデックス


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間