仮想化ソフトウェアXenを使う(CentOS)
CentOS 5.1でXenを利用する方法について解説します。
まずホストOSにXenをインストールする方法を説明し、
次にゲストOSを完全仮想化と準仮想化で構築する手順を説明します。
手順1: ホストOS に Xen をインストールする
手順2: ゲストOS を完全仮想化で構築する
手順3: ゲストOS を準仮想化で構築する
手順4: 構築したゲストOSを利用する
コラム1: ホストOS と ゲストOS
コラム2: 完全仮想化 と 準仮想化
コラム3: 既知の問題
メニューの [アプリケーション] → [システムツール] → [端末] を実行します。
[user@localhost ~]$ su - パスワード: (管理者用パスワードを入力します) [root@localhost ~]#
[root@localhost ~]# yum install xen kernel-xen virt-manager
いくつか質問が出ますが、全て Yes で特に問題ありません。
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)を指定することになってしまいます。ご注意下さい。
メニューの [アプリケーション]→[システムツール]→[Virtual Machine Manager] で起動できます。
[新しい仮想システムを作成中] では [進む] を押します。
さらに、インストールしたいOSにあわせて [OSタイプ] と [OS種別] を選択します。
準仮想化では、PC の DVDドライブ や ISOイメージ を直接利用することができません。
インストールはネットワーク経由で行う必要があります。
CentOS 5.1 をネットワーク経由でインストールするために、ローカルにリポジトリを設置します。
ネットワークインストールでは、ネットワーク上のリポジトリからファイルを読み込み、インストールを行います。
ローカルリポジトリは、Xen が動いてる PC とは別の PC に設置する必要があります。
CentOS 5.1 の リポジトリは、Webサーバ および FTPサーバ 上に構築することが可能です。
目的のディレクトリ内に、CentOS 5.1 の インストールDVD の中身を全てコピーすれば構築完了です。
リポジトリを設置した後は、リポジトリが外部から見れるか Webブラウザ などで確認します。
メニューの [アプリケーション]→[システムツール]→[Virtual Machine Manager] で起動できます。
[新しい仮想システムを作成中] では [進む] を押します。
サンプル画面では CentOS 5.1 の公式リポジトリの URL になっていますが、
実際のインストールでは 1 で設置したローカルリポジトリの URL を指定するようにして下さい。
※公式リポジトリを利用しますとインストールに時間がかかりますし、サーバにも負荷がかかってしまいます。
インストールに利用する言語を聞いてきますので、「Japanese」を選択します。
LANの設定に合わせてTCP/IPの設定をします。
※通常は、デフォルトの設定 (Dynamic IP configuration) で大丈夫と思われます。
グラフィカルな画面が出た後の手順は、普通のインストールとほぼ同じです。
[アプリケーション]→[システムツール]→[Virtual Machine Manager]を実行します。
Xen などの仮想化技術でよく使われる用語に、「ホストOS」と「ゲストOS」があります。
ホストOS とは PCのハードウェア を直接操作する OS のことで、仮想化技術を利用する場合の土台にあたります。
ゲストOS とは 仮想化技術の上で動く OS のことで、基本的に PC を直接操作することはできません。
例えるなら、ホストOS が親亀で ゲストOS が子亀 というところでしょうか。
親亀は好きな方向に直接歩くことができますが、親亀の上に載っている子亀は行きたい方向を親亀に伝え、
歩くことは親亀に任せることになります。
ゲストOS も直接ハードウェアを操作することはできず、ホストOS に仲介してもらう必要があります。
※実は ホストOS と ゲストOS の関係は 1対1ではなく、1つの ホストOS上 で同時に複数の ゲストOS が活動可能です。
また、ゲストOS を動的に違うサーバの ホストOS 上へ移住させる(マイグレーション) 技術もあり、
サーバの動作状況に応じて ゲストOS を振り分け直すことができます。
Xen などの仮想化技術でよく使われる用語に、「完全仮想化」と「準仮想化」があります。
完全仮想化は、実在のハードウェアをソフトウェアで完全にエミュレートする技術です。
既存の OS をそのまま利用可能という利点があり、手を加えることが難しい Windows系OS も動かせます。
Xen の完全仮想化には、CPUによる完全仮想化サポートが必要です。(Intel の VT技術、AMD の AMD-V技術 など)
準仮想化は、ハードウェアを完全にはエミュレートせず、仮想化に都合のいい仮想ハードウェアを再定義する技術です。
エミュレーションのオーバーヘッドを抑え、完全仮想化よりも高いパフォーマンスを発揮することが可能ですが、
ゲストOS も仮想ハードウェアに対応している必要があります。
通常、OS に対する修正が必要となるため、Windows系OS などの 商用OS は利用できないことが多いです。
完全仮想化と準仮想化は一長一短です。目的に応じて選択するのがよいでしょう。
1. CentOS 5.1 上の Xen では、Fedora 8 を準仮想化でインストールすることができません。
これは、GUIフロントエンド の仮想マシンマネージャが Fedora 8 に未対応のためです。
(コマンドラインからのインストールは可能であると思われます)
2. CentOS 5.1 上の Xen では、ゲストOS からの CD/DVDドライブ利用はインストール時のみ可能です。
インストールが失敗した時は、改めて [新規] からやり直す必要があります。
(コマンドラインからの実行すれば再インストール可能です)