Xen - CentOS5環境に導入したXenにCentOS仮想マシンを導入する

DomainUに対してインストールメディアを割り当てる場合、URLでの指定しかできない。よって、Webサーバを用意してインストールCD/DVDドライブをhttp経由で認識させられるように準備する。私の場合はなんといっても手元のPCがMac Bookなので、Mac OSのWeb共有を有効化するだけでApacheの準備OK(^_^;)!CentOSはDVDイメージファイル(.iso)しかないが、MacOS Xの場合はDiskImageMounterが標準であるのでこれも問題なし。
Mac OS XにISOファイルを溜め込んでいるUSB HDDストレージを接続(実はこれはTime Machine用でもある)、その中にあるISOファイルを選択し、DiskImageMounterでマウントする。続いてマウントしたパスを確認。これはターミナルでmountコマンドを打つのが一番手っ取り早い。

Pipoco:usr takao$ mount
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local)
fdesc on /dev (fdesc, union)
map -hosts on /net (autofs, automounted)
map auto_home on /home (autofs, automounted)
/dev/disk1s2 on /Volumes/Time Machine バックアップ (hfs, local, nodev, nosuid, journaled)
/dev/disk2 on /Volumes/CentOS_5.1_Final (cd9660, local, nodev, nosuid, read-only, noowners, mounted by takao)

一番最後の"/Volumes/CentOS_5.1_Final"がマウントパスだ。
MacOS X Leopardに標準で搭載されているApache2.2の設定ファイルは"/etc/apache2/httpd.conf"にある。このファイルを直接編集してもいいが、"/etc/apache2/users/"フォルダ配下にある[ユーザ名].confファイルもApacheの起動時に読み込まれるので、そちらにAliasを追記。

Alias /CentOS/ "/Volumes/CentOS_5.1_Final/"

    Options Indexes FollowSymlinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all

定義ファイルの保存を行った上でApacheを再起動し、"http://[MacIPアドレス]/CentOS/"でマウントしたイメージファイルのパスがWebブラウザで参照できればOKだ。
ちなみに、MacOS XでのApacheの再起動はこんなかんじで。

Pipoco:apache2 takao$ /usr/sbin/apachectl restart

…で、やっとこれでインストールメディアのためのURLパスの準備が済んだので、ここからDomainUの作成という本題に入る。
まずはお約束のサービス動作確認を実施。

[root@XenCentOS ~]# service xend status
xend is running

XenのDomainU導入に際して事前に決めておかなければならない情報は以下の通り。

今回はこんなかんじでいってみるかな。

仮想マシン VM_CentOS_1
割り当てるメモリサイズ 256MB
仮想マシンイメージファイルのパス /var/xen/vm_centos_1.xenvm
イメージファイルのサイズ 4GB

CentOSでの仮想マシンの作成には、"virt-install"を使う。念のため書いておくけど、あまりにもメモリ量が少ないと仮想マシンの作成ができないのでご注意を。

[root@XenCentOS ~]# virt-install --nographics
What is the name of your virtual machine? VM_CentOS_1
 How much RAM should be allocated (in megabytes)? 256
 What would you like to use as the disk (path)? /var/xen/VM_CentOS_1.xenvm
 How large would you like the disk (/var/xen/VM_CentOS_1.xenvm) to be (in gigabytes)? 4
 What is the install location? http://172.16.108.1/CentOS/

こんなかんじでパラメータを入力すると、インストール処理が始まる。"nographics"オプションを付けているので、ゲストOSのインストールはテキストモードで。後の手順はまったく普通の物理マシンへのCentOSの導入手順と変わらない。
仮想マシンの作成完了後、仮想マシンを起動するには"xm"コマンドを使用する。
上記で作成した"VM_CentOS_1"仮想マシンを起動するには、以下の通り。

[root@XenCentOS ~]# xm create -c VM_CentOS_1

コンソールが仮想マシンに切り替わり、起動プロセスが表示される。Domain0のコンソールに戻るには、"Ctrl"+"]"を押すことによって戻ることが出来る。Domain0が動作している状態で"xm"コマンドで確認すると、DomainUとして"VM_CentOS_1"が動作していることがわかる。

[root@XenCentOS ~]# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0     1242     1 r-----    443.8
VM_CentOS_1                                3      255     1 -b----     37.4

DomainUのコンソールに戻るには、同じく"xm"コマンドを使用する。
すでに起動済みの"VM_CentOS_1"仮想マシンのコンソールに戻るには、以下の通り。

[root@XenCentOS ~]# xm console VM_CentOS_1

なお、仮想マシンのシャットダウンは通常のOSと同様の方法で行うことが可能だが、"xm"コマンドでもシャットダウンを行うことが出来る。
"VM_CentOS_1"仮想マシンを"xm"コマンドを使用してシャットダウンするには、以下の通り。このコマンドによりシャットダウンを実行した場合でも、正常なシャットダウンプロセスが実行される。

[root@XenCentOS ~]# xm shutdown VM_CentOS_1