Database JUNKY

MySQL,MariaDBを中心としたブログです

CENTOS5.7にXEN SERVERをインストールする(ホストOS)

前まで、VMWAREのESXIだったのですが、ハードディスクがクラッシュしまった際、vmwareだと(知識がないので)ゲストOSを救いづらい状態に陥ったため、なんとなく、ファイルコピーでバックアップが済むようなハイパーバイザーをチョイスしました。CENTOS5がインストールされていることが前提での記載です。他のディストリビュージョンが動くかどうかは知りませんが、まあ大きく手順に違いはないのではないかと思っております。

以下インストール手順になります、はっきり言ってCENTOSさえインストールされているのであれば、即効で設定は完了します。

XENのインストール

[root@sqxen02 ~]# yum install xen kernel-xen virt-manager

GRUB.CONFの編集 XEN カーネルで起動するように設定、また、ここの環境だけかもしれませんが、Domain-0がメモリを食いつぶし、ゲストOSがまともに動かない状態になったことがあるので、512Mに固定しました

[root@sqxen02 ~]# cp /boot/grub/grub.conf /boot/grub/grub.conf.bak
[root@sqxen02 ~]# vi /boot/grub/grub.conf
[root@sqxen02 ~]# diff /boot/grub/grub.conf /boot/grub/grub.conf.bak
10c10
< default=0
---
> default=1
16c16
< kernel /xen.gz-2.6.18-274.18.1.el5 dom0_mem=512M
---
> kernel /xen.gz-2.6.18-274.18.1.el5

・ドライバモジュールの設定

[root@sqxen02 ~]# cp /etc/modprobe.conf /etc/modprobe.conf.bak
[root@sqxen02 ~]# vi /etc/modprobe.conf
[root@sqxen02 ~]# diff /etc/modprobe.conf /etc/modprobe.conf.bak
7d6
< alias scsi_hostadapter xenblk

カーネルの編集 xenカーネルでデフォルト起動するように設定します

[root@sqxen02 ~]# cp /etc/sysconfig/kernel /etc/sysconfig/kernel.bak
[root@sqxen02 ~]# vi /etc/sysconfig/kernel
[root@sqxen02 ~]# diff /etc/sysconfig/kernel /etc/sysconfig/kernel.bak
6c6
< DEFAULTKERNEL=kernel-xen
---
> DEFAULTKERNEL=kernel

・上記までの設定が済みましたら、一旦OSを再起動します

[root@sqxen02 ~]# shutdown -rf now

・再起動完了後、XENが正常に起動しているか確認します

[root@sqxen02 ~]# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 512 1 r----- 45.8
[root@sqxen02 ~]# xm uptime
Name ID Uptime
Domain-0

・結果的にホストOSの環境がどうなるかも併せて確認します このマシンは、8GBメモリが搭載されております。でも、512MBしか表記されていないのがわかるかと思います。

[root@sqxen02 ~]# df -m
Filesystem 1M-ブロック 使用 使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
895684 4169 845283 1% /
/dev/hdb1 99 28 67 30% /boot
tmpfs 256 0 256 0% /dev/shm
none 256 1 256 1% /var/lib/xenstored
[root@sqxen02 ~]# free -m
total used free shared buffers cached
Mem: 512 504 7 0 21 255
-/+ buffers/cache: 227 284
Swap: 9983 0 9983
[root@sqxen02 ~]# cat /etc/redhat-release
CentOS release 5.7 (Final)

・おまけ ホストOSとしてだけ使うのも勿体ないので、httpdを入れて、ゲストOSのインストールはhttpインストールできる環境も作ってしまいましょう!

[root@sqxen02 shell]# yum -y install httpd
[root@sqxen02 shell]# /etc/init.d/httpd start
httpd を起動中: [ OK ]
※あとは、/var/www/html/ にディレクトリ名を付けた(例えばcentos)とかインストールCDを丸々コピーすればよろしいかと、そしてGUESTOSのインストールで以下のように指定すれば、httpインストールできます

virt-install \
--paravirt \
--name=sqtmp02 \
--vcpus=1 \
--ram=512 \
--file=/var/lib/xen/images/sqtmp02.img \
--file-size=20 \
--location=http://192.168.0.98/centos \
--bridge=xenbr0 \
--nographics \
--nonsparse