萩萩日記

世界に5人くらい存在するかもしれない僕のファンとドッペルゲンガーに送る日記

Xenで仮想化に挑戦

カーネルも2.6になったことだしと、ちょっと前から試してみようと思っていたXenに挑戦してみることに。http://www.atmarkit.co.jp/flinux/special/xen01/xen01.htmlを参考にしようと思ったのだけど、「Gentoo」と「Xen」で検索したらhttp://nekhet.ddo.jp/blog/4/catid/57が見つかったのでこちらを参考に。「続きを読む」でちゃんと続き読まないとミスりそう。

# emerge -Duv iproute2 bridge-utils curl
# ACCEPT_KEYWORDS="~x86" emerge -v ">=dev-python/twisted-1.3.0"

twistedの2.0がインストールされそうになり、コンパイルエラーが起きて失敗。

# ACCEPT_KEYWORDS="~x86" emerge -pv "=dev-python/twisted-1.3.0"

必要なパッケージのインストールができた。

# rc-update add bridge default

で、Xenのバイナリ版をインストールしてみる。

# cd /usr/local/src
# wget http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/xen-2.0.5-install.tgz

# pwd
/usr/local/src/xen-2.0-install
# ./check/chk install
# view .chkinstall

なんか上記ブログに書いてあるのとは.chkinstallの場所が違うような。でも中身も違うような。よくわかんないのでとりあえず次へ。

# mount /boot/
# ./install.sh
Installing Xen from './install' to '/'...
cp: cannot overwrite non-directory `/usr/man' with directory `./install/usr/man'
All done.
Checking to see whether prerequisite tools are installed...
All done.

なんかエラーになってるけど気にせず次へ(こればっか)。Xen用の設定をgrub.confに書く。

# vi /boot/grub/grub.conf
title=Xen
kernel /boot/xen.gz dom0_mem=128000
module /boot/vmlinuz-2.6.10-xen0 root=/dev/hdb3 ro console=tty0

再起動。

再起動したところ当然ながらnvidiaカーネルモジュールが見つからずXが起動しない。仕方ないので妻のWindowsマシンから入って作業を続ける。妻が帰宅するまでに終わらねば。

# mkdir /home/xen
# cd /home/xen/
# wget http://jaist.dl.sourceforge.net/sourceforge/xen/ttylinux-xen.bz2
# bzip2 -d ttylinux-xen.bz2
# cp /etc/xen/xmexample1 ./ttylinux.conf
# vi ttylinux.conf

と、ここで設定ファイルを書こうとして、

diskは、物理あるいは仮想ディスクを指定する。「file:/home/xen/ttylinux-xen」は、 /home/xen/ttylinux-xenを仮想ディスクとする指定。次の「sda1」は、その仮想ディスクに割り当てるデバイス名。未使用のデバイス名にすること。その次の「w」は書き込み可ということ。

ということに気がつく。なんだ。空きパーティションが必要ってことかな。じゃーやめた(弱)。

というわけで、志半ばでインストール終了。ちゃんと説明読んでから始めないとねって感じですね。ちなみにXenインストーラでインストールした各種ファイル、アンインストーラとかないので手動で削除する必要あり。とはいえ、

#pwd
/usr/local/src/xen-2.0-install/
## find install
install
install/lib
install/lib/modules
install/lib/modules/2.6.10-xenU
install/lib/modules/2.6.10-xenU/source
install/lib/modules/2.6.10-xenU/kernel
install/lib/modules/2.6.10-xenU/kernel/lib
install/lib/modules/2.6.10-xenU/kernel/lib/libcrc32c.ko
install/lib/modules/2.6.10-xenU/kernel/fs
install/lib/modules/2.6.10-xenU/kernel/fs/fat
(以下、略)

てな感じで、何を消せば良いかはすぐにわかるので、カンタンといえばカンタン。