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
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 &
ウィンドウが立ち上がるので使う.
正直インストールプロセスが重すぎて使えない.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