仮想マシンのデファクトスタンダードっぽいXenを使ってみる。Debianのバージョンはetch(4.0)、Xenのバージョンは3.0となる。

パッケージのインストール

 xen-ioemu-xxxは、完全仮想化で使うパッケージのようだ。完全仮想化はボトルネックが大きく、Linuxしか使う予定がないため使用しない。

apt-get install xen-linux-system-2.6.18-5-xen-amd64 xen-tools xen-utils-3.0.3-1 bridge-utils

grubの変更

 デフォルトだと、すべての実装メモリがDomain0に割り当てられるので、これを制限する。だだし、これを行わなくてもDomainUに割り当てたメモリはDomain0から減ってゆく。
 ここでは、Domain0に512MBのメモリと2個のCPUを割り当てる。

DomainU作成の準備

基本

 ループバック用ディレクトリと、自動起動用設定ファイルのディレクトリを作成。

mkdir /home/xen
mkdir /etc/xen/auto

 デフォルト値の変更。

 ネットワークブリッジの作成。

# /etc/xen/scripts/network-bridge start vifnum=0 bridge=xenbr0 netdev=eth0

仮想NIC

 DomainUを仮想NICに接続し、Domain0からパケットフィルタリングを行えるようにする。
 ただし、Xen 3.2だと複数NICへの対応方法が違うようだ。ここでは、Xen 3.0の時の覚え書き。

 新規作成したファイルには、実行権を付ける。

# chmod +x /etc/xen/scripts/network-bridge.dummy0

 DomainUに仮想NICを指定するときは、xenbr2を指定する。

DomainUの作成

 ホスト名を指定してDomainUを作成する。ネットワークのデフォルトを設定していないので、DHCPを指定する。

xen-create-image --hostname domu01 --dhcp

 作成したDomainUに割り当てるCPUを指定する。CPU2〜7の6つをDomainU専用に割り当てる。CPUの割り当てを変えた後は、createで起動させないと反映されないようだ。また、NICの設定も変更する。

 
 xen-create-image を使う場合は、DomainUを物理ディスクに割り当てることができないようなので、手作業でディスクイメージを作成する。

mkfs.xfs /dev/sda2
mount /dev/sda2 /mnt
debootstrap etch /mnt

 
 xen-create-image を使う場合は、DomainUを物理ディスクに割り当てることができないようだ。このため、一時的にループファイルシステム上に作った後ファイルを移動する。

mkfs.xfs /dev/sda2
mkdir /mnt/1 ; mkdir /mnt/2
mount -o loop /home/xen/domains/domu01/disk.img /mnt/1
mount /dev/sda2 /mnt/2
cp -a /mnt/1/* /mnt/2/

 DomainUの設定ファイルも、物理ディスクを使うように変更。

 
 自動起動の設定も行う。

cd /etc/xen/auto; ln -s ../domu01.cfg

DomainUの起動

 コンソールを割り当てて起動。ブート状態を見ることができる。

xm create domu01.cfg -c

問題点

PPPoEが使えない

 pppoeconfで一通り設定はできるが、以下のメッセージが出て接続ができない。

Linux kernel does not support PPPoE -- are you running 2.4.x?

 探してみると、いくつか同じ現象は起こっているようだ。日本語の記事がほとんどなかったが、ヒット件数が少なかったのでざっと読んでみる。しかし、どれも解決策は見つからなかった。
 考え方を変えて、すなおにDebianでPPPoE接続をするということで探す。すると、ptyを設定するという記事があった。以下のように設定した。

 今度は、接続できた。しかし、この設定ではユーザモードで動作しているようなので、より軽い(と思われる)カーネルモードで動作させるための方法を探す。今後は以下のように設定した。

 今度も接続できた。pppoeプロセスがいないのでカーネルモードで動作していると思われる。
 しかし、コメントアウトしたconnectの行は、pppoeconfが作ったはずなんだけどな。
 
 再起動時に有効かどうかを確認したら、接続されなかった。どうやら、/dev/pppがなくなる。
 MAKEDEVとやっても起動時に作成されなかったので、ネットワークの設定に仕掛けを入れた。

シリアルポートが使えない

 Xenでは、シリアルポートを解析用に使うためにデフォルトでは生のシリアルポートが見えなくなっているらしい。
 そこで、解析用に使用しないようにする。

 設定変更後、GRUBを更新する。

# update-grub

Xenの基本コマンド

用語集

参考

http://w3.doshisha.ac.jp/~kueda/index.php?Debian%E3%81%ABXen
http://seldon.cocolog-nifty.com/petapeta/2007/03/etch_xen.html
http://seldon.cocolog-nifty.com/petapeta/2007/04/etch_xen.html
http://my-server.jp/archives/2006/11/xen_1.html
http://nakajin.dyndns.org/xen.html
http://antas.jp/blog/ina/archives/2007/10/xen_cpupin_cleared.html
http://webframe.sourceforge.jp/wiki/index.php?Xen
http://tomo.ac/goodstream/xen/centos5/tips.html
http://www.grandarbre.net/2007/11/xen-2.html
http://lists.debian.or.jp/debian-users/200403/msg00313.html
http://ken-etsu-tech.blogspot.com/2007/10/xendell-remote-access-controller.html


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-05-14 (水) 19:29:38 (5820d)