CentOS4.4とXEN 3.0.4

  • 仮想ディスクの作成

ディスク領域を10G(10M*1k)とSWAP領域を1G(1M*1k)を作成する

dd if=/dev/zero of=/home/xen/vt1 bs=1k count=10M &
dd if=/dev/zero of=/home/xen/swap1 bs=1k count=1M &
mkfs.ext3 -j /home/xen/vt1
tune2fs -c 0 /home/xen/vt1
mkswap /home/xen/swap1

  • domUの環境構築1

yumにinstallrootを指定するとなぜか$releaseverを変換してくれないので注意

mount -o loop /home/xen/vt1 /mnt
mkdir -p /mnt/etc/yum.repos.d/
mkdir -p /mnt/var/lock/rpm/
cp /etc/yum.conf /mnt/etc/
sed -e 's/$releasever/4/' /etc/yum.repos.d/CentOS-Base.repo > /mnt/etc/yum.repos.d/CentOS-Base.repo
rpm -import http://ftp.riken.jp/Linux/centos/RPM-GPG-KEY-centos4
yum --installroot=/mnt -y groupinstall Base

  • domUの環境構築2

Baseグループさえインストールすればchroot環境で構築ができる

chroot /mnt
mv /lib/tls /lib/tls.disabled
mv /lib64/tls /lib64/tls.disabled
for i in console null zero ; do MAKEDEV -d /dev/ -x $i ; done

fstabを設定する。
dom0のディスクがSCSIでもSASでもIDEでも/dev/hdaになる

cat > /etc/fstab
/dev/hda1 / ext3 defaults,noatime 1 1
/dev/hda2 swap swap defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0

タイムゾーンの設定をする

rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Japan /etc/localtime
cat > /etc/sysconfig/clock
ZONE="Asia/Tokyo"
UTC=false
ARC=false

言語の設定をする

cat > /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
SUPPORTED="ja_JP.UTF-8:ja_JP:ja"
SYSFONT="latarcyrheb-sun16"

shadowパスワードを使うようにしてrootのパスワードを変更する。

pwconv
passwd

  • Xenの設定(/etc/xen/vt1.confの作成)

3.0.4以降?からはdom0とdomUで同じカーネルを使うらしい
vifのmac=は00:16:3eは固定でそれから先は自由にできるのでネットワーク内でユニークにする。

kernel = "/boot/vmlinuz-2.6-xen"
ramdisk = "/boot/initrd-2.6-xen.img"
memory = 1024
name = "vt1"
vif = [ 'mac=00:16:3e:00:00:21,bridge=xenbr0','mac=00:16:3e:00:00:22,bridge=xenbr1']
disk = [ 'file:/home/xen/vt1,hda1,w' , 'file:/home/xen/swap1,hda2,w' ]
localtime=1
keymap='ja'
root= "/dev/hda1 ro"

vt1.confを/etc/xen/auto/以下に入れておけばboot時に自動起動できる

xm create /etc/xen/vt1.conf -c
または
xm create /etc/xen/vt1.conf
xm console vt1

/etc/inittab
/etc/hosts
/etc/resolv.conf
/etc/sysconfig/iptables
/etc/sysconfig/network
/etc/sysconfig/network-script
等を実環境に合わせる