- 追加された行はこの色です。
- 削除された行はこの色です。
仮想マシンのデファクトスタンダードっぽいXenを使ってみる。Debianのバージョンはetch(4.0)、Xenのバージョンは3.0となる。
#contents
*パッケージのインストール [#d8b0a5b6]
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の変更 [#d155a619]
デフォルトだと、すべての実装メモリがDomain0に割り当てられるので、これを制限する。~
デフォルトだと、すべての実装メモリがDomain0に割り当てられるので、これを制限する。だだし、これを行わなくてもDomainUに割り当てたメモリはDomain0から減ってゆく。~
ここでは、Domain0に512MBのメモリと2個のCPUを割り当てる。
-/boot/grub/menu.lst
kernel /xen-3.0.3-1-amd64.gz dom0_mem=524288 dom0_max_vcpus=2
*DomainU作成の準備 [#t9452b09]
ループバック用ディレクトリと、自動起動用設定ファイルのディレクトリを作成。
mkdir /home/xen
mkdir /etc/xen/auto
デフォルト値の変更。
-/etc/xen-tools/xen-tools.conf
dir = /home/xen
debootstrap = 1
dist = etch
mirror = http://cdn.debian.or.jp/debian/
kernel = /boot/vmlinuz-2.6.18-5-xen-amd64
initrd = /boot/initrd.img-2.6.18-5-xen-amd64
-/etc/xen/xend-config.sxp
(network-script network-bridge)
#(network-script network-dummy)
-/etc/default/xendomains
XENDOMAINS_SAVE=
XENDOMAINS_RESTORE=false
ネットワークブリッジの作成。
# /etc/xen/scripts/network-bridge start vifnum=0 bridge=xenbr0 netdev=eth0
*DomainUの作成 [#y6067cfc]
ホスト名を指定してDomainUを作成する。ネットワークのデフォルトを設定していないので、DHCPを指定する。
xen-create-image --hostname domu01 --dhcp
作成したDomainUに割り当てるCPUを指定する。CPU2〜7の6つをDomainU専用に割り当てる。CPUの割り当てを変えた後は、createで起動させないと反映されないようだ。また、NICの設定も変更する。
-/etc/xen/domu01.cfg
cpus = '2,3,4,5,6,7'
vcpus = 6
vif = [ 'mac=00:16:3e:00:00:11,bridge=xenbr0' ]
#br
xen-create-image を使う場合は、DomainUを物理ディスクに割り当てることができないようなので、手作業でディスクイメージを作成する。
mkfs.xfs /dev/sda2
mount /dev/sda2 /mnt
debootstrap etch /mnt
#br
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の設定ファイルも、物理ディスクを使うように変更。
-/etc/xen/domu01.cfg
#disk = [ 'file:/home/xen/domains/domu01/disk.img,sda1,w', 'file:/home/xen/domains/domu01/swap.img,sda2,w' ]
disk = [ 'phy:/dev/sda2,sda1,w', 'phy:/dev/sda6,sda2,w' ]
#br
自動起動の設定も行う。
cd /etc/xen/auto; ln -s ../domu01.cfg
*DomainUの起動 [#k889dd62]
コンソールを割り当てて起動。ブート状態を見ることができる。
xm create domu01.cfg -c
*Xenの基本コマンド [#o043c2bd]
-DomainU(domu01)作成
xen-create-image --hostname domu01 ...
-DomainU(domu01)起動
xm create domu01.cfg
-DomainU(domu01)停止
xm shutdown domu01
-DomainU(domu01)コンソール割り当て
xm console domu01
-CPU割り当て表示
xm vcpu-list
*用語集 [#gac8c82a]
-Domain0~
Xenを制御する側。ここから、xmコマンドを使用してDomainUの制御を行う。0は、数字のゼロ。
-DomainU~
Xen上の仮想マシン。Domain0や、ほかのDomainUを直接みることはできない。
-VBD~
仮想ブロックデバイス(Virtual Block Device)。DomainUに見せるHDDなどのこと。
*参考 [#r4000a9a]
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~