2008年08月22日 08時00分 UPDATE
特集/連載

Oracle VMの実像に迫る!【後編】運用・管理面から見るOracle VMの「実用度」

Oracle VMの仕様やアーキテクチャが理解できても、本当に使えるかどうかは評価してみないと分からない。今回はセットアップや機能・性能面など、実際にOracle VMを動かす際のポイントを解説する。

[伴野泰弘,NECネクサソリューションズ]

 前編「Oracleの仮想化戦略を担うOracle VM、そのアーキテクチャとは?」では、Oracle VMの概要とアーキテクチャ、ライセンス体系などについて解説した。今回は、Oracle VMのセットアップと実際の機能、および簡単な性能面について説明する。

Oracle VMのセットアップ

 Oracle VMのセットアップは、基本的にはインストールガイドを参照することで問題なく行えるはずだ。従ってここでは詳細は割愛し、幾つかのポイントのみを挙げる。

Oracle VM Serverのセットアップ

 Oracle VM ServerのインストールCDをCD-ROMドライブにセットしてインストーラを起動する。後は基本的にインストーラの指示通り進めていけば、問題なくインストールが完了する。

 ただし、各メーカーのサーバ独自の管理パーティションなどがある場合には、パーティション選択のところで“Use free space in selected drives and create default layout”を選択する必要がある。

 また、パーティションタイプとしてocfs2(Oracle Cluster File System 2)を選択できるのも特徴的な点の1つである(画面1)

photo 画面1 パーティションの確認画面《クリックで拡大》

Oracle VM Managerのセットアップ

インストール前の準備

 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パッケージがあるので、インストールするマシンに適切な方を選んでダウンロードする。

使用可能なovm-console 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パッケージを、以下の手順でインストールする。

  • rpmコマンドでパッケージをインストールする(例:rpm -i ovm-console-1.0.0-2.i386.rpm)
  • インストールされたファイルの中から、ovm-console-mozplugger.soを探す
  • ovm-console-mozplugger.soをFirefoxのプラグインフォルダにコピーするか、もしくはシンボリックリンクを張る

 上記手順が完了したら、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]ボタンを押す。

photo 画面2 [Server Pools]タブ画面《クリックで拡大》

 サーバ名、IPアドレスなどサーバに関する諸情報を入力する。1台のサーバでServer Pool Master、Utility Server、Virtual Machine Serverを兼ねる場合は、それぞれのチェックボックスをすべて選択する。必要に応じてUtility Serverが使うアカウントを入力したら、[Add]ボタンを押す。

photo 画面3 サーバ情報の入力画面《クリックで拡大》

 利用ユーザーのアカウント情報を設定し、[Next]ボタンを押す。

photo 画面4 アカウント情報の入力画面《クリックで拡大》

 サーバプール名を指定して、[Next]ボタンを押す。

photo 画面5 サーバプール名の入力画面《クリックで拡大》

 これまでの手順で指定した内容を確認する画面が表示される。[Confirm]ボタンを押し、設定内容を保存する。

photo 画面6 設定内容の確認画面《クリックで拡大》

 以上で、Oracle VM Serverがサーバプールに追加される。

Oracle VMセットアップの特徴

 以上のように、Oracle VM Managerに関連する各種セットアップ作業はXenにはない、Oracle VM独自のものである。そのため、手順としてもその分がプラスアルファで増える形となる。

 ただし、ハイパーバイザー(Oracle VM Server)についてはインストール作業時に各種設定も同時に行うため、非常に簡単にセットアップできるようになっている。また、不要なサービスを停止する必要がないのも便利な点といえるだろう。

ゲストOSの作成

 ここでも詳細な手順は割愛し、完全仮想化と準仮想化、それぞれの場合の違いについて簡単に触れることにする。

完全仮想化ゲストの作成

 完全仮想化環境で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
……
……



テンプレートからのVM作成

 Oracleが配布している“VMのテンプレート”を利用することで、CDなどの媒体からインストールするよりも簡単にVMを作成することができる。また、ユーザーが一から作成したVMをテンプレート化して保存することもできる。

 実際の環境構築・運用を考えた場合には、まずはベースとなるVMをCD媒体などからインストールして一から作成し、後にそれをテンプレート化してほかの環境のインストール時に利用するという流れになるだろう。

機能および性能について

Oracle VM Managerの操作性

photo 画面7 Oracle VM Managerの画面《クリックで拡大》

 インストール後の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)。

photo 画面8 ゲストOSのコンソール表示《クリックで拡大》

Oracle VM Managerの機能

 VMの作成や設定変更は、Oracle VM Managerの画面より該当メニューを選択して行う。設定できるのは、以下のような項目である。

  • VMの設定変更
      メモリ容量
      コア数
      NIC(ネットワークインタフェースカード)の追加、設定変更(ブリッジとの対応、有効/無効)
      仮想ディスクの追加
      仮想共有ディスクの割り当て
  • Oracle VMリソースの管理(テンプレート、ISOファイル、仮想共有ディスクなど)
  • Oracle VM Serverの管理
  • サーバプールの管理

 上記以外の設定を行いたい場合には、/etc/xenディレクトリ下などにある設定ファイルを直接編集する必要がある。例えば、以下のようなネットワーク設定を行うには、/etc/xen/xend-config.sxpや/etc/xen/scriptsの下の設定ファイルを編集する必要がある。

  • 仮想NICのeth0を物理NICのeth1(peth1)に対応させる(netdevの指定)
  • ブリッジ形式で仮想NICを直接外部ネットワークにつなげるのではなく、NAT変換を行う方式にする(NAT設定の追加)

性能の比較

 実機、完全仮想化、および準仮想化のパフォーマンスの違いを調査するために、単独起動中のOS(仮想化環境ではゲストOS)に対して幾つかのOSベンチマークテストを実施した。

 その結果、CPU、メモリ、I/Oいずれのリソースについても、“実機≒準仮想化>完全仮想化”という測定値が得られた。ごく簡単なベンチマークテストの結果からではあるが、特に準仮想化環境で実装されたゲストOSは、実システムでも活用できるレベルにあると推測される。

 しかし一部のミドルウェアなどには、OSのカーネルにフックをかける形で機能を実装しているものがある。準仮想化環境上のゲストOSは仮想化環境用に最適化されたカーネルを使用するため、そのようなミドルウェアが正しく動作しない可能性がある。その場合には、ミドルウェアベンダーの対応を待つ必要がある。準仮想化の場合、こうした点に注意する必要がある。

Oracle VMの今後

 以上、前後編に分けてOracle VMの機能や特徴について見てきた。Oracle VMはハイパーバイザーの機能的にはXenとほぼ同一であり、異なる点はハイパーバイザー部分以外のOracle VM Managerの管理機能や、Oracleが提供するサポートサービスといったところになる。

 Oracle VMが今後、企業システム基盤としての使用に耐え得るようになるには、例えばハイパーバイザー自体の可用性の確保や、Oracle VM ManagerのOracle Enterprise Managerへの統合といった幾つかの課題をクリアする必要があるだろう。しかし、Oracle VM ManagerとOracle Enterprise Managerの連携については既に発表されており、ほかの課題についても徐々に解決されていくようだ。

 このように1つひとつ課題をクリアしていくことで、将来的には企業システム基盤としての運用にも耐え得るソフトウェアになる可能性があると考える。

<筆者紹介>

伴野泰弘

NECネクサソリューションズ株式会社 技術開発事業部 主任

入社以来、データベースを利用したシステムの開発や構築などを担当。
現在は上記に加えて、主にデータベースを中心としたOracle製品の社内技術支援や技術評価なども担当する。


関連ホワイトペーパー

Oracle(オラクル) | Linux | 仮想化 | Xen