Linuxmaniaトップ活用ガイド仮想化ソフトウェアXenを使う(CentOS)

Linuxデスクトップを使おう




仮想化ソフトウェアXenを使う(CentOS)



 CentOS 5.1でXenを利用する方法について解説します。

 まずホストOSにXenをインストールする方法を説明し、
次にゲストOSを完全仮想化と準仮想化で構築する手順を説明します。


 手順1: ホストOS に Xen をインストールする
 手順2: ゲストOS を完全仮想化で構築する
 手順3: ゲストOS を準仮想化で構築する
 手順4: 構築したゲストOSを利用する

 コラム1: ホストOS と ゲストOS
 コラム2: 完全仮想化 と 準仮想化
 コラム3: 既知の問題



手順1: ホストOS に Xen をインストールする

1. Xen をインストールします。



1-1. コマンドを打ち込むため、端末を起動します。


 メニューの [アプリケーション] → [システムツール] → [端末] を実行します。



1-2. su コマンドを実行し、root (管理者)になります。


[user@localhost ~]$ su -
パスワード: (管理者用パスワードを入力します)
[root@localhost ~]#

 管理者権限を得るのに成功すると、プロンプトが $ から # に変化します。



1-3. yum コマンドを実行し、Xen 関係のパッケージをインストールします。


[root@localhost ~]# yum install xen kernel-xen virt-manager

 いくつか質問が出ますが、全て Yes で特に問題ありません。



2. 起動設定を書き換え、Xenカーネルで起動します。

 Xenを利用するためには、Xenの機能を組み込んだカーネルを利用する必要があります。

 起動設定ファイルは、/boot/grub/grub.confにあります。


#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-53.1.13.el5xen)
	root(hd0,0)
	kernel /xen.gz-2.6.18-53.1.13.el5
	module /vmlinuz-2.6.18-53.1.13.el5xen ro root=/dev/VolGroup00/LogVol00 pci=nommconf rhgb quiet
	module /initrd-2.6.18-53.1.13.el5xen.img
title CentOS (2.6.18-53.1.13.el5)
	root(hd0,0)
	kernel /vmlinuz-2.6.18-53.1.13.el5 ro root=/dev/VolGroup00/LogVol00 pci=nommconf rhgb quiet
	initrd /initrd-2.6.18-53.1.13.el5.img
title CentOS (2.6.18-53.el5)
	root(hd0,0)
	kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVol00 pci=nommconf rhgb quiet
	initrd /initrd-2.6.18-53.el5.img

 Xen対応カーネル(2.6.18-53.1.13.el5xen)が一番上になっておりますので、「default=0」とします。

※「default=1」とすると2番め(2.6.18-53.1.13.el5)を指定することになってしまいます。ご注意下さい。



3. PCを再起動します。




手順2: ゲストOS を完全仮想化で構築する


1. 仮想マシンマネージャを起動します。


 メニューの [アプリケーション]→[システムツール]→[Virtual Machine Manager] で起動できます。





2. [仮想マシンマネージャ] ウィンドウの [新規] を押します。


 [新しい仮想システムを作成中] では [進む] を押します。





3. [仮想システムの名前を指定中] では名前を入力します。





4. [仮想化の方法を選択中] では [完全仮想化] を選択します。





5. [インストールメディアの検索中] では [CD-ROMまたはDVD]を選択し、
  [インストールメディアへのパス] でメディアを選択します。


 さらに、インストールしたいOSにあわせて [OSタイプ] と [OS種別] を選択します。





6. [ストレージ領域を割り当て中] では [シンプルファイル]を選択し、ファイルの場所とサイズを指定します。





7. [ホストネットワークに接続] では、[進む] を押します。





8. [メモリとCPUの割り当て] ではメモリサイズとCPUの割り当て個数を指定します。





9. [インストール準備完了] で設定内容を確認し、問題がなかったら [完了] を押します。





10. 仮想マシンのファイルが作成され、仮想マシンが起動します。





11. あとは、通常通りOSをインストールします。






手順3: ゲストOS を準仮想化で構築する


1. ローカルリポジトリを設置する


 準仮想化では、PC の DVDドライブ や ISOイメージ を直接利用することができません。
 インストールはネットワーク経由で行う必要があります。

 CentOS 5.1 をネットワーク経由でインストールするために、ローカルにリポジトリを設置します。
 ネットワークインストールでは、ネットワーク上のリポジトリからファイルを読み込み、インストールを行います。
 ローカルリポジトリは、Xen が動いてる PC とは別の PC に設置する必要があります。

 CentOS 5.1 の リポジトリは、Webサーバ および FTPサーバ 上に構築することが可能です。
 目的のディレクトリ内に、CentOS 5.1 の インストールDVD の中身を全てコピーすれば構築完了です。

 リポジトリを設置した後は、リポジトリが外部から見れるか Webブラウザ などで確認します。



2. 仮想マシンマネージャを起動します。


 メニューの [アプリケーション]→[システムツール]→[Virtual Machine Manager] で起動できます。





3. [仮想マシンマネージャ] ウィンドウの [新規] を押します。


 [新しい仮想システムを作成中] では [進む] を押します。





4. [仮想システムの名前を指定中] では名前を入力します。





5. [仮想化の方法を選択中]では [準仮想化]を選択します。





6. [インストールメディアの検索中] では [インストールメディアのURL] に  リポジトリのURLを入力します。


 サンプル画面では CentOS 5.1 の公式リポジトリの URL になっていますが、
 実際のインストールでは 1 で設置したローカルリポジトリの URL を指定するようにして下さい。

※公式リポジトリを利用しますとインストールに時間がかかりますし、サーバにも負荷がかかってしまいます。





7. [ストレージ領域を割り当て中] では [シンプルファイル]を選択し、ファイルの場所とサイズを指定します。





8. [ホストネットワークに接続] では、[進む] を押します。





9. [メモリとCPUの割り当て] ではメモリサイズとCPUの割り当て個数を指定します。





10. [インストール準備完了] で設定内容を確認し、問題がなかったら [完了] を押します。





11. 仮想マシンのファイルが作成され、仮想マシンが起動します。





12. あとは、通常通りOSをインストールします。


 インストールに利用する言語を聞いてきますので、「Japanese」を選択します。




 LANの設定に合わせてTCP/IPの設定をします。

※通常は、デフォルトの設定 (Dynamic IP configuration) で大丈夫と思われます。




 グラフィカルな画面が出た後の手順は、普通のインストールとほぼ同じです。






手順4: 構築したゲストOSを利用する


1. 仮想マシンマネージャを起動します。


 [アプリケーション]→[システムツール]→[Virtual Machine Manager]を実行します。



2. 起動したいゲストを選択して[開く]を押します。



3. [実行]を押します。




コラム1: ホストOS と ゲストOS

 Xen などの仮想化技術でよく使われる用語に、「ホストOS」と「ゲストOS」があります。

 ホストOS とは PCのハードウェア を直接操作する OS のことで、仮想化技術を利用する場合の土台にあたります。
 ゲストOS とは 仮想化技術の上で動く OS のことで、基本的に PC を直接操作することはできません。
 
 例えるなら、ホストOS が親亀で ゲストOS が子亀 というところでしょうか。
 親亀は好きな方向に直接歩くことができますが、親亀の上に載っている子亀は行きたい方向を親亀に伝え、
 歩くことは親亀に任せることになります。
 ゲストOS も直接ハードウェアを操作することはできず、ホストOS に仲介してもらう必要があります。

※実は ホストOS と ゲストOS の関係は 1対1ではなく、1つの ホストOS上 で同時に複数の ゲストOS が活動可能です。
 また、ゲストOS を動的に違うサーバの ホストOS 上へ移住させる(マイグレーション) 技術もあり、
 サーバの動作状況に応じて ゲストOS を振り分け直すことができます。
 



コラム2: 完全仮想化 と 準仮想化

 Xen などの仮想化技術でよく使われる用語に、「完全仮想化」と「準仮想化」があります。

 完全仮想化は、実在のハードウェアをソフトウェアで完全にエミュレートする技術です。
 既存の OS をそのまま利用可能という利点があり、手を加えることが難しい Windows系OS も動かせます。
 Xen の完全仮想化には、CPUによる完全仮想化サポートが必要です。(Intel の VT技術、AMD の AMD-V技術 など)

 準仮想化は、ハードウェアを完全にはエミュレートせず、仮想化に都合のいい仮想ハードウェアを再定義する技術です。
 エミュレーションのオーバーヘッドを抑え、完全仮想化よりも高いパフォーマンスを発揮することが可能ですが、
 ゲストOS も仮想ハードウェアに対応している必要があります。
 通常、OS に対する修正が必要となるため、Windows系OS などの 商用OS は利用できないことが多いです。

 完全仮想化と準仮想化は一長一短です。目的に応じて選択するのがよいでしょう。



コラム3: 既知の問題

 1. CentOS 5.1 上の Xen では、Fedora 8 を準仮想化でインストールすることができません。
   これは、GUIフロントエンド の仮想マシンマネージャが Fedora 8 に未対応のためです。
   (コマンドラインからのインストールは可能であると思われます)

 2. CentOS 5.1 上の Xen では、ゲストOS からの CD/DVDドライブ利用はインストール時のみ可能です。
   インストールが失敗した時は、改めて [新規] からやり直す必要があります。
   (コマンドラインからの実行すれば再インストール可能です)


[作成日 2008/2/29]