引っ越しやら転職やらで忙しくしていたので、7.04のXenサーバーは使わなくなっていました。そこでまっさらなPCにUbuntu 8.04 Server amd64版を入れたところにXenを構成してみました。リリースされて随分経つのでUbuntu 8.04でXenを稼働させる事には大勢の先達がいらっしゃいます。
今回はその試行錯誤の結果を利用させてもらい、非常に簡単に立ち上げる事ができました。ほんの少しだけ自分なりの工夫を入れてXenでゲストOSを立ち上げる過程のメモを残します。
Ubuntu 8.04 Server amd64版を入れてからの大まかな流れは次のようになりました。
- "apt-get update", "apt-get upgrade"による最新版への更新
- /etc/modulesを編集してloopデバイスを増殖
- "shutdown -r now"による再起動
- "apt-get install ubuntu-xen-server"によるXen関連パッケージの一括導入
- Xenが有効になったカーネルで起動するため、再び再起動
- /etc/xen-tools/xen-tools.confの編集
- /usr/bin/xen-create-imageコマンドの修正
- xen-create-imageコマンドによるゲストOSイメージの導入
- xm createコマンドによるゲストOSの起動
Xenカーネルで起動するまで
まずはまともなUbuntuサーバーとして稼働するように最新版のパッケージに更新します。
$ sudo apt-get update $ sudo apt-get upgrade続いてloopデバイスの数を増やすために/etc/modulesファイルを編集します。 "loop"としか書かれていない行を編集して次のようにします。
$ grep loop /etc/modules loop max_loop=256upgradeの結果、kernelも新しいものが導入されていたりするので念のため再起動します。
$ sudo shutdown -r now起動しきたら再びログインし、Xen関連のパッケージを導入します。
$ sudo apt-get install ubuntu-xen-server無事に起動したらまた再起動します。
$ sudo shutdown -r now
ゲストOSを作る前の手続き
Xenのバージョンがかわり、結果として落とし穴が増えているようです。 試行錯誤の結果は残しませんが、次のようなところではまりました。
- cfgファイル中でディスクイメージファイルを指定する方法が"file"から"tap:aio"に変更になった点
- ディスクデバイス名が"sda"から"xvda"に変更になった点
- シリアルデバイスファイルが"tty1"から”xvc0”に変更になった点
$ diff /etc/xen-tools/xen-tools.conf.20080921 /etc/xen-tools/xen-tools.conf 45c45 < # dir = /home/xen --- > dir = /home/xen 163,165c163,165 < # gateway = 192.168.1.1 < # netmask = 255.255.255.0 < # broadcast = 192.168.1.255 --- > gateway = 192.168.1.1 > netmask = 255.255.255.0 > broadcast = 192.168.1.255 214c214 < mirror = http://ftp.us.debian.org/debian/ --- > mirror = http://ftp.jp.debian.org/debian/ 258c258 < # serial_device = xvc0 --- > serial_device = xvc0"serial_device"の設定は必ず設定しなければなりません。 これをしないとゲストOSの起動時にコンソールに接続することができなくなります。 まぁsshdは起動しているのでdisk.imgをマウントしてrootにパスワードを設定するか、パスワードなしでのログインを許可すればネットワーク接続できるので、何とかなりますけれど。
さて続いては /usr/bin/xen-create-image コマンドの修正。なぜなら後からcfgファイルを編集して"file:"を"tap:aio:"に変換するのが面倒だから。なのでこれは"serial_device"行の編集と同じで必須ではないです。
変更内容は以下の通りですが、最初の":"(コロン)が削除されるようなので、少し変な感じになっています。
$ diff /usr/bin/xen-create-image.20080921 /usr/bin/xen-create-image 2411c2411 < $partition->{'imagetype'} = 'file:'; --- > $partition->{'imagetype'} = 'tap::aio';
ゲストOSの作成と起動
いろいろな試行錯誤の結果が xen-tools.conf と xen-create-image の修正に含まれているため、ここの作業は簡単です。
ここではホスト名を"xen63"、IPアドレスを"192.168.1.63"として、イメージの作成と起動は次のように行なえます。
$ sudo xen-create-image --hostname xen63 --debootstrap --ip 192.168.1.63 $ sudo xm create -c /etc/xen/xen63.cfg後からxmのコンソールに接続したい場合には:
$ sudo xm console xen63不具合があって強制終了したい場合には:
$ sudo xm shutdown xen63"xm shutdown"では終了できず、"xm list"で延々と表示されてしまう向きには:
$ sudo xm destroy xen63こんな感じで作業完了です。
0 件のコメント:
コメントを投稿