2007/05/08

FC5のDom0上で、CentOS5のDomUを動かす

タイトルの通り、FC5で動いているDom0上で、CentOS5のDomUを動かす方法。CentOSは、Red Hat Enterprise Linux互換なので、おそらくRHEL5でも同様だと思う(試してないが)。
#CentOS5のDom0上でCentOS5のDomUを動かす方法は『CentOS 5でXenを使ってみる』を参照。

結論を言うと、FC5/Dom0の方に、パッケージkernel-xen0ではなく、kernel-xenをインストールすればよい。FC5のkernel-xen0は、PAE(Physical Address Extension: 4GB以上の物理メモリにアクセスできる技術)に対応していないが、CentOS5のDomUのカーネル(こちらもパッケージ名はkernel-xen)はPAEに対応している。Dom0とDomUのPAE対応に齟齬があるとDomUが立ち上がらない。

なお、2007.5.8(火)現在、FC5のkernel-xen最新版は2.6.20-1.2316だが、どうも2.6.20系はバグが多いらしく、安定動作しないようだ。手元の環境では、2.6.19-1.2288.2.4を使用した。

なお、Dom0をPAE対応に変更すると、それまで動いていたPAE非対応のDomUが動作しなくなる。FC5/DomUであれば、kernel-xenUで動作しているものがそれに当たる。この問題を回避するには、このDomUにPAE対応のカーネルをインストールすればよいが、注意を要する点がある。
例えばFC5では、kernel-xenUは、仮想ディスクのドライバがカーネル本体に組み込まれていた。一方、kernel-xenでは明示的にこれをドライバモジュールとしてロードする必要がある。ロードしなければディスクにアクセスできないため、DomUが立ち上がらない。次のように作業すればよい。
  1. PAE非対応のDom0(FC5ならkernel-xen0)上でPAE非対応のDomU(FC5ならkernel-xenU)を起動し、DomUの/etc/modprobe.confに以下の行を追加する。
    alias scsi_hostadapter xenblk
  2. PEA対応のカーネルをインストールする(FC5ならkernel-xen)。
    # yum install kernel-xen
  3. DomUを停止。
    # shutdown -h now
    (もしくは、Dom0上で`xm shutdown マシン名')
  4. PAE対応のDom0(FC5ならkernel-xen)上で
    # xm create マシン名
    を実行し、DomUを起動。


なお、今後、パッケージを更新した場合にkernel-xen[0U]でなくkernel-xenがデフォルトで起動されるようにするために、/etc/sysconfig/kernelを編集した方がよいだろう。このファイル中で、
# DEFAULTKERNEL specifies the default kernel package type
DEFAULTKERNEL=kernel-xenU
となっている部分を
# DEFAULTKERNEL specifies the default kernel package type
DEFAULTKERNEL=kernel-xen
に変更する。

0 件のコメント: