目次

kickstart xen DoumainU

Ubuntu 8.04 を使って CentOS 5.2 の DomainU を作成しました。
Ubuntu 8.04 の virt-install を実行すると、

AttributeError: 'ParaVirtGuest' object has no attribute 'get_virtio_blk' 

というエラーが発生したため、kickstart を使って CentOS 5.2 をセットアップしました。
virt-install は Xen の仮想環境でも使うことのできる汎用的なモジュールですが、ここでは Xen の仕組みだけを使ってセットアップしてみます。

Xen セットアップ

Ubuntu 8.04 に Xen パッケージをインストール。

sudo apt-get install ubuntu-xen-server 

kickstart を使ったセットアップ

ディスクイメージファイル作成

dd if=/dev/zero of=/var/lib/xen/images/CentOS/5.2/i386/root.img oflag=direct bs=1M count=2048
dd if=/dev/zero of=/var/lib/xen/images/CentOS/5.2/i386/root.img oflag=direct bs=1M seek=2047 count=

セットアップ用 Xen 設定ファイルを作成

kernel = "/var/lib/xen/images/CentOS/5.2/i386/vmlinuz" 
ramdisk = "/var/lib/xen/images/CentOS/5.2/i386/initrd.img" 
extra = "text ks=http://httpserver/xen/CentOS-5.2_i386.cfg" 
name = "centos52" 
memory = "256" 
disk = [ 'tap:aio:/var/lib/xen/images/CentOS/5.2/i386/root.img,xvda,w', ] 
# vif = [ 'mac=00:16:3e:5b:b3:ec, bridge=xenbr0', ] 
vif = [ 'bridge=xenbr0', ] 
# uuid = "722e88f7-99bd-47ac-b644-89dab714ee22" 
vcpus=1 
on_reboot = 'destroy' 
on_crash = 'destroy' 

<color blue>/var/lib/xen/images/CentOS/5.2/i386</color> ディレクトリを作成し、http://ftp.ne.jp/Linux/distributions/CentOS/5.2/os/i386/images/xen/ から取得したカーネルイメージを配置しています。

mkdir -p /var/lib/xen/images/CentOS/5.2/i386 
cd /var/lib/xen/images/CentOS/5.2/i386 
wget http://ftp.ne.jp/Linux/distributions/CentOS/5.2/os/i386/images/xen/initrd.img 
wget http://ftp.ne.jp/Linux/distributions/CentOS/5.2/os/i386/images/xen/vmlinuz 

kickstart ファイル作成

<color blue>httpserver</color> の DocumentRoot 配下に xen ディレクトリを作成し、<color blue>CentOS-5.2_i386.cfg</color> というファイル名で kickstart ファイルを作成します。

install 
url --url http://httpserver/cdrom 
lang en_US.UTF-8 
network --device eth0 --bootproto dhcp 
# Bogus password, change to something sensible! 
rootpw bogus 
firewall --enabled --port= 
authconfig --enableshadow --enablemd5 
selinux --enforcing −−port=22:tcp 
timezone --utc Asia/Tokyo 
bootloader --location=mbr --driveorder=xvda --append="console=xvc0" 
reboot 
 
# Partitioning 
clearpart --all --initlabel --drives=xvda 
part /boot --fstype ext3 --size=100 --ondisk=xvda 
part pv.2 --size=0 --grow --ondisk=xvda 
volgroup VolGroup00 --pesize=32768 pv.2 
logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow 
logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=256 --grow --maxsize=512 
 
%packages 
@core 

<color blue>httpserver</code> には CentOS 5.2 の DVD をマウントし、DocumentRoot 配下に cdrom という名前でシンボリックリンクをはっています。

url --url http://httpserver/cdrom 

DomainU は Domain0 に対して localhost で接続することができませんので、Domain0 に Apache を立てている場合でも、Domain0 のホスト名、または IP アドレスを指定するようにしてください。

root のパスワードは適宜変更してください。

rootpw bogus 

Xen DomainU セットアップ

作成した設定ファイルを使って DomainU をセットアップします。

xm create -c /etc/xen/centos52.installation 

kickstart ファイルの内容に従ってセットアップが始まります。

DomainU の設定ファイルを編集

セットアップが完了したら、DomainU の設定ファイルを別名でコピーして編集します。

cp centos52.installation centos52.cfg 
vi centos52.cfg 
name = "centos52" 
memory = "256" 
disk = [ 'tap:aio:/var/lib/xen/images/CentOS/5.2/i386/root.img,xvda,w', ] 
vif = [ 'bridge=xenbr0', ] 
bootloader="/usr/bin/pygrub" 
vcpus=1 
on_reboot = 'restart' 
on_crash = 'restart' 

変更箇所は次のようになります。

作成した DomainU を起動

xm create centos52.cfg 

参考にしたページ

http://wiki.centos.org/HowTos/Xen/InstallingCentOSDomU

http://insilico.jognote.com/blog/2008/06/09/xendomainu%E3%82%92%E3%81%95%E3%81%8F%E3%81%A3%E3%81%A8%E4%BD%9C%E3%82%8B%E6%96%B9%E6%B3%95/