ubuntu 7.04の配付が開始されたので、Xenを試してみました。
空いていたamd64なPCに7.04 x86_64版のDesktopを導入してから、とりあえずいくつか必要そうなパッケージをapt-getで導入しました。
$ sudo apt-get install bridge-utils xen-tools xen-utils xen-image-2.6.19-4-generic-amd64
まずはイメージの作成
Webサイトを参考にしつつ、導入されているxen関連と思われるパッケージからコマンドを探って行きました。
まず眼をつけたのが"xen-create-image"コマンド。
manで調べると、"xt-install-image", "xt-customize-image", "xt-create-xen-config"の処理をまとめてくれるらしい。
とりあえず試すだけなので、イメージの作成はこれを使うことにしました。
manを見ながらも、足りないオプションは催促されるので、出力されるメッセージを良く読むこと。
$ sudo xen-create-image --hostname xen01 --debootstrap --ip 192.168.1.8しかし、このままだと/boot以下にカーネルイメージがないといったエラーがでてしまう。 どうやら /etc/xen-tools/xen-tools.conf のデフォルト指定が /boot 以下にないファイルを指定しているようだったので、この中の"kernel="と"initrd="の指定先にapt-getで導入したxen用のイメージを指定する。
kernel = /boot/vmlinuz-2.6.19-4-generic-amd64
initrd = /boot/initrd.img-2.6.19-4-generic-amd64
この状態ではまだ"xen-create-image"がエラーになる。xen-tools.confで"dir = "の指定がないと失敗するようです。
ここまでで作成したxen-tools.confの内容。
$ sed -e '/^#/d' -e '/^$/d' /etc/xen-tools/xen-tools.conf
dir = /home/xen
size = 4Gb # Disk image size.
memory = 128Mb # Memory size
swap = 128Mb # Swap size
fs = ext3 # use the EXT3 filesystem for the disk image.
dist = etch # Default distribution to install.
image = sparse # Specify sparse vs. full disk images.
kernel = /boot/vmlinuz-2.6.19-4-generic-amd64
initrd = /boot/initrd.img-2.6.19-4-generic-amd64
mirror = http://ftp.us.debian.org/debian/
これで再び"xen-create-image"を指定する。
今度は最後まで実行され、無事にイメージが作成できたようだ。
続いてブート
"xen-create-image"コマンドに"--boot"オプションを指定すれば、そのまま起動するようだったけれど、手動で起動してみる。 手動の方法はXenについての古いドキュメントを参考にした。
$ sudo xm create -c /etc/xen/xen01.cfg ... Error: Device 0 (vif) could not be reconnected. Hotplug scripts not working.最後のエラーはまったく困ってしまった。
いろいろ調べてみると、どうやらvifはネットワークをブリッジさせるために使われるという事がわかった。 このメッセージの対処方として、"bridge-utils"をapt-getで導入する、というものがあった。 既に入っているというのに困ったな…。
ネットワーク回りの設定
もう少し"vif"を調べてみると、/etc/xen/xend-config.sxpファイルにbridge networkについて設定があるらしい。 さっそく調べてみると、ascii artでnetwork bridgeの説明がある。 うーん、そっか僕のPCにはNICが合計で3枚付いているから、eth0が普通の役割を果していないんだ。
さっそく設定を変更する。どうやらこれはリスタートで反映されるらしい。 いやxend-config.sxpファイルをみていると、いろいろできそうだから、反映の方法はあるんだろうな。
### (network-script network-dummy)
(network-script network-bridge)
(network-script 'network-bridge netdev=eth2')
再び起動
さて気をとりなおして、起動してみる。
$ sudo xm create -c /etc/xen/xen01.cfg
Debian GNU/Linux 4.0 xen110 tty1 xen110 login:これで、ひとまずは成功かな。 IDはrootでパスワードなしでログインができます。
0 件のコメント:
コメントを投稿