CentOS5.5でXen3.4.2を簡単に動かす

rx72010-05-24


CentOS 5系の「Xen」は未だバージョン3.0.3。RedHatはXenのサポートを打ち切ってKVMに行こうとしていますが、もうしばらくXenを使い続けたいケースもあるでしょう。
ということで、我が家の検証マシンも、新しい機能を試してみたいということで、Xenのバージョンを3.4.2へあげてみることにしました。
# なんでXenServerでないのかは、まぁ置いておいて・・・。

やり方

もちろん、ソースコードをダウンロードしてきて、コンパイルあれこれ、をしても良いわけですが、いかんせん面倒&管理が煩雑になってしまうため、ここは http://www.gitco.de/repo/ で公開されているパッケージを利用したいと思います。(公開いただいている作者様に感謝!)
(尚、 http://www.gitco.de/repo/ には、testingの記載がありますが、Xen4.0についても準備されています。)

# cd /etc/yum.repos.d/
# wget http://www.gitco.de/repo/CentOS5-GITCO_x86_64.repo
# yum clean all
# yum update

まずは、yumリポジトリのリストを追加し、その後、"yum update"を走らせます。

Transaction Check Error:
  file /usr/share/libvirt/schemas/capability.rng from install of libvirt-client-0.7.0-6.el5.x86_64 conflicts with file from package libvirt-0.6.3-20.1.el5_4.i386

・・・以下省略・・・

私の環境では、上記のようなエラーが発生。
libvirtパッケージまわりでコンフリクトが発生している。ということで、、、

# rpm -e libvirt --allmatches --nodeps

i386とx86_64の両パッケージが存在/依存関係などで、rpmパッケージが消せなかった場合の対処」を参考に、libvirtパッケージを一旦削除。(新旧バージョン共に)

# yum install libvirt

libvirtパッケージをインストールし直して、、、

# yum update

再度、"yum update"で、パッケージ全体(特にXenまわり)のアップデートを実施して完了。
OSを再起動して、Xen3.4.2対応されたカーネルでブートしましょう。

# xm dmesg
 __  __            _____ _  _    ____
 \ \/ /___ _ __   |___ /| || |  |___ \
  \  // _ \ '_ \    |_ \| || |_   __) |
  /  \  __/ | | |  ___) |__   _| / __/
 /_/\_\___|_| |_| |____(_) |_|(_)_____|

(XEN) Xen version 3.4.2 (root@gitco.tld) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)) Wed Nov 11 21:16:28 CET 2009

こんな感じで、Xen3.4.2の環境が、CentOS 5系でお手軽に構築(バージョンアップ)できました。

Xenの各バージョンのリリースノート

以下リンク先の各バージョンのリンクから確認できます。(ソースコードも)