====== 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
* sparse ファイルで作成\\
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'
/var/lib/xen/images/CentOS/5.2/i386 ディレクトリを作成し、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 ファイル作成 ====
httpserver の DocumentRoot 配下に xen ディレクトリを作成し、CentOS-5.2_i386.cfg というファイル名で 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
httpserver には 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'
変更箇所は次のようになります。
* 次の項目を削除\\
* kernel
* ramdisk
* extra
* on_reboot を restart に変更
* on_crash を restart に変更
==== 作成した DomainU を起動 ====
xm create centos52.cfg
===== 参考にしたページ =====
* HowTos/Xen/InstallingCentOSDomU - CentOS Wiki\\
http://wiki.centos.org/HowTos/Xen/InstallingCentOSDomU
* jognote in silico -- Blog Archive ? [Xen]DomainUをさくっと作る方法\\
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/