引き続きXenの実験として、下図の構成の構築に挑戦しています。@msmです。

- 第1回 仮想化技術Xenを使ってみた。 ホストOS(Domain-0) CentOS 5 編
- 第2回 仮想化技術Xenを使ってみた。 ゲストOS(Domain-U) CentOS 4/5 編
- 第3回 仮想化技術Xenを使ってみた。 ゲストOS(Domain-U) Debian 4.0 前編
- 第4回 仮想化技術Xenを使ってみた。 ゲストOS(Domain-U) Debian 4.0 後編
実は、非HVM環境のCentOSのホストにDebianをゲストにする方法が見つからず、半年ほど悩んでおりました。悩んだ挙句の果てに気がついた方法が、Debianのホストを作成し、そのゲストにDebianを作成。そのディスクイメージファイルをCentOSのホストに移動し起動させるという方法でした。どいうわけで、第3回の今回は、ホストOS(Domain-O) Debian 4.0の設定方法と、ゲストOS(Domain-U) Debian 4.0のインストール方法を記載します。
注意事項
- 弊社専用サーバサービス内でのご利用を頂く場合は、セキュリティプラスプランまたはプロフェッショナルプランでのご契約をいただくか、Domein-U数分のIPアドレス追加をしていただく必要があります。
- 以下の作業はいかなる場合も自己責任でお願いします。
Domain-0 Debian 4.0の設定
- Debian 4.0 (etch)の準備
- Xen3のインストール
- Xenの設定
1、Debian 4.0 (etch)の準備
最新パッチ適用済みのetchがインストールされたハードウェアを用意します。メモリが256MB以上のi386系であれば同じハードウェアでなくても問題ありません。
今回はデータセンターダイレクトでの提供時と同等なDebian 4.0(最小構成でインストール)を用意しました。
2、Xen3のインストール
最小構成のDebian 4.0環境ではXenはインストールされておりませんので、aptを使ってインストールします。
apt-get install xen-linux-system-2.6.18-4-xen-686 libc6-xen xen-tools bridge-utils
3、Xenの設定
「/etc/xen/xend-config.sxp」ファイルの以下の二箇所を変更し、ネットワークが使えるようにします。
# /etc/xen/xend-config.sxp # (network-script 'network-bridge netdev=eth1') (network-script 'network-bridge netdev=eth1') #(network-script network-dummy) (network-script network-dummy)
Xenを有効にするため、再起動します。
# shutdown -r now
「xm list」と入力し、以下のように表示されればDomain-0の設定は完了です。
# xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 454 1 r----- 16.5
Domain-U Debian 4.0の設定
CentOSのvirt-installに匹敵するツール、xen-create-imageコマンドを利用してゲストのDebian 4.0をインストールします。
- 設定ファイルの編集
- xen-create-imageの実行
- Domain-U Debian 4.0の起動
1、設定ファイルの編集
「/etc/xen-tools/xen-tools.conf」を編集します。今回はetchを使いますが、sergeを指定すればsargeが入ります。さすがDebianです。
# vi /etc/xen-tools/xen-tools.conf #dir = /home/xen dir = /home/xen ・ ・ ・ #debootstrap = 1 debootstrap = 1 ・ ・ size = 4Gb # Disk image size. memory = 128Mb # Memory size swap = 128Mb # Swap size # noswap = 1 # Don't use swap at all for the new system. fs = ext3 # use the EXT3 filesystem for the disk image. #dist = sarge # Default distribution to install. dist = etch # Default distribution to install. ・ ・ ・ #gateway = 192.168.0.1 #netmask = 255.255.255.0 gateway = 192.168.0.4 netmask = 255.255.255.0 ・ ・ ・ #kernel = /boot/vmlinuz-2.6.16-2-xen-686 #initrd = /boot/initrd.img-2.6.16-2-xen-686 kernel = /boot/vmlinuz-2.6.18-4-xen-686 initrd = /boot/initrd.img-2.6.18-4-xen-686
ディレクトリ「/home/xen」がありませんので、作成します。
# mkdir /home/xen
2、xen-create-imageの実行
# xen-create-image --ip 192.168.0.4 --hostname debian4
大体30分~1時間でインストールが完了します。(ネットワークやハードウェアの環境によってはさらに時間がかかる場合があります)
3、Domain-U Debian 4.0の起動
「/etc/xen/debian4.cfg」が生成された設定ファイルですが、起動方法をCentOSと統一させる為、ファイル名を変更します。
# mv /etc/xen/debian4.cfg /etc/xen/debian4
早速、ゲストのDebian 4.0を起動し、コンソール接続します。
# xm create -c debian4
rootでログインします。初期状態ではパスワードがありません。
passwdコマンドでパスワードを作成します。
# passwd Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
長くなりましたので続きは後編でへ



1月 2nd, 2008 at PM 3:31
[...] (1 http://blog.dc-d.jp/archives/251.html [...]
9月 9th, 2008 at AM 12:11
CentOSにdebianのDOM-Uを載せる方法について、コピー以外にできました。
方法1:通常のインスト
普通にCDブートさせ空きパーティションにdebianをインストしブートローダはいれない。xenカーネルを入れる。リブートしCentOSからマウントしてカーネルをコピーしてOK。もしくは、ブートローダを該当パーティション(MBRじゃない)入れてpygrubをDOM0で指定ってのもできる。こっちがのがスマートかな。
方法2:debootstrap
特定パーティションにこのツールを使ってベースシステムをインストする。CentOSのyumには無いのでdebianのレポジトリから持ってくる。中身はスクリプトなのでdebパッケージをarで解凍して使用する。chrootして、xenカーネルをインストすればOK。もちろんGRUBを入れてpygrubも使える。
9月 12th, 2008 at AM 6:17
TAO様
コメントありがとうございます。@msmです。
方法1は、ご指摘の通りリブート(=ホストと他ゲストの停止)が必須となりますが、確実かつ簡単に入れたい方には、敷居が低くお勧めできますね。
方法2 debootstrapを使った方法は、Debian-Debianでは知っていましたが、CentOSでいけるのには驚きました。ホストも無停止でいけそうなので、機会があったら是非試して纏めてみようと思います。