2008/10/05

CentOS 5.2にXenを導入

先日OSC 2008 Tokyo fallに行ってきました。
土曜日は元気がなくて参加できなかったのが残念でした。
やはり刺激になりますね、ああいうイベントは。
しかし、最近企業さんが増えましたね。
初めて行ったときはほとんどいなかった気が…。


この前図らずも2台ほどサーバを手に入れたのでそこにXenを導入してみたいと思います。
下記が導入するマシンのスペックです。
型名NEC Express5800/110Eh
CPUIntel Pentium4 3GHz
Memory2.25GB
HDD250GB(ATA)
OSCentOS 5 32bit
すでにCentOS 5はインストール済みです。
ちなみにPentium 4なのでIntel-VTは搭載されていません。
そこにyumを使ってXenをインストールします。

# yum groupinstall Virtualization


これで仮想化関連のパッケージがインストールされます。
次に、再起動をしXen用のカーネルを読み込むのですが、GRUBの設定を変更してXen用のカーネルがデフォルトで起動するようにします。
/etc/grub.confのdefaultを1から0に変更します。
編集後は以下のようになっているはずです。

default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-92.1.13.el5xen)
root (hd0,0)
kernel /boot/xen.gz-2.6.18-92.1.13.el5
module /boot/vmlinuz-2.6.18-92.1.13.el5xen ro root=LABEL=/
module /boot/initrd-2.6.18-92.1.13.el5xen.img
title CentOS (2.6.18-92.el5)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-92.el5 ro root=LABEL=/
initrd /boot/initrd-2.6.18-92.el5.img


/etc/modprobe.confにalias scsi_hostadapter xenblkを追記します。
これはどうやら仮想ディスクを読み込むための記述らしいです。
# よくわかってません…orz
デフォルトのカーネルを変更するために/etc/sysconfg/kernelのDEFAULTKERNELをkernelからkernel-xenに変更します。

再起動し、Xen用のカーネル(2.6.18-92.1.13.el5xen)で立ち上がってるかuname -aなどを利用して確認します。
xendを立ち上げ、再起動後も立ち上がるように設定します。

# /etc/init.d/xend start
xend を起動中: [ OK ]
# chkconfig xend on


次に、ゲストOS(DomainUというのか)を作成します。
今回はFull-Virtualizationが利用できないので、おのずとPara-Virtualizationに対応したOSしか使うことができません。
インストールにはvirt-installコマンドを使います。

# virt-install --nographics --file=/tmp/hoge
 仮想マシンの名前は何ですか? CentOS5_test
 どれだけの RAM を割り当てますか (メガバイト単位で)? 256
 どの位の大きさのディスク (/tmp/hoge) にしたいですか(ギガバイト単位で)? 10
 インストール場所は何ですか? http://mirror.centos.org/centos/5/os/i386/


virt-installのオプションの--nographicsはテキストモードでインストールを行い、--fileはDomainUのディスクイメージの保存先を指定します。
いくつかの質問に答えると、インストールが開始されます。
あとは通常通りにインストールするだけです。

ちなみにインストール元の指定はhttp、ftp、nfsが可能で、指定した先にimages/xen/があることが条件です。
CentOS5以降とFedora6以降はimages/xenディレクトリが存在したので、直接指定することが可能です。

インストール後、DomainUのコンソールから抜けるにはCtrl+]を押します。
DomainUのコンソールに入るにはxm console コマンドです。


やってみた感じですが、思った以上に簡単に扱えるのですね。
「Para-VirtualizationだとOSにいろいろパッチみたいの当てて面倒なんだろうなぁ」と勝手に思い込んでいたのですが、ここまで簡単だとは。
あとはCobblerと連携させればインストールも楽になれそうな気がするので、今度やってみます。

参考サイト

0 件のコメント: