ドメインUのテンプレートイメージを作成する。

Posted at 07/04/26 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"

"ドメインUのテンプレートイメージを作成する。"へのトラックバック

トラックバック先URL

"ドメインUのテンプレートイメージを作成する。"へコメントを投稿

(運営者が承認するまではコメントは表示されません。しばらくお待ちください。)

上の情報を保存する場合はチェック
Google

お勧めXen構築本

スポンサード リンク

Powered by Movable Type

Template by MTテンプレートDB

Supported by Movable Type入門