Xen4.0をFedora14にインストールする

Xen の Live Migration 実験用に Xen 環境を整えた.せっかくなので最新の Xen 環境を構築してみた.

環境

Hardware ThinkPad X61
CPU Intel(R) Core(TM)2 Duo CPU L7500 @ 1.60GHz
Memory DDR2-667 (PC2-5300) 1GB x2
OS Fedora Core 14 (2.6.35.6-46.fc14.i686)

0.Intel VT の確認.

Intel VT が使えるか確認する.通常のカーネルでは /proc/cpuinfo の flag に vmx があれば使える.

# grep vmx /proc/cpuinfo

既に Xen カーネルで立ち上がっている場合は,以下の情報で hvm-* があるか確認する.

# cat /sys/hypervisor/properties/capabilities
xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p

BIOS のメニューで Intel VT を有効にする.

1.必要なパッケージのインストール

# yum groupinstall "Development Libraries"
# yum groupinstall "Development Tools"
# yum install transfig wget texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel bzip2-devel pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial
yum install glibc-devel.i686

2.Xen のビルド

http://pasik.reaktio.net/fedora/Xen のソース RPM が公開されているので wget で取得する.

# wget http://pasik.reaktio.net/fedora/xen-4.0.1-6.fc14.src.rpm

RPM を展開する.

# rpm -ivh xen-4.0.1-6.fc14.src.rpm

ホームディレクトリに rpmbuild というディレクトが作成され,SPEC ファイルが置かれるので,ビルドを行う.

# rpmbuild -bb ~/rpmbuild/SPECS/xen.spec

RPM ができあがるのでインストールする.

# ls
xen-4.0.1-6.fc14.i686.rpm             xen-devel-4.0.1-6.fc14.i686.rpm  
xen-hypervisor-4.0.1-6.fc14.i686.rpm  xen-licenses-4.0.1-6.fc14.i686.rpm
xen-debuginfo-4.0.1-6.fc14.i686.rpm   xen-doc-4.0.1-6.fc14.i686.rpm    
xen-libs-4.0.1-6.fc14.i686.rpm        xen-runtime-4.0.1-6.fc14.i686.rpm
# rpm -ivh ~/rpmbuild/RPMS/i686/xen-*

3.仮想化パッケージをインストールする

# yum groupinstall Virtualization

libvirt, qemu-kvm, virt-manager, virt-viewer がインストールされる.

4.Dom0 カーネルのインストール

# yum install --enablerepo=dom0-kernel --disablerepo=updates,fedora kernel-PAE

64-bit CPU だと -PAE は必要ない.

5.grub の設定

/boot/grub/menu.lst を編集する.既に似た様な設定が入っているが少し変更する必要がある.下のものをコピペしてはダメ(LVの設定が違う).

title Fedora 14 Beta Xen 4.0.1-6 (2.6.32.23-170.xendom0.fc12.i686.PAE)
	root (hd0,2)
	kernel /xen.gz dom0_mem=512M loglvl=all guest_loglvl=all
	module /vmlinuz-2.6.32.23-170.xendom0.fc12.i686.PAE ro root=/dev/mapper/vg_enoch-lv_root rd_LVM_LV=vg_enoch/lv_root rd_LVM_LV=vg_enoch/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=jp106 rhgb quiet
	module /initramfs-2.6.32.23-170.xendom0.fc12.i686.PAE.img

6.リブートする

# reboot

7.他のマシンから SSH でログインし Virtual Machine Manager を使う

他のマシンから X を有効にして SSH でログインする.

$ ssh -X root@xen.example.com

Virtual Machine Manager を起動する.

# virt-manager &

ウィンドウが立ち上がるので使う.

http://www.yuyarin.net/screenshot/20101027025929.png

正直インストールプロセスが重すぎて使えない.Load Average が 15 を超えるのがザラで,xend, quem-dm, irqbalance, ksoftirqd/0, events/0, python なんかが CPU を食いまくる.ISO と Disk イメージが両方共 NFS にある時は悲惨で,重すぎてコンソールも固まり,TCP のセッションは切れて ping にも反応しなくなる.CPU が非力すぎるのだろうか.

Ubuntu で debootstrap を使ったときはインストールが楽で問題もなかった.Ubuntu 10.10 からは Xen がサポートされなくなったので*1今回はFedoraを使った.Xenの開発にFedoraが良く使われているということなので良さそう.

ハングしたときにはこんなエラーがたくさんでる.cpu stuck はカーネルのエラー.iwlagn は Intel 無線チップのエラーなので無効にしたらエラーは出なくなった.

BUG: soft lockup cpu #0 stuck for ~~ms
iwlagn: Microcode SW error detected. Restarting 0x82000000.
START_ALIVE timeout after 4000ms
Error sending POWER_TABLE_CMD: time out after 580ms
set power fail, ret = -10
Error sending RXON:
Error setting new RXON -110

*1:カーネルのキャッチアップが遅いという理由.