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 の仕組みだけを使ってセットアップしてみます。
Ubuntu 8.04 に Xen パッケージをインストール。
sudo apt-get install ubuntu-xen-server
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=
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
<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
作成した設定ファイルを使って DomainU をセットアップします。
xm create -c /etc/xen/centos52.installation
kickstart ファイルの内容に従ってセットアップが始まります。
セットアップが完了したら、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'
変更箇所は次のようになります。
xm create centos52.cfg
http://wiki.centos.org/HowTos/Xen/InstallingCentOSDomU