ゲストOSインストール(FedoraCore6編)

最終更新日: 2008.08.24

<<トップページ <<新着情報 <<質問掲示板 <<アンケート <<サイト内検索 <<ダウンロード <<管理人へメール <<Fedoraで自宅サーバー構築

■概要

CentOSで構築した管理OS(ドメイン0)上にFedoraCore6をゲストOS(ドメインU)としてインストールする。
ここでは、ドメイン0上に作成した仮想ディスクイメージ上にFedoraCore6をインストールする。
なお、仮想マシンインストールスクリプトではインストールできないので、手動で仮想マシン環境を作成し、必要なパッケージをyumのグループインストール機能で一括してインストールする。

Xen導入済であること
※ホスト名、ドメイン名、IPアドレス等は各自の環境に合わせて置き換えること

■ドメインUインストール領域作成

[root@centos ~]# dd if=/dev/zero of=/var/lib/xen/images/Fedora6.img bs=1M count=1 seek=4096
 ← ドメインUインストール領域を4GBで作成
※インストール領域サイズは任意だが、最低でも2GBくらいは必要
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.011841 seconds, 88.6 MB/s

[root@centos ~]# mkfs.ext3 /var/lib/xen/images/Fedora6.img ← ドメインUインストール領域へファイルシステム作成
mke2fs 1.39 (29-May-2006)
/var/lib/xen/images/Fedora6.img is not a block special device.
Proceed anyway? (y,n) y ← y応答
warning: 256 blocks unused.

Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
525312 inodes, 1048576 blocks
52441 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
16416 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736

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

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

[root@centos ~]# dd if=/dev/zero of=/var/lib/xen/images/Fedora6.swap bs=1M count=1 seek=256
 ← ドメインUスワップ領域を256MBで作成
※スワップ領域サイズはドメインUに割当てるメモリ量の倍を指定(ここでは、ドメインUに128MBを割当てるため、
スワップ領域は256MBとしている)
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.011904 seconds, 88.1 MB/s

[root@centos ~]# mkswap /var/lib/xen/images/Fedora6.swap ← ドメインUスワップファイルシステム作成
Setting up swapspace version 1, size = 269479 kB

[root@centos ~]# mount -o loop /var/lib/xen/images/Fedora6.img /mnt ← ドメインUインストール領域マウント

[root@centos ~]# MAKEDEV -d /mnt/dev -x console null zero tty1 tty2 tty3 tty4 tty5 tty6 tty7 tty8
 ← 必須デバイスファイル作成

[root@centos ~]# mkdir /mnt/etc ← 設定ファイル格納ディレクトリ作成

[root@centos ~]# vi /mnt/etc/fstab ← ファイルシステム設定ファイル作成
/dev/hda1               /                       ext3    defaults 1 1
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
/dev/hda2               swap                    swap    defaults 0 0

■ドメインUインストール

ドメイン0のyumコマンドを利用して、最低限必要なBaseグループ、Development ToolsグループをドメインUインストール領域へインストールする。

(1)ドメインUインストール準備
[root@centos ~]# mkdir work ; cd work/ ← 一時ディレクトリ作成&移動

[root@centos work]# wget http://ftp.riken.jp/Linux/fedora/core/6/i386/os/Fedora/RPMS/yum-3.0-6.noarch.rpm
 ← Fedora版yumダウンロード

[root@centos work]# rpm2cpio yum-3.0-6.noarch.rpm |cpio -id ← Fedora版yum展開

[root@centos work]# cp etc/yum.conf /mnt/etc/ ← Fedora版yum設定ファイルをyum設定ファイル格納ディレクトリへコピー

[root@centos work]# wget http://ftp.riken.jp/Linux/fedora/core/6/i386/os/Fedora/RPMS/fedora-release-6-4.noarch.rpm
 ← Fedora固有設定ダウンロード

[root@centos work]# rpm2cpio fedora-release-6-4.noarch.rpm |cpio -id ← Fedora固有設定展開

[root@centos work]# cp -r etc/yum.repos.d/ /mnt/etc/
 ← Fedora版yumリポジトリ設定ディレクトリをyum設定ファイル格納ディレクトリへコピー

[root@centos work]# cd ; rm -rf work/ ← 一時ディレクトリを抜ける&削除

[root@centos ~]# sed -i 's/\$releasever/6/g' /mnt/etc/yum.repos.d/* ← yum設定ファイル中のバージョン変数を置換

[root@centos ~]# sed -i 's/\$basearch/i386/g' /mnt/etc/yum.repos.d/* ← yum設定ファイル中のアーキテクチャ変数を置換

[root@centos ~]# sed -i 's/plugins=.*/plugins=0/g' /mnt/etc/yum.conf ← yumプラグイン無効化

[root@centos ~]# echo exclude=firstboot-tui >> /mnt/etc/yum.conf ← firstboot-tuiをインストール対象外にする

[root@centos ~]# mkdir -p /mnt/var/log ← yumログ格納ディレクトリ作成

(2)ドメインUインストール
[root@centos ~]# rpm --root=/mnt/ --import http://ftp.riken.jp/Linux/fedora/core/6/i386/os/RPM-GPG-KEY-fedora
 ← FedoraのGPGキーインポート

[root@centos ~]# yum -c /mnt/etc/yum.conf --installroot=/mnt -y groupinstall Base "Development Tools"
 ← Base、Development Toolsグループインストール
※大量のパッケージダウンロード&インストールを行なうため時間がかかる
※touchコマンドで固まる場合はCTRL+Cキー押下で中断し、リトライする

(3)ドメインUXen対応kernelインストール
[root@centos ~]# echo alias scsi_hostadapter xenblk >> /mnt/etc/modprobe.conf ← 読込み対象モジュールにxenblkを追加
※Xen対応kernelインストール時にinitrdが作成されるが、その際に上記モジュールが読み込まれていないと仮想ディスクを扱えない

[root@centos ~]# yum -c /mnt/etc/yum.conf --installroot=/mnt -y install kernel-xen ← ドメインUへXen対応kernelをインストール
※/sys/blockオープンエラーメッセージが出るが問題ない

[root@centos ~]# cp /mnt/boot/vmlinuz-2.6.20-1.2944.fc6xen /boot/ ← ドメインUのkernelイメージをドメイン0へコピー

[root@centos ~]# cp /mnt/boot/initrd-2.6.20-1.2944.fc6xen.img /boot/ ← ドメインUのinitrdをドメイン0へコピー

[root@centos ~]# yum -c /mnt/etc/yum.conf --installroot=/mnt -y remove kernel ← ドメインUから通常kernelを削除

(4)ドメインUインストール後処理
[root@centos ~]# /bin/mv /mnt/etc/yum.conf.rpmnew /mnt/etc/yum.conf ← yum設定ファイルを最新版に差し替え

[root@centos ~]# for i in `ls /mnt/etc/yum.repos.d/*.rpmnew|sed -e 's/\([^ ]*\)\.rpmnew$/\1/p' -e d` ; do /bin/mv $i.rpmnew $i ; done
 ← yumリポジトリ設定ファイルを最新版に差し替え

■ドメインU各種設定

(1)ドメインUネットワーク設定
[root@centos ~]# vi /mnt/etc/sysconfig/network-scripts/ifcfg-eth0 ← eth0設定ファイル作成
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.20
NETMASK=255.255.255.0

[root@centos ~]# vi /mnt/etc/sysconfig/network ← ネットワーク設定ファイル作成
NETWORKING=yes
HOSTNAME=fedoraU.fedorasrv.com
GATEWAY=192.168.1.1

[root@centos ~]# echo nameserver 192.168.1.1 > /mnt/etc/resolv.conf ← 参照先DNSサーバー設定ファイル作成

[root@centos ~]# vi /mnt/etc/hosts ← ローカル用ホスト名/IPアドレス設定ファイル作成
127.0.0.1       fedoraU.fedorasrv.com fedoraU localhost.localdomain localhost

[root@centos ~]# echo alias eth0 xennet >> /mnt/etc/modprobe.conf ← 仮想ネットワーク用ドライバモジュール読み込み設定

(2)ドメインU言語設定
[root@centos ~]# echo LANG="ja_JP.UTF-8" > /mnt/etc/sysconfig/i18n ← 言語を日本語に設定

(3)ドメインUタイムゾーン設定
[root@centos ~]# /bin/cp /mnt/usr/share/zoneinfo/Asia/Tokyo /mnt/etc/localtime ← 時間を日本時間に設定

(4)ドメインUrootパスワード設定
[root@centos ~]# cp /mnt/etc/skel/.bash* /mnt/root/ ← bash設定ファイルをrootホームディレクトリにコピー

[root@centos ~]# chroot /mnt/ ← ドメインUインストール領域を/(ルート)にする

[root@centos /]# pwconv ← /etc/shadowファイル作成

[root@centos /]# echo xxxxxxxx|passwd --stdin root ← rootユーザパスワード設定
Changing password for user root.
passwd: all authentication tokens updated successfully.

[root@centos /]# exit ← chroot終了

(5)ドメイン0再起動
[root@centos ~]# reboot ← ドメイン0再起動

■ドメインU起動設定

[root@centos ~]# vi /etc/xen/Fedora6 ← ドメインU起動設定ファイル作成
kernel = "/boot/vmlinuz-2.6.20-1.2944.fc6xen"
ramdisk = "/boot/initrd-2.6.20-1.2944.fc6xen.img"
memory = 128 ← ドメインUに割当てるメモリ量
name = "Fedora6" ← ドメインUの名前※設定ファイル名と同じにすること
vif = [ '' ]
disk = ['file:/var/lib/xen/images/Fedora6.img,hda1,w','file:/var/lib/xen/images/Fedora6.swap,hda2,w']
root = "/dev/hda1 ro"
extra = "selinux=0"

■ドメインU起動

[root@centos ~]# xm create -c Fedora6 ← ドメインU起動
・
・
・
CentOS Core release 6 (Zod)
Kernel 2.6.20-1.2944.fc6xen on an i686

fedoraU.fedorasrv.com login: root

■ドメインU確認

fedoraU login: root ← rootユーザでログイン
Password:  ← rootパスワード応答
[root@fedoraU ~]# 

[root@fedoraU ~]# ping -c 4 www.linux.or.jp ← ネットワーク疎通確認
PING mizuho.linux.or.jp (210.171.226.47) 56(84) bytes of data.
64 bytes from mizuho.linux.or.jp (210.171.226.47): icmp_seq=1 ttl=58 time=13.3 ms
64 bytes from mizuho.linux.or.jp (210.171.226.47): icmp_seq=2 ttl=58 time=13.8 ms
64 bytes from mizuho.linux.or.jp (210.171.226.47): icmp_seq=3 ttl=58 time=13.8 ms
64 bytes from mizuho.linux.or.jp (210.171.226.47): icmp_seq=4 ttl=58 time=13.4 ms

--- mizuho.linux.or.jp ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 13.398/13.635/13.841/0.211 ms

CTRL+]キー押下 ← ドメインUコンソールから切断

[root@centos ~]#  ← ドメイン0に戻った

[root@centos ~]# xm list ← ドメイン確認
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      365     1 r-----   1223.4
Fedora6                                    1      127     1 ------     30.0

[root@centos ~]# xm console Fedora6 ← ドメインUコンソールへ接続

空ENTER

[root@fedoraU ~]#  ← ドメインUに接続した

[root@fedoraU ~]# halt ← ドメインU停止

または

[root@centos ~]# xm shutdown Fedora6 ← ドメイン0からXenのコマンドで停止

■ドメインU自動起動設定

[root@centos ~]# ln -s /etc/xen/Fedora6 /etc/xen/auto/Fedora6 ← 自動起動設定ファイル格納ディレクトリへリンク作成

■ゲストOSのkernelアップデート

−−ゲストOS側作業(ここから)−−
[root@fedoraU ~]# uname -r ← 使用中kernelバージョン確認
2.6.19-1.2911.6.5.fc6xen

[root@fedoraU ~]# rpm -q kernel-xen ← インストール済kernel確認
kernel-xen-2.6.19-1.2911.6.5.fc6
kernel-xen-2.6.20-1.2933.fc6 ← kernelバージョンアップしている

[root@fedoraU ~]# halt ← システム停止
−−ゲストOS側作業(ここまで)−−



−−管理OS側作業(ここから)−−
[root@centos ~]# mount -o loop /var/lib/xen/images/Fedora6.img /mnt ← ドメインUインストール領域マウント

[root@centos ~]# cp /mnt/boot/vmlinuz-2.6.20-1.2933.fc6xen /boot/ ← ドメインUの最新版のXen対応kernelイメージをドメイン0へコピー

[root@centos ~]# cp /mnt/boot/initrd-2.6.20-1.2933.fc6xen.img /boot/ ← ドメインUの最新版のXen対応initrdをドメイン0へコピー

[root@centos ~]# umount /mnt/ ← ドメインUインストール領域マウント解除

[root@centos ~]# vi /etc/xen/Fedora6 ← ドメインU起動設定ファイル編集
kernel = "/boot/vmlinuz-2.6.20-1.2933.fc6xen" ← 最新版のXen対応kernelイメージに変更
ramdisk = "/boot/initrd-2.6.20-1.2933.fc6xen.img" ← 最新版のXen対応initrdに変更

[root@centos ~]# xm create -c Fedora6 ← ドメインU起動
−−管理OS側作業(ここまで)−−



−−ゲストOS側作業(ここから)−−
[root@fedoraU ~]# uname -r ← 使用中kernelバージョン確認
2.6.20-1.2933.fc6xen ← 最新版kernelで起動していることを確認
−−ゲストOS側作業(ここまで)−−



−−管理OS側作業(ここから)−−
[root@centos ~]# rm -f /boot/vmlinuz-2.6.19-1.2911.6.5.fc6xen ← ドメインUの旧Xen対応kernelイメージを削除

[root@centos ~]# rm -f /boot/initrd-2.6.19-1.2911.6.5.fc6xen.img ← ドメインUの旧Xen対応initrdを削除
−−管理OS側作業(ここまで)−−



▲このページのトップへ戻る

LPIロゴ Copyright© 2005-2008 fallenangels, All rights reserved.
ご自由にリンクしてください(連絡は不要です)
本ページへのご意見・ご要望、誤字・脱字・リンク切れ等のご連絡はこちらからお願いします