2008/11/12

Xenインストール2:ドメイン0構築

Xenのインストール.
dom0を構築して起動するまで.


// 初期RAMディスクの作成
depmodで作成したカーネルモジュールの依存関係リストからmkinitrdで,起動用の初期RAMディスクを作成する.

# depmod 2.6.18.8-xen
# mkinitrd -v -f --with=aacraid --with=sd_mod --with=scsi_mod /boot/initrd-2.6.18.8-xen.img 2.6.18.8-xen

モジュールが足りていないためにmkinitrdが失敗する場合はLinuxカーネルからモジュールをコピーする.今回は
/lib/modules/2.6.xxx/kernel/drivers/
から
ata, message, scsi, usb
下にあるモジュールを
/lib/modules/2.6.xx-xen0/kernel/drivers/
にコピーした.

[設定確認(PAEが有効時のみ)]
menuconfigで
Processor type and features -> High Memory Support (4GB) ->
( ) off
( ) 4GB
(X) 64GB

になっていることを確認.


// パッケージ更新
Xenのデーモン(xend等)はpythonで書かれているので,
pythonをインストール/アップデートしておく.


// ブートローダの設定
/boot/grub/menu.lst
に下記を追加してXenを起動するようにする.
menu.lst は grub.conf へのシンボリックリンクになっている.

title Xen 3.3 / XenLinux 2.6.18.8
root (hd0,0)
kernel /xen.gz console=vga
module /vmlinuz-2.6.18.8-xen ro root=/dev/VolGroup00/LogVol00 rhgb console=tty0
module /initrd-2.6.18.8-xen.img

※rootのパスは環境により異なる.この場合はLVMを使っている. /etc/fstab を見ればルートのパスが書いてある.カーネルモジュールの場所が通常のカーネルと同じならroot指定をコピペすればおっけー.XenのREADME通りにパスを設定すると動かないので要注意.
※カーネル,モジュールの指定はパーティションの定義によって異なる./boot が定義されていれば/boot からのパスを書くが,定義されていない場合は /boot を含む絶対パスを書く.
/boot が定義されているかは menu.lst のコメントを見ればわかる.

[捕捉]
FDDが無いときBIOSで有効になっていると,ゲストOS起動中に下記のエラーが出て起動に時間がかかる.
end_request: I/O error, dev fd0, sector 0
よって,FDDが無い場合はBIOSでFDDを無効にしておいた方が良い.



ここで一旦再起動する.



// Xenツール
xenが起動してdom0が立ち上がったものの,xendが起動できない.

下記コマンドを実行してからXenツールをリビルドするとうまくいくよ.
という記事を発見したので早速やってみる.


$ rm -fr /usr/lib/python/xen/
$ rm -fr /usr/lib/python2.5/site-packages/xen/

$ cd [Xenソースを展開したディレクトリ]/xen-[version]/tools
$ make
$ make install


// xendの起動・設定
# xend start
# xm list
# chkconfig xend on

ドメインのリストが出た!!
というわけで,無事にdom0とxendが動きました.めでたしめでたし.
次はdomUを作成して動かします.


// Reference
xen-3.2のインストール手順
Xen3.0環境構築中のエラー
Xen環境作成メモ(その2)

0 件のコメント: