Xen4.0の導入-Xenハイパーバイザのインストール

コンピュータ関連のことを、出来る時に、出来ることだけ。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【Xen4.0の導入】の記事一覧へ




いよいよXenハイパーバイザをインストールします。

正確には、XenハイパーバイザとDomain0用のLinuxカーネルをビルド&インストールし、初期設定を行います(あってる?)。

インターネットに接続されている事が前提ですね。


1.パッケージのアップデート
まず、yumコマンドでインストールされているパッケージを最新にアップデートします。
# yum -y update



2.必要パッケージのインストール
Xenのビルドおよび稼働に必要なパッケージをインストールします。

必要なパッケージはREADMEファイルに書いてありますが、それだけではビルドが止まってしまったので、Try&Errorを繰り返して何とか判明。

yumコマンドでインストールしました。
# yum -y install acpid acpitool bridge-utils crypto-utils dev86 expat-devel gcc iasl libX11-devel mercurial ncurses ncurses-devel openssl openssl-devel python python-devel tetex-latex texinfo transfig uuidd virt-manager zlib zlib-devel


まとめてインストールすると、何故かmercurialだけエラーが出たので、個別にインストール。
# yum -y install mercurial


その後問題が出てないので、原因は追求してません。

その他gitが必要ですが、gitはCentOSのデフォルトのリポジトリには入ってないようなので、rpm-forgeのrpmをダウンロードしてインストール後、yumコマンドを実行します。


3.Xenのビルド
環境が整ったら、いよいよXenをビルドします。

wgetコマンドでソースコードをダウンロードし、解凍。
# wget http://bits.xensource.com/oss-xen/release/4.0.0/xen-4.0.0.tar.gz
# tar xvf xen-4.0.0.tar.gz
# cd xen-4.0.0


xenをビルドします。
# make world KERNELS="linux-2.6-xen"


ハイパーバイザと、Domain0、DomainU兼用のカーネルがビルドされます。
READMEによると、「KERNELS="linux-2.6-xen0 linux-2.6-xenU"」とすれば、Domain0専用、DomainU専用のカーネルを一度にビルドできるようですが、試していません。

KERNELS="linux-2.6-xen"引数なしでビルドすると、2.6.31.13のカーネルがビルドされます。
ビルドは成功しましたが、その後のmkinitrdでエラーが発生。
エラーを回避して無理やりinitrdを作成しましたが、kernel panicが発生して全く起動せず。
KERNELS="linux-2.6-xen"をつけてビルドされる2.6.18.8で、ようやく起動するようになりました。

なぜダメだったのかは不明。この辺理解しないといけないですね・・・


ビルド中、設定の問い合わせがありますが、全てデフォルトのままとしました。
理解が進んだら設定値も見直したいと思います。

Load all symbols for debugging/kksymoops (KALLSYMS) [Y/?] (NEW) y
Generic input layer (needed for keyboard, mouse, ...) (INPUT) [Y/?] (NEW) y
Mouse interface (INPUT_MOUSEDEV) [Y/?] (NEW) y
Keyboards (INPUT_KEYBOARD) [Y/?] (NEW) y
Serial I/O support (SERIO) [Y/?] (NEW) y
Virtual terminal (VT) [Y/?] (NEW) y
VGA text console (VGA_CONSOLE) [Y/?] (NEW) y
IP-over-InfiniBand debugging (INFINIBAND_IPOIB_DEBUG) [Y/?] (NEW) y
/proc file system support (PROC_FS) [Y/?] (NEW) y



エラーが発生せずにプロンプトに戻れば、ビルド完了です。


4.Xenのインストール
xenをインストールします。
# make install KERNELS="linux-2.6-xen"


完了したら、/bootにファイルが配置されていることを確認します。
# cd /boot
# ls -ltr


以下のファイルが作成されています。
・xen-syms-4.0.0
・xen-4.0.0.gz
・vmlinuz-2.6.18.8-xen
・config-2.6.18.8-xen
・System.map-2.6.18.8-xen
その他、シンボリックリンクが3つ作成されますが、すべてxen-4.0.0.gzへのリンクです。


5.initrdファイルを作成
initrd(初期RAMディスク)を作成します。
READMEに書いてある通りで問題ありません。

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



6.grubの設定
/boot/grub/grub.confを設定し、インストールされたハイパーバイザとLinuxカーネルから起動するように設定します。
# vi /boot/grug/grub.conf


(1)タイムアウト時間を変更
timeout 5

timeout 10

(2)起動時にカーネルを選択するメニューを表示
hiddenmenu

#hiddenmenu

(3)xenハイパーバイザから起動する設定
末尾に追加します。
title CentOS (vmlinuz-2.6.18.8-xen4.0)
root (hd0,0)
kernel /xen-4.0.0.gz dom0_mem=256M
module /vmlinuz-2.6.18.8-xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
module /initrd-2.6.18.8-xen.img

下線部でDomain0が使用するメモリ量を指定します。指定しないと、Domain0が常にメモリを最大まで利用してしまうようです。

「default」を変更すれば、起動時に選択せずともxenハイパーバイザから起動するようになりますが、正常に動くことを確認してからにします。


再起動し、grubで「CentOS (vmlinuz-2.6.18.8-xen4.0)」を選択します。

無事にCentOSが起動すれば、インストール成功です。


次は「3.xendの設定」です~
スポンサーサイト
この記事へのコメント
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
この記事のトラックバックURL
http://fukushimaya2.blog103.fc2.com/tb.php/4-85f2b4dd
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック

 | Copyright © ふたごパパのサーバ構築日記 All rights reserved. | 

 / Template by 無料ブログ テンプレート カスタマイズ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。