Xenをはじめて使ってみた
Xenをはじめて使ってみました。構築しているあいだ、ずっと「セン」と読んでいたのだけど「ゼン」と読むらしい。
Xenを使って、一台のサーバ上にふたつのOSを立ててそれぞれmaster、slaveのDBサーバにしてみました。ちなみにDomain0、DomainUともにOSはcentOS5.2を使います。
1.Xenのインストール
yum -y install kernel-xen xen
2./etc/grub.confのdefaultでXenカーネルを指定する。この例では2番目がXenなので、「1」を指定(最初なら0)。ついでに、ここでDomain0に割り当てるメモリ容量も指定します。kernelのところで最後にdom0_memで指定しているところがそうです。今回は128Mにしました。
default=1
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-92.1.10.el5)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-92.1.10.el5 ro root=/dev/md0
initrd /boot/initrd-2.6.18-92.1.10.el5.img
title CentOS (2.6.18-92.1.10.el5xen)
root (hd0,0)
kernel /boot/xen.gz-2.6.18-92.1.10.el5 dom0_mem=128000
module /boot/vmlinuz-2.6.18-92.1.10.el5xen ro root=/dev/md0
module /boot/initrd-2.6.18-92.1.10.el5xen.img
3.再起動してunameなどでXenで機動していることを確認したら「xm list」で状態確認。
[root@silver ~]# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 125 1 r----- 2052.2
4.DomainUの作成
virt-install
ここでDomainUの識別名や割り当てるリソース、インストール先となるイメージファイル、インストールパッケージの取得先などを指定します。都度、表示される質問に答えれば設定できるので簡単です。
5.DomainUのOSのインストール
あとは通常のインストーラが機動します。
6.自動起動の設定
DomainUへのインストール後は、「xm create -c 識別名」でそれぞれのOSを起動できます。サーバの起動時に各DomainUも起動したいときは、/etc/xen/autoディレクトリの下に/etc/xenディレクトリ下にある各DomainUの設定ファイルのリンクを置きます。
ln -s /etc/xen/db1 /etc/xen/auto/db1
これで再起動すればauto下にリンクを置いたDomainUも自動で起動するようになります。起動しないときは、設定ファイルの中に以下の行を追加してみます。
vnc = 1
sdl = 0
これだけです。けっこう簡単でした。各DomainUはcoLinuxみたいにイメージファイルなので、他のハードウェアに移すことも簡単ですね。
というわけで、kaeruspoonのDBサーバはXenで構築しました。DBの振り分けはacts_as_readonlyableで対応。簡単すぎる。