Debian 5.0
Sponsored Link

ゲストOS追加(イメージファイル)2009/03/23

[1] これまでLVMの論理ボリュームにゲストOSを構築してきましたが、VMware などのように一つのイメージファイルを作成し、 その中へゲストOSを構築してみます。

これまでのやり方だと、普通にCD/DVDからインストールできる、OS標準の機能でアクセスできる、 処理性能が高い、といった利点がある上、元々のカーネルを利用して普通のLinuxシステムとしても起動できます。 ただし、このやり方はゲストOSを増やすときに、雛形を作っておいてもそれなりに作業が発生し、多少面倒です。 また他のXen環境にも移行しにくいです。

対して、イメージファイルを作成してそこへ作る場合、OS標準の機能だけでは イメージファイルを利用できないため処理性能は低下しますが、 バックアップをとるのはイメージファイル一つをコピーするだけであったり、 他のXen環境に移行しやすかったりと、管理がしやすいことが利点です。

また、イメージファイルへのインストールには (3) の [3] で作成しておいた雛形を使って作成します。
dlp:~#
mkdir /var/xen

dlp:~#
dd if=/dev/zero of=/var/xen/lan.img bs=1 count=1 seek=20G

1+0 records in
1+0 records out
1 byte (1 B) copied, 0.000236 s, 4.2 kB/s
dlp:~#
dd if=/dev/zero of=/var/xen/lan.swap bs=1 count=1 seek=1G

1+0 records in
1+0 records out
1 byte (1 B) copied, 8e-05 seconds, 12 kB/s
dlp:~#
dlp:~#
mkswap /var/xen/lan.swap

Setting up swapspace version 1, size = 1073737 kB
no label, UUID=2f05a602-f7d6-4245-845a-b3efd647b000
dlp:~#
mkfs -t ext3 -F /var/xen/lan.img

mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2621440 inodes, 5242880 blocks
262144 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
160 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
 
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,

 
4096000


Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 39 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

dlp:~#
mount -o loop /var/xen/lan.img /mnt


dlp:~#
cp root.tgz /mnt/
   
# (3)の[3]で作成した雛形をコピー

dlp:~#
cd /mnt

dlp:/mnt#
tar zxvf root.tgz

dlp:/mnt#
rm -f root.tgz

dlp:/mnt#
cp /root/usr.tgz usr/
   
# (3)の[3]で作成した雛形をコピー

dlp:/mnt#
cd usr

ns:/mnt/usr#
tar zxvf usr.tgz

ns:/mnt/usr#
rm -f usr.tgz

ns:/mnt/usr#
cd ../var

ns:/mnt/var#
cp /root/var.tgz ./
   
# (3)の[3]で作成した雛形をコピー

ns:/mnt/var#
tar zxvf var.tgz

ns:/mnt/var#
rm -f var.tgz

ns:/mnt/var#
cd ../

dlp:/mnt#
vi etc/fstab


# 今回は / と swap しか作成していないため、いらない所を削除して以下のようにする

proc
/proc
proc
defaults
0 0

/dev/hda1
/
ext3
defaults,errors=remount-ro
0 1

/dev/hda2
none
swap
sw
0 0

/dev/scd0
/media/cdrom0
udf,iso9660
user,noauto
0 0


dlp:/mnt#
vi etc/hostname


# ホスト名変更

lan


dlp:/mnt#
vi etc/hosts


127.0.0.1
localhost

# 変更

127.0.1.1
lan
.server-linux.info
lan


dlp:/mnt#
vi etc/network/interfaces


# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
#iface eth0 inet dhcp
iface eth0 inet static
# IPアドレス変更

address
192.168.0.23

network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
auto eth0

dlp:/mnt#
dlp:~#
umount /mnt

dlp:~#
cp /etc/xen/www /etc/xen/lan

dlp:~#
vi /etc/xen/lan


# 以下のように変更

kernel
= "/boot/vmlinuz-2.6.18-4-xen-686"

ramdisk
= "/boot/initrd.img-2.6.18-4-xen-686"

memory
= "512"

name
= "
lan
"

vcpus
= "2"

nicks
= "1"

vif
= [ 'mac=00:16:3e:00:00:
20
,bridge=xenbr0' ]

disk
= [ '
file:/var/xen/lan.img,hda1,w
',

'
file:/var/xen/lan.swap,hda2,w
' ]
root
= "/dev/hda1 ro"

extra
= "xencons=tty clocksource=jiffies"


dlp:~#
xm create -c lan


Debian GNU/Linux 5.0 lan tty1

lan login:
[2] 作ったイメージファイルを雛形としてとっておきます。
dlp:~#
# ホストOS上

dlp:~#
cp /var/xen/lan.img /root/root.img

dlp:~#
cp /var/xen/lan.swap /root/swap.img

dlp:~#
total 891160
-rw-r--r-- 1  root  root
21474836481
 2007-06-03 10:39  root.img

-rw-r--r-- 1  root  root
00044442338
 2007-06-24 01:55  root.tgz

-rw-r--r-- 1  root  root
01073741825
 2007-06-24 07:08  swap.img

-rw-r--r-- 1  root  root
00076528492
 2007-06-24 01:56  usr.tgz

-rw-r--r-- 1  root  root
00075088604
 2007-06-24 01:57  var.tgz
関連コンテンツ