最短3分! ゲストOSの効率的なインストール:実践! Xenで実現するサーバ統合(4)(1/3 ページ)
仮想化ソフトウェアの「Xen」を用いてサーバ統合を実践していく手順を具体的に紹介します。第4回は多数のゲストOSを効率的にインストールする手順を紹介します(編集部)
今回は、前回の「仮想マシンの集約密度を決めるサイジング」で紹介した手順に沿って、1台のサーバ上に何台の仮想サーバを集約するかの密度を算出したという前提で、大量の仮想マシンを効率的にインストールする手順をご紹介します。データセンターやサーバルームで大量の仮想マシンを立ち上げる際に有効な方法です。
【関連記事】
http://www.atmarkit.co.jp/flinux/special/xen01/xen01.html
仮想化技術の大本命「Xen」を使ってみよう〜インストール & Debian環境構築編〜
http://www.atmarkit.co.jp/flinux/special/xen02/xen01.html
仮想化技術の大本命「Xen」を使ってみよう〜Xen対応カスタムカーネル構築編〜
インストールとはそもそも何ぞや
第1回「インストールと環境構築」では、通常のゲストOSのインストール手順について説明しました。しかし、ほぼ同じ構成のゲストOSを一度に大量にインストールしたい場合、1つ1つインストールしていくやり方は効率的とはいえません。実は、仮想マシン環境でこのような作業をする場合、もっと良い手段があるのです。
そもそもOSのインストールとは、乱暴にいえば、必要なデータ(ファイルシステム)をディスクにコピーし、いくつかの初期パラメータを設定するという作業です。インストールを行うにはインストーラを走らせなければならないように思われがちですが、実際は必要なデータがコピーできさえすれば、それでよいのです。
この考え方でいくと、ゲストOSのインストールという作業は、非常に簡単に行うことができそうです。ホストOSから見ると、ゲストOSは基本的には単一のファイル、またはボリュームとして認識できます(注1)。
注1:厳密には、複数のファイルまたはボリュームから1つのゲストOSを構成することもできます
ということは、基となるゲストOSのファイルまたはボリュームさえ用意できれば、あとは単純にそれをコピーするだけで必要なデータをコピーできる、つまりゲストOSをインストールできるということになります。ゲストOSインストールの具体的な手順はいろいろありますが、結局は以下の3ステップに尽きます。
- 基となるゲストOSのファイルまたはボリュームをコピーする
- ゲストOSの定義ファイルを作成する
- ホスト固有の設定情報(IPアドレスなど)を編集する
それでは、上記の手順を実際にどのように進めるのかを見ていきましょう。
ファイルコピーで効率的に大量インストール
ここでは基となるゲストOSとして、第1回で作成したデータを利用します。このゲストOSはファイルの形式で、ホストOSのファイルシステム上に/srv/vm01として存在しています。
まず、手順1の「コピー」を行います。これはOS標準のcpコマンドで行うことができます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ただし、ゲストOSが格納されているファイルは最低でも数Gbytesというサイズに上ることが多いため、コピーを行う際にはディスクスペースが十分に空いていることを確認してください。併せて、コピーの前にvm01を停止しておくことも確認してください。
コピーが終われば、手順2の「定義ファイルの作成」に移ります。これも基になる定義ファイルをコピーして作成します。
virt-installやVirtial Machine Managerで作成したゲストOSの定義ファイルは、/etc/xen/ゲストOSの識別名として保存されています。今回でいえば「/etc/xen/vm01」がそれに当たります。これをcpコマンドでコピーし、必要な項目を適宜、新しいゲストOS用に編集します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
赤い部分は新しいゲストOS用に編集した項目です。
この中で少し戸惑うのは、uuidとvifのところではないでしょうか。uuidは識別子として汎用的に使われる属性で、uuidgenというツールを用いて簡単に生成できます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
こうして実行するたびに、ランダムなuuid値が生成できます。
次にMACアドレスですが、上位3オクテット(00:16:3e:)はベンダ固有の番号となっており、Xenの場合は一般的に、旧XenSourceの番号を用います。残る下3オクテットはランダムに値を生成して指定すればOKです。独自の割り当てポリシーに従って指定してもいいですし、それが面倒な場合は、以下のスクリプト(注2)を使えばuuidgenと同様の操作感でランダムにMACアドレスを生成できます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
注2:このスクリプトはまったくランダムにアドレスを生成しますので、結果的にMACアドレスに重複が出る可能性もゼロではありません。実環境で運用される際には、IPアドレス同様にMACアドレスも指定して管理することをお勧めします
最後に、手順3の「ホスト固有の設定情報の編集」を行います。この作業を最も簡単に行うには、一度このゲストOSを起動し、そのOS上で設定を行うのがよいでしょう。
ただし、この時点ではまだvm02の設定はvm01と全く同じ内容になっているので、vm01が起動しているとIPアドレスのバッティングが起こってしまいます。そこで、vm01は停止したままで、以下のようにvm02を起動してください。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
vm02が起動したら、設定を行います。ここで重要なのは「ホスト固有の設定情報」としてどのような項目があるかを知っておくことです。以下に最低限の項目を列挙します。
- ホスト名
- IPアドレス
- MACアドレス
これらを設定するには、以下のファイルを編集していきます(この手順では前回までと同様、OSはRed Hat Enterprise Linux 5:RHEL 5を想定しています)。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ここまで設定すれば、後は再起動すればゲストOSのインストールは完了です。
実際には、DHCPを使っている環境ならば、IPアドレスやホスト名は個々に設定する必要はありません。またMACアドレスについては、特段指定しなくとも、ゲストOS定義ファイルの設定情報を基にOSが自動的に認識してくれるので、省略しておいた方が無難です。
逆に、元のゲストOSをある程度作り込んでいる場合には、上記のほかにも各アプリケーションの設定ファイル中のIPアドレス/ホスト名、クラスタ構成でのノードIDなど、ホスト固有の情報が存在しますので、それを設定する必要があります。
Copyright © ITmedia, Inc. All Rights Reserved.