Gentoo Linux + Xen 4.0に乗り換える(3): Xen 4.1が出ました


 前回「次はdomUのインストール」と書いていたら、 Xen 4.1 がリリースされていた。

 Xen 4.1でのupdateは公式リリースノートにもあるが、 Xen 4.0 → 4.1 ではまりそうなポイントは「A re-architected and improved XL toolstack that is functionally nearly equivalent to XM/XEND.
」になる。要は新しく xm に似たツールとして xl というのができたのだが、 xm と xl で共通で使う部分は xend から切り離されて xenstored と xenconsoled などからなる xencommons というものになった。基本的に、起動時に xencommons を起動していれば、 xl ツールを使うことができる。

 nearly equivalent to XM/XEND とあるとおり、xlを使うならxendは不要になる。だが、xmを使い続ける限り、当然ながらこれまでと同じくxendは必要になる。そこで同じように起動時にxendを立ち上げるのだが、xlと共通部分はxencommonsにまとめられているので、xendを起動する前にxencommonsを起動する必要がある。Gentooベースに限らず、「Xen 4.1にしたらxendが起動しなくてxm createできない!」というケースは、ほぼ xend を起動する前に xencommons を起動していないのが原因だと思う。
 Gentoo的 には、

rc-update add xencommons default
rc-update add xend default

でよい。Gentoo の init スクリプトは依存関係を書かない限り ABC 順に実行されるのでこれでも問題はないのだが、 /etc/init.d/xend 内で xencommons の後に実行されることが担保されているわけではない。これが気になる場合は

*** xend.orig	2011-03-31 13:41:11.257856005 +0900
--- xend	2011-03-31 13:41:20.291675149 +0900
***************
*** 7,12 ****
--- 7,13 ----
depend() {
need net
+ 	after xencommons
before xendomains sshd ntp-client ntpd nfs nfsmount rsyncd portmap dhcp
}

このパッチを当てておけばいいはず。

 また、Gentooの app-emulation/xen-tools-4.1.0 に含まれる /etc/init.d/xencommons は、オリジナル配布物のままで Gentoo の runscript 準拠のものではない。問題がないといえばないのだが、気になるのであればオリジナル配布のものを修正して runscript っぽく書き換えたので、これを使えばよい。

 次からインストール手順に戻るが、Gentoo + Xen 4.1 準拠で書いていきたい。