前編「Oracleの仮想化戦略を担うOracle VM、そのアーキテクチャとは?」では、Oracle VMの概要とアーキテクチャ、ライセンス体系などについて解説した。今回は、Oracle VMのセットアップと実際の機能、および簡単な性能面について説明する。
Oracle VMのセットアップは、基本的にはインストールガイドを参照することで問題なく行えるはずだ。従ってここでは詳細は割愛し、幾つかのポイントのみを挙げる。
Oracle VM ServerのインストールCDをCD-ROMドライブにセットしてインストーラを起動する。後は基本的にインストーラの指示通り進めていけば、問題なくインストールが完了する。
ただし、各メーカーのサーバ独自の管理パーティションなどがある場合には、パーティション選択のところで“Use free space in selected drives and create default layout”を選択する必要がある。
また、パーティションタイプとしてocfs2(Oracle Cluster File System 2)を選択できるのも特徴的な点の1つである(画面1)
インストール前の準備
Oracle VM Manager自体のインストール作業を行う前に、まずはOS(Linux)をマシンにインストールしておく必要がある。また、「Oracle VM Manager Installation Guide」の「Troubleshooting」の項目には、インストール時に起きる可能性のあるトラブルについて記載されている。事前に目を通しておくといいだろう。
ovm-consoleプラグインについて
Oracle VM Managerでは、仮想マシン(VM)のコンソールを表示するのにTightVNCが使われている。Linuxマシン上のMozilla FirefoxからOracle VM Managerにアクセスしてコンソールを表示するには、Firefox用のプラグイン(ovm-console)をそのマシンにインストールする必要がある。
ovm-consoleプラグインはOracleからRPMパッケージとして提供されており、http://oss.oracle.com/oraclevm/manager/RPMSからダウンロードすることができる。CPU種別に応じた以下2種類のRPMパッケージがあるので、インストールするマシンに適切な方を選んでダウンロードする。
| CPU | RPMパッケージ |
|---|---|
| i386 | ovm-console-1.0.0-2.i386.rpm |
| x86_64 | ovm-console-1.0.0-2.x86_64.rpm |

Oracle VM Managerのインストール
インストーラ起動後、「Oracle VM Manager Installation Guide」の手順に従って作業を行えば、基本的には問題なくインストールが完了するはずだ。ただし、Linuxマシン上のFirefoxからOracle VM Managerを使用する場合には、ovm-consoleプラグインをインストールする必要がある。
先ほどダウンロードしたovm-consoleプラグインのRPMパッケージを、以下の手順でインストールする。
上記手順が完了したら、Firefoxを起動してURL欄に「about:plugins」と入力し、ovm-consoleプラグインが正しく認識されていることを確認する。
Orace VM Managerへの接続とOracle VM Serverの登録
次に、インストールしたOracle VM Managerを使ってOracle VM Serverの設定と登録を行う。Webブラウザでhttp://(Oracle VM ManagerのマシンのIPアドレス)/OVS/へアクセスし、“admin”ユーザーでOracle VM Managerにログインする。
まずは、サーバプールにOracle VM Serverを追加するため、[Server Pools]タブ画面で[Create Pool]ボタンを押す。
サーバ名、IPアドレスなどサーバに関する諸情報を入力する。1台のサーバでServer Pool Master、Utility Server、Virtual Machine Serverを兼ねる場合は、それぞれのチェックボックスをすべて選択する。必要に応じてUtility Serverが使うアカウントを入力したら、[Add]ボタンを押す。
利用ユーザーのアカウント情報を設定し、[Next]ボタンを押す。
サーバプール名を指定して、[Next]ボタンを押す。
これまでの手順で指定した内容を確認する画面が表示される。[Confirm]ボタンを押し、設定内容を保存する。
以上で、Oracle VM Serverがサーバプールに追加される。
以上のように、Oracle VM Managerに関連する各種セットアップ作業はXenにはない、Oracle VM独自のものである。そのため、手順としてもその分がプラスアルファで増える形となる。
ただし、ハイパーバイザー(Oracle VM Server)についてはインストール作業時に各種設定も同時に行うため、非常に簡単にセットアップできるようになっている。また、不要なサービスを停止する必要がないのも便利な点といえるだろう。
ここでも詳細な手順は割愛し、完全仮想化と準仮想化、それぞれの場合の違いについて簡単に触れることにする。
完全仮想化環境でVMを作成すると、ゲストOSとしてLinuxに加えてWindowsも使用することができる。
完全仮想化環境でゲストOSをインストールするには、まずはゲストOSインストール用のISOイメージを「プール」(Oracle VM Managerが認識できる領域)にコピーする。そして、VMを起動する際に実機と同様にCD(イメージ)ブートを行うことで、ゲストOSをインストールできる。
ゲストOSとしてLinuxをインストールする場合、カーネルのインストール状況の表示は以下の通り、実機にインストールする場合と同じだ。すなわち、実機の場合と同じカーネルがゲストOSとしてインストールされる。
[表示例]
[root@localhost ~]# uname -r
2.6.18-53.el5
[root@localhost ~]# rpm -qa |grep kernel
kernel-devel-2.6.18-53.el5
kernel-headers-2.6.18-53.el5
kernel-2.6.18-53.el5
……
……
準仮想化環境でのVM作成は、現在のところLinuxがゲストOSの場合にのみ可能となっている。このタイプの仮想化では、ゲストOS(Linux)のカーネルがハイパーバイザー用に最適化されており、完全仮想化よりもパフォーマンスが向上することが多い。
準仮想化環境でゲストOSをインストールするには、ゲストOSのインストールCDの中身をあらかじめNFS、HTTP、FTPなどでアクセス可能な領域に展開しておいてから、インストールを行う。
ちなみにLinuxカーネルのインストール状況の表示を見ると、完全仮想化の場合とは異なり、仮想化環境用に最適化されたカーネルが適用されていることが分かる。
[表示例]
[root@localhost ~]# uname -r
2.6.18-53.el5xen
[root@localhost ~]# rpm -qa |grep kernel
kernel-xen-devel-2.6.18-53.el5
kernel-headers-2.6.18-53.el5
kernel-xen-2.6.18-53.el5
……
……
Oracleが配布している“VMのテンプレート”を利用することで、CDなどの媒体からインストールするよりも簡単にVMを作成することができる。また、ユーザーが一から作成したVMをテンプレート化して保存することもできる。
実際の環境構築・運用を考えた場合には、まずはベースとなるVMをCD媒体などからインストールして一から作成し、後にそれをテンプレート化してほかの環境のインストール時に利用するという流れになるだろう。
インストール後のOracle VMに対する操作は、基本的にはOracle VM ManagerにWebブラウザでアクセスして行う。Oracle VM Managerの機能はOracle VM独自のもので、Xenとの差別化が図られている部分である。データの管理にOracle Database Express Editionを利用していることもあってか、今回触った限りでは非常にレスポンスが良く、快適であった。ただし、メニューを含めて表示はすべて英語であり、日本語への表示変更などは行えない。
また、Oracle VM ManagerからはゲストOSの基本的な設定変更までしか行うことはできない。例えば複雑なネットワーク構成を組みたい場合などは、直接設定ファイルを修正する必要がある(詳細は次項で述べる)。そのため、Oracle VMの管理者はOracle VM Managerのインタフェースを操作できるだけでなく、LinuxやOracle VM(Xen)についてある程度深い知識が必要となる。
Oracle VM Managerの画面では、ゲストOSのコンソールを表示することも可能だ(画面8)。ただし、非Linuxマシンでコンソールを表示させるには、前述したOracle VM Managerセットアップ手順に加えて、tightvnc-javaパッケージをOracle VM Managerが動いているマシンに追加インストールする必要がある。tightvnc-javaパッケージは、http://oss.oracle.com/oraclevm/manager/RPMSからダウンロードすることができる(今回追加したパッケージは、tightvnc-java-1.3.9-3.rpm)。
VMの作成や設定変更は、Oracle VM Managerの画面より該当メニューを選択して行う。設定できるのは、以下のような項目である。
上記以外の設定を行いたい場合には、/etc/xenディレクトリ下などにある設定ファイルを直接編集する必要がある。例えば、以下のようなネットワーク設定を行うには、/etc/xen/xend-config.sxpや/etc/xen/scriptsの下の設定ファイルを編集する必要がある。
実機、完全仮想化、および準仮想化のパフォーマンスの違いを調査するために、単独起動中のOS(仮想化環境ではゲストOS)に対して幾つかのOSベンチマークテストを実施した。
その結果、CPU、メモリ、I/Oいずれのリソースについても、“実機≒準仮想化>完全仮想化”という測定値が得られた。ごく簡単なベンチマークテストの結果からではあるが、特に準仮想化環境で実装されたゲストOSは、実システムでも活用できるレベルにあると推測される。
しかし一部のミドルウェアなどには、OSのカーネルにフックをかける形で機能を実装しているものがある。準仮想化環境上のゲストOSは仮想化環境用に最適化されたカーネルを使用するため、そのようなミドルウェアが正しく動作しない可能性がある。その場合には、ミドルウェアベンダーの対応を待つ必要がある。準仮想化の場合、こうした点に注意する必要がある。
以上、前後編に分けてOracle VMの機能や特徴について見てきた。Oracle VMはハイパーバイザーの機能的にはXenとほぼ同一であり、異なる点はハイパーバイザー部分以外のOracle VM Managerの管理機能や、Oracleが提供するサポートサービスといったところになる。
Oracle VMが今後、企業システム基盤としての使用に耐え得るようになるには、例えばハイパーバイザー自体の可用性の確保や、Oracle VM ManagerのOracle Enterprise Managerへの統合といった幾つかの課題をクリアする必要があるだろう。しかし、Oracle VM ManagerとOracle Enterprise Managerの連携については既に発表されており、ほかの課題についても徐々に解決されていくようだ。
このように1つひとつ課題をクリアしていくことで、将来的には企業システム基盤としての運用にも耐え得るソフトウェアになる可能性があると考える。
入社以来、データベースを利用したシステムの開発や構築などを担当。
現在は上記に加えて、主にデータベースを中心としたOracle製品の社内技術支援や技術評価なども担当する。