スポンサード リンク
ドメインUのテンプレートイメージを作成する。
Posted at 07/04/26 PermaLink» Comment(0)» Trackback(0)»
ドメイン0が起動したら、
ドメインUのテンプレートイメージを作成する。
極力マシンに負担のかけないドメインUを作成するために、
イメージファイルをつくり、yumによるインストールを行う。
1.ベースのイメージファイルを作成する。
ベースとなるイメージファイルを作成。
イメージファイル名 「base.img」
保存場所 「/var/xen/images/」
サイズ 「5G=5120M」
dd if=/dev/zero of=/var/xen/images/base.img bs=1024k count=1 seek=5120
dd if=/dev/zero of=/var/xen/images/base-swap.img bs=1024k count=1 seek=512
ファイルシステムを構築する.
ファイルタイプ 「ext3」
mkfs -t ext3 -F /var/xen/images/base.img
mkswap /var/xen/images/base-swap.img
2.必要ディレクトリの作成
イメージファイルをループバックマウントする。
mount -o loop /var/xen/images/template.img /mnt
ディレクトリの作成
「dev」
「proc」
「etc」
「sys」
「tmp」
上記全てを「mkdir /mnt/上記ディレクトリ名」とするのだが、
何度も入力するのが大変なので
ここでは一度に導入する。
for i in dev proc etc sys tmp ; do mkdir /mnt/$i ; done
スペシャルデバイスファイルの作成
「console」
「null」
「zero」
for i in console null zero ; do MAKEDEV -d /mnt/dev -x $i ; done
3.fstabを作成し、起動時に自動的に読み込むようにする。
fstabファイルの作成
vi /mnt/etc/fstab
/dev/sda1 / ext3 defaults 1 1
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
4.必要ファイルのマウント
proc sysファイルシステムのマウント
mount -t proc none /mnt/proc
mount -t sysfs none /mnt/sys
5.yumの準備
DomainUインストール用yum repoの設定
vi /root/yum-xen.conf
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
exclude=*-debuginfo
gpgcheck=0
obsoletes=1
reposdir=/dev/null
[base]
name=Fedora Core 6 -$basearch -Base
baseurl=http://ftp.riken.jp/Linux/CentOS/core/5.0/i386/os/
enabled=1
[updates-released]
name=Fedora Core 6 -$basearch -Released Updates
baseurl=http://ftp.kddilabs.jp/Linux/packages/CentOS/core/updates/5.0/i386/
6.最小限のOSをインストールする。
最小限のゲストOSインストール
上下のどちらのやりかたでも良い。
yum -y -c /root/yum.conf --installroot=/mnt -c yum-xen.conf groupinstall Core
yum -y -c /root/yum.conf --installroot=/mnt -c yum-xen.conf groupinstall Base
yum -y --installroot=/mnt -c yum-xen.conf groupinstall Core
yum -y --installroot=/mnt -c yum-xen.conf groupinstall Base
7.ドメインUの中に必要ファイル(モジュール等をコピーする)
新しく作成しているゲストOSに、
どのようなカーネルモジュールが入っているかの確認
cd /mnt/lib/modules
ls
xen用のモジュールがインストールされていない。
そこでDomain0のxen用カーネルモジュールを複製する。
カーネルモジュールの設定(複製)
cp -a /lib/modules/2.6.16.29-xen /mnt/lib/modules/
レスポンス向上の為に、tlsを無効化
mv /mnt/lib/tls /mnt/lib/tls.disabled
mv /mnt/usr/lib/tls /mnt/usr/lib/tls.disabled
ゲストOSの /bootの中身の確認
cd /mnt/boot
ls
やはりxen用のものは無いので、Domain0から複製する。
面倒なので、一気に複製する。
cp /boot/*xen* /mnt/boot/
cp /boot/System.map-2.6.18-1.2849.fc6xen /mnt/boot/
cp /boot/config-2.6.18-1.2849.fc6xen /mnt/boot/
cp /boot/initrd-2.6.18-1.2849.fc6xen.img /mnt/boot/
cp /boot/vmlinuz-2.6.18-1.2849.fc6xen /mnt/boot/
---------grubファイルもコピーする
---------cp -Rf /boot/grub/* /mnt/boot/grub/
SELinuxの設定(複製))
cp /etc/selinux/config /mnt/etc/selinux/
キーボード、表示言語、タイムゾーン設定(複製)
「keyboard」
「i18n」
「clock」
for i in keyboard i18n clock ; do cp /etc/sysconfig/$i /mnt/etc/sysconfig/ ; done
ネットワーク設定ファイル作成
vi /mnt/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=template
GATEWAY=192.168.0.1
ネットワークインターフェース設定ファイル作成
vi /mnt/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.11
NETMASK=255.255.255.0
NETWORK=192.168.0.0
DNSサーバアドレス設定(複製、後に変更)
cp /etc/resolv.conf /mnt/etc
デバイスファイルもコピーする。
cp -ar /dev/* /mnt/dev
8.パッケージ管理システムを強化する。
yum-fastestmirrorプラグインの導入
yum -y --installroot=/mnt install yum-fastestmirror
rootパスワードの設定
chroot /mnt
pwconv
echo ******* | passwd --stdin root
exit
9.イメージファイルのアンマウント
proc sysファイルシステムのアンマウント
umount /mnt/proc /mnt/sys /mnt
10.起動用のドメイン設定ファイルを作成する。
kernel = "/boot/vmlinuz-2.6.16.33-xen"
#ramdis = "/boot/initrd-2.6.16.33-xen.img"
memory = "256"
name = "base"
vif = [ 'mac=00:16:3e:00:00:11' ]
disk = [ 'file:/var/xen/images/base.img,hda1,w' ]
root = "/dev/hda1 ro"