連載
» 2007年10月17日 00時00分 公開

実践! Xenで実現するサーバ統合(1):インストールと環境構築 (2/3)

[中嶋一樹, 高橋浩和,住商情報システム株式会社/VA Linux Systems Japan株式会社]

ゲストOSのセットアップ

 それではゲストOSの作成方法を見ていきましょう。

 RHEL 5では、ゲストOS作成支援ツールとして「virt-manager」と「virt-install」を提供しています。virt-managerでは、GUIを利用したウィザードを通じてゲストOSの作成を進めることができます。virt-installはCUIでの操作になります。

 今回は、X Windowが使えない環境でも利用できるvirt-installでの手順を紹介します。

■パーティションの準備からメディアのコピーまで

 ゲストOSをパーティションベースで保存する場合は、あらかじめパーティションを作成しておく必要があります。fdiskなどのツールでゲストOS用に確保したい領域を「/dev/sda5」などとして切り出しておきます。LVMの論理ボリュームも指定可能です。この時点でパーティションをフォーマットする必要はありません。

 ファイルベースで保存する場合は、virt-installで自動作成できますので、事前の準備は不要です。十分なディスクスペースがあることだけを確認しておいてください。

 次に、インストールするOSのレポジトリを用意しておきます。このレポジトリにはNFS、FTP、HTTPのいずれかでアクセスできる必要があります。CentOSなど、OSのレポジトリが近くのミラーサーバで一般公開されている場合は、わざわざ自前で用意せずともそちらを直接指定することも可能です。

 ここでは、Apache HTTPサーバを利用してレポジトリを自前で用意する方法を説明します。

 前提としてすでにApache HTTPサーバがインストールされて正しく稼働しているものとし、そのドキュメントルートは/var/www/htmlであるとします。

 まず、以下のいずれかを用意します。

  • RHEL 5のインストールディスク(CDまたはDVD)
  • RHEL 5の.isoファイル

 ドキュメントルート以下に、今回使用するOSのレポジトリを保存するディレクトリを作成します。

# mkdir /var/www/html/rhel5-x86_64

 インストールディスクの場合はメディアを物理サーバに挿入して/mntにマウントし、メディアの内容をすべて、HTTPサーバのドキュメントルート以下にコピーします。

# mount -r /dev/cdrom /mnt
# cp -a /mnt/* /var/www/html/rhel5-x86_64
# umount /mnt

 .isoファイルを使用する場合は、ファイルを任意のディレクトリにループバックデバイスとしてマウントしてコピーします。

# mount -o loop RHEL5-disk1.iso /mnt
# cp -a /mnt/* /var/www/html/rhel5-x86_64
# umount /mnt

 いずれのケースも、メディアが複数ある場合は、それらすべてについて上記の作業を繰り返し、メディアの全データをコピーします。

■HTTPサーバの設定

 次に、HTTPサーバの設定を行います。今回作成した/var/www/html/rhel5-x86_64ディレクトリについて、このディレクトリにアクセスするとその一覧が取得できるように設定します。

 Apacheの設定ファイルをエディタで開き、以下の記述を追記します(yumコマンドでApacheをインストールした場合、デフォルトで設定ファイルは/etc/httpd/conf/httpd.confとなっています)。

<Directory /var/www/html/rhel5-x86_64>
Option Indexes
</Directory>

 以下のようにApacheを再起動すれば、レポジトリの用意はOKです。

# apachectl restart

 次に、virt-installコマンドにてゲストOSのインストールを開始します。virt-installは、引数なしで実行すると対話形式でゲストOSに最低限必要なパラメータ入力を順に行うことができます。

# virt-install
Would you like a fully virtualized guest (yes or no)? This will allow you to run unmodified operating system.

 あるいは、引数を与えることでパラメータを一括して指定することもできます。以下は引数を与えて実行する例です。

# virt-install \
--paravirt \
--name=vm01 \
--vcpus=1 \
--ram=512 \
--file=/srv/vm01 \
--file-size=5 \
--location=http://172.20.95.44/rhel5-x86_64 \
--nographics \
--nonsparse

 以下、virt-installの各オプションの説明です。

オプション 内容
--paravirt 仮想化モードに準仮想化を指定します
--name ゲストOSの識別名を指定します
--vcpus ゲストOSへの仮想CPU割り当て個数を指定します
--ram ゲストOSへのメモリ割り当て量を指定します(Mbyte単位)
--file ゲストOSを保存するファイル、またはパーティションを指定します
--file-size ゲストOSを保存するファイルのサイズ、つまりゲストOSに割り当てるディスクサイズを指定します(Gbyte単位)
--location OSのリポジトリを指定します
--nographics CUIでのインストールを指定します。これを指定しない場合、VNC接続でのインストールとなります
--nonsparse ゲストOSを保存するファイルとして、Sparseファイルでない、通常のファイル形式を指定します

 ファイルの作成が完了すると、以下のようにOSのインストールウィザードが表示されます。

画面2 インストールウィザード開始 画面2 インストールウィザード開始

 あとはウィザードに従ってインストールを進めてください。通常のOSのインストールと同じ手順となります。

 インストールが完了すると、リブートを促されます。「OK」としてリブートを行うとゲストOSが再起動し、初回起動時にのみ、いくつかの設定項目が表示されます。このときにSELinuxは無効にしておきます(SELinuxが有効になっていると、Xenの使用時に問題が生じるため)。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。