XenのゲストOSとして、Debianを動かすためのメモ
大まかな流れとしては、/xen以下にゲストOSのイメージファイルを作成し、vmlinuz-2.6.1*-xenUカーネルで起動します。
ゲストのイメージファイルの作成
countがファイルサイズになります。
#dd if=/dev/zero of=/xen/root bs=1024 count=1024
#dd if=/dev/zero of=/xen/swap bs=1024 count=512
ここではext3でフォーマットします。
#mkfs.ext3 /xen/root
#mkswap /xen/swap
作成したイメージファイルにDebianをインストール
debootstrapでdebianをインストール
マウントポイント/mnt/xenはあらかじめ作成
#mount -o loop /xen/root /mnt/xen
debootstrapが無ければapt-get
#apt-get install debootstrap
#debootstrap --arch i386 sarge /mnt/xen/debian/debian_root http://ftp.jp.debian.org/debian
イメージファイルにインストールしたDebianの設定
#chroot /mnt/xen /bin/bash
/etc/hosts
/etc/hosts.deny
/etc/hosts.allow
/etc/apt/sources.list
などは適当に。
/etc/network/interfaces
ゲストOS内のeth0は物理的なNICのネットワークにブリッジされる。
/etc/fstabは以下のように。
デバイス名はsdaを使うらしいです。
/dev/sda1 / ext3 errors=remount-ro 0 1
/dev/sda2 none swap sw 0 0
proc /proc proc defaults 0 0
chroot終了
#exit
#umount /mnt/xen
ゲストOSの設定ファイルを作成
サンプルファイルをコピー
#cp /etc/xen/xmsample1 /xen/xmdefconfig
##/xen/xmdefconfigは以下のような感じに設定。
カーネルはXenインストール時に/bootにインストールされたカーネルを使用します。
kernel = "/boot/vmlinuz-2.6.10-xenU"
memory = 64
name = "xen-debian"
nics=1
vif = [ 'mac=aa:00:00:00:00:11, bridge=xen-br0' ]
disk = [ 'file:/xen/debian/debian_disk,sda1,w','file:/xen/debian/debian_swap,sda2,w' ]
root = "/dev/sda1 ro"
ゲストOSの起動
xendの起動。
これを起動しないとxm系のコマンドが効きません。
#xend start
ゲストOS起動
設定ファイル名がxmdefconfigなら以下のように
#cd /xen
#xm create
直接ゲストOSのコンソールに接続するときは
#xm create -c
設定ファイル名を指定する場合は
#xm create 設定ファイル
コンソールに接続
#xm list
起動したゲストOSの番号を確認
#xm console 番号
これでゲストOSのコンソールが表示されます。
#ちなみに、XenではゲストOSのことをDomainと呼びます。
大まかな流れとしては、/xen以下にゲストOSのイメージファイルを作成し、vmlinuz-2.6.1*-xenUカーネルで起動します。
ゲストのイメージファイルの作成
countがファイルサイズになります。
#dd if=/dev/zero of=/xen/root bs=1024 count=1024
#dd if=/dev/zero of=/xen/swap bs=1024 count=512
ここではext3でフォーマットします。
#mkfs.ext3 /xen/root
#mkswap /xen/swap
作成したイメージファイルにDebianをインストール
debootstrapでdebianをインストール
マウントポイント/mnt/xenはあらかじめ作成
#mount -o loop /xen/root /mnt/xen
debootstrapが無ければapt-get
#apt-get install debootstrap
#debootstrap --arch i386 sarge /mnt/xen/debian/debian_root http://ftp.jp.debian.org/debian
イメージファイルにインストールしたDebianの設定
#chroot /mnt/xen /bin/bash
/etc/hosts
/etc/hosts.deny
/etc/hosts.allow
/etc/apt/sources.list
などは適当に。
/etc/network/interfaces
ゲストOS内のeth0は物理的なNICのネットワークにブリッジされる。
/etc/fstabは以下のように。
デバイス名はsdaを使うらしいです。
/dev/sda1 / ext3 errors=remount-ro 0 1
/dev/sda2 none swap sw 0 0
proc /proc proc defaults 0 0
chroot終了
#exit
#umount /mnt/xen
ゲストOSの設定ファイルを作成
サンプルファイルをコピー
#cp /etc/xen/xmsample1 /xen/xmdefconfig
##/xen/xmdefconfigは以下のような感じに設定。
カーネルはXenインストール時に/bootにインストールされたカーネルを使用します。
kernel = "/boot/vmlinuz-2.6.10-xenU"
memory = 64
name = "xen-debian"
nics=1
vif = [ 'mac=aa:00:00:00:00:11, bridge=xen-br0' ]
disk = [ 'file:/xen/debian/debian_disk,sda1,w','file:/xen/debian/debian_swap,sda2,w' ]
root = "/dev/sda1 ro"
ゲストOSの起動
xendの起動。
これを起動しないとxm系のコマンドが効きません。
#xend start
ゲストOS起動
設定ファイル名がxmdefconfigなら以下のように
#cd /xen
#xm create
直接ゲストOSのコンソールに接続するときは
#xm create -c
設定ファイル名を指定する場合は
#xm create 設定ファイル
コンソールに接続
#xm list
起動したゲストOSの番号を確認
#xm console 番号
これでゲストOSのコンソールが表示されます。
#ちなみに、XenではゲストOSのことをDomainと呼びます。
XenはいわゆるVirtual Machine Monitorというものです。ハードウェア上にVirtual Machine Monitorが起動し、OSはその上で動かすことになります。Xenは複数OSを同時に起動することが出来ます。
Debian(sarge)にXenをインストールするためのメモ
※Debianじゃなくても、同様なパッケージがあれば同じだと思います。
必要なパッケージ
python python-twisted zlib1g-dev libcurl3 libcurl3-dev
python-dev bridge-utils latex transfig iproute module-init-tools libc6-dev
あたりをapt-get install
バイナリの入手とインストール
ここからインストールパッケージをダウンロードして、インストールしたいDebian上に展開します。
#tar xzvf xen-2.0.4-install.tgz
解凍したディレクトリ内でinstall.shを実行
#cd xen-2.0
#sh install.sh
これで、xen-2.0/install/deist/以下が / にコピーされます。
Grubの設定
XenではブートローダにGrubを使用します
#apt-get instal grub
#grub-install /dev/hda
/boot/grub/menu.lstに以下の項目を追加
title Debian GNU/Linux, kernel 2.6.10-xen0
root (hd0,1)
kernel /boot/xen.gz dom0_mem=131072
module /boot/vmlinuz-2.6.10-xen0 root=/dev/hda1 ro console=tty0
ここでカーネルのバージョンは/boot/以下を確認します。
基本的に-xen0 -xenUと後ろについているのがXen上で動作するカーネルです。ここでは-xen0のカーネルを用いましょう。
またdom0_mem=で最初に起動するOS(Domain0)のメモリ量を設定します。全体の物理メモリから、ここで設定した量とXenのVMMで使用する64MBを引いたものが、他のゲストOSで使用できる量となります。
また以下のコマンドを実行しないと、ifconfigやreboot等が実行できません。
ここまでやったら、再起動。
#uname -r
でvmlinuz-2.6.10-xen0等と表示されればインストール成功。
Debian(sarge)にXenをインストールするためのメモ
※Debianじゃなくても、同様なパッケージがあれば同じだと思います。
必要なパッケージ
python python-twisted zlib1g-dev libcurl3 libcurl3-dev
python-dev bridge-utils latex transfig iproute module-init-tools libc6-dev
あたりをapt-get install
バイナリの入手とインストール
ここからインストールパッケージをダウンロードして、インストールしたいDebian上に展開します。
#tar xzvf xen-2.0.4-install.tgz
解凍したディレクトリ内でinstall.shを実行
#cd xen-2.0
#sh install.sh
これで、xen-2.0/install/deist/以下が / にコピーされます。
Grubの設定
XenではブートローダにGrubを使用します
#apt-get instal grub
#grub-install /dev/hda
/boot/grub/menu.lstに以下の項目を追加
title Debian GNU/Linux, kernel 2.6.10-xen0
root (hd0,1)
kernel /boot/xen.gz dom0_mem=131072
module /boot/vmlinuz-2.6.10-xen0 root=/dev/hda1 ro console=tty0
ここでカーネルのバージョンは/boot/以下を確認します。
基本的に-xen0 -xenUと後ろについているのがXen上で動作するカーネルです。ここでは-xen0のカーネルを用いましょう。
またdom0_mem=で最初に起動するOS(Domain0)のメモリ量を設定します。全体の物理メモリから、ここで設定した量とXenのVMMで使用する64MBを引いたものが、他のゲストOSで使用できる量となります。
また以下のコマンドを実行しないと、ifconfigやreboot等が実行できません。
ここまでやったら、再起動。
#uname -r
でvmlinuz-2.6.10-xen0等と表示されればインストール成功。
| ホーム |




