ちょっと、ちょっと、たまには技術的な事も書きなさいよ(by おすぎとピーコ)ではないが、以前から興味があった仮想環境Xenを自宅で試してみた。
倉庫に入れておいた、過去に自宅サーバーとして活躍してくれたミニタワーPCと2002年の正月に初めてカードで購入した液晶モニタを引っ張りだしてきて、、、初めて、自宅にPS/2キーボードが無い事に気付くもMacminiのUSBキーボードをサクッと認識してくれたからそれを使うことにする。
尚、Xenの詳細については自分が語っても信憑性がないので下記のようなサイトを参考にして頂きたい。
仮想化技術のアプローチと実装〜 VMwareから要注目技術Xenまで 〜
http://www.atmarkit.co.jp/flinux/special/vm/vm02.html
Xen
http://pocketstudio.jp/linux/?Xen
ここでは、ワタシの手元にあった環境にてXenを試した時のやったことをコピペ感覚で書いただけなので全く参考にならないことをご容赦頂きたい。
早速、ドメイン0環境(VMwareとかで言うところのホストOS)の構築から、、、。
今回はCentOS 4.3(CentOS-4.3.ServerCD-i386.iso)を利用した。
01.CentOSを最小インストール
02.yum update-checkしてアップデート出来るパッケージを確認
03.yum updateしてパッケージをアップデート
次に、Xen対応のカーネルを、、、。
01.iprouteがインストールされているか確認する
# rpm -qa | grep iproute
インストールされていなければインストールする。
# yum install iproute
02.sysfsutilsとbridge-utils、python-devのインストール
# yum install sysfsutils
# yum install bridge-utils
# yum install python-devel
03.Xenのソースコードを取得する
$ wget http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/xen-2.0.7-src.tgz
04.おもむろにmakeするが開発環境がインストールされていなかったのでこける。
$ make linux26
05.最小構成のCentOSに開発環境をインストールする
# yum groupinstall "Development Tools"
06.あらためてmakeする
$ make linux26
07.make installする
$ su
# make install
08.Xenカーネルでドメイン0を起動するべくinitrdを作成する
# /sbin/depmod 2.6.11.12-xen
# /sbin/mkinitrd /boot/initrd-2.6.11.12-xen.img 2.6.11.12-xen
※initrd(イニシャルRAMディスク)とは、、、
カーネル起動時に各種モジュールを読み込む処理などを行う為に、
用いられる一時的なルートディスクのこと、、、らしい。
09./etc/grub.confの設定
Xenカーネル、モジュールとしてドメイン0が起動するように、
ブートローダー(grub)の設定を行う。
# vi /etc/grub.conf
-------------------------------------------------------
title CentOS 4.3 Xen
root(hd0,0)
kernel /xen.gz dom0_mem=128000
module /vmlinz-2.6.11.12-xen root=/dev/hda3 ro console=tty0
module /initrd-2.6.11.12-xen.img
-------------------------------------------------------
10.サーバーの再起動を行う
# shutdown -r now
11.grubが起動したらXenカーネルを選択する
12.無事にログインプロンプトまで辿り付く
13.おもむろにuname -aをしてみる
$ uname -a

Xenカーネルで起動している、、、やったー、、、。
画像でごめんなさい。(理由は後述)
14.早速、Xenを起動してみる
# /sbin/services xend start
15.xendが起動しないばい、、、
# /sbin/services xend start
エラーメッセージを見ると、どうやら、
twisted.webがなんちゃらかんちゃらと言っているようだ、、、。
そういえば、twistedって入れたっけなーと思い出してみる。
うーん、CentOSの開発環境をインストールした際に、
インストールしたとばかり思っていたのだが、、、
16.twistedをインストールする
$ wget http://tmrc.mit.edu/mirror/twisted/Twisted/2.4/Twisted-2.4.0.tar.bz2
$ bunzip2 Twisted-2.4.0.tar.bz2
$ cd Twisted-2.4.0
$ cd TwistedWeb-0.6.0
$ python setup.py build
$ su
# python setup.py install
17.気を取り直してもう一度、、、
# /sbin/services xend start
これまでのエラーメッセージが出力されなくなった、、、。おお、もしかして。
18.xm listで状況を確認すると、、、。
# xm list

おお、ちゃんと、ドメイン0が起動している、、、。
また、また、画像でごめんなさい、、、。
ということで、ドメイン0の起動に無事成功したが下記の問題が未解決となっている、、、。
・eth0が立ち上がらないのでネットワークにつながらない、、、。
致命的な問題である。ネットワークに繋がらなければリモートからの設定が全く出来ない。原因は調査中なのであるが、/var/log/boot.logを見ると、、、
ifup: Device eth0 has different MAC address than expected, ignoring.
というメッセージが残っていた、、、。MACアドレス、、、。うーむ、、、。
最近のコメント