Oracleの戦略の一翼を担うハイパーバイザー「Oracle VM」
米Oracleは、長年の実績を持つデータベースや、ERPやCRMといった上位アプリケーションをはじめ、ミドルウェアのOracle Fusion Middleware、基盤としてのJavaやUnbreakable Linuxといったソフト、SPARCベースのものを含めた旧Sunのサーバー/ストレージ、ソフトとハードを融合させたOracle Exadataのようなエンジニアードシステムまで、さまざまな製品を提供している。
その中でも、仮想化/クラウド時代において、ハイパーバイザーのOracle VMは、ソフトウェアとハードウェアの統合システムを目指す米Oracleにとっての、非常に重要な要素として位置付けられるようになった。
そこで、今回は、Oracle VMの基本的な特徴に関して解説していく。
■Oracleの仮想化製品
Oracle VMを解説する前に、それを含めたOracleの仮想化ソリューション全般に関して説明していこう。
Oracle VMは、2007年11月にオープンソースのXenをベースに開発された。その後、オープンソースのXenのアップデートに合わせてバージョンアップを繰り返し、2011年8月に米国Oracle VM 3.0を発表した。また、バージョンアップを行う過程で、仮想化ソリューションを販売していたVirtual Ironを買収し、そのテクノロジーをOracle VMに融合させている。
一方Sun買収後は、Sunが提供していたVirtualBoxをOracleブランドで提供している。VirtualBoxは、Oracle VMが採用しているハイパーバイザー方式とは異なり、ホストOS上で動作する仮想化システムだ。現在VirtualBoxは、Windows、Mac OS X、Solaris 10、各種Linuxなどの環境に対応している。
また、x86プロセッサ以外のOracle VMは、SPARCプロセッサに対応したOracle VM Server for SPARCも提供されている。ただし、SPARC版のOracle VMは、SPARCプロセッサが持っている仮想化機能を利用して、ハイパーバイザーが構築されている。
このため、同じOracle VMという製品名がついていても、x86版とSPARC版ではまったく異なった製品といえる。Oracle ExalogicやSPARC SuperClusterなどで、Oracle VM SPARC版が使用されている。
Oracle VMは、x86/x64版とSPARC版の2種類がリリースされている。ただし、2つのバージョンは、異なるハイパーバイザーで構築されている |
■Xen 4系をベースとするOracle VM 3.0
Oracle VMは、サーバーにインストールされるハイパーバイザーのOracle VM Serverと管理ツールのOracle VM Managerで構成されている |
Oracle VM 3.0は、オープンソースのXen 4.0を採用しており、Xenを使用したハイパーバイザーのOracle VM Serverと、複数のOracle VM Serverを一括して管理するOracle VM Managerの2つモジュールが用意されている。
Oracle VM Serverは、XenハイパーバイザーをベースにしてOracleでいくつか機能が拡張されている。特に、Dom0には、Oracle VM Agentが搭載されている。このOracle VM Agentが管理ツールのOracle VM Managerと通信して、Oracle VM Serverを管理する。
Oracle VM Server自体は、非常にコンパクトで、インストールイメージで200MBほどの容量だ。動作環境は、64ビット環境をサポートしたx64/x86プロセッサ(Intelでも、AMDでもOK)。
1台の仮想サーバーで160CPU(スレッド)をサポートしている。さらに、仮想マシン上では128仮想CPUという設定が可能になっている。1台の仮想サーバーでは、最大128仮想マシンが動作可能。
メモリに関しては、1台の仮想サーバーで最大2TBをサポート。仮想マシンでは、64ビットOSでは1TB、32ビットOSでは63GBをサポートしている。このほか、1台の仮想サーバー上で、仮想NICが31個、仮想ディスクが52台、サポートされている。最低動作メモリは1GB(推奨は2GB)だが、多数の仮想マシンを動かすことを考えれば、それなりのメモリ容量を搭載する必要があるだろう。
ちなみにOracle VM 3.0は、同じオープンソースのXenを使用したCitrixのXenServer 6.0よりも、サポートしているCPUコア数、メモリ容量などが多くなっている。
ストレージに関しては、内蔵のIDE/SATA、SAS、SCSIだけでなく、ネットワークストレージのNAS、iSCSI、FC、FCoEなどもサポートされている。Oracle VM Serverのブートは、ローカルディスク、SAN、iSCSI、NFS、Flashなどから行える。
一方のOracle VM Managerは、Oracle Linux 4.5以上(Red Hat Enterprise Linux 4.5以上)のOS環境で動作する。さらに、Oracle DatabaseとWebブラウザが必要になる。
こちらのOracle VM Managerに関しては、物理サーバーでなく、仮想サーバー上で動かすこともできる。ただし、Oracle VM Server上でOracle VM Managerが動作する仮想マシンを構築する必要がある。Oracle VM ManagerのGUI環境を利用した方が使い勝手がいいので、あらかじめOracle VM Managerの環境を用意しておく方がいい。
Oracle VMは、大規模なクラウドでの運用を考えて、スケーラビリティが向上している。サーバープールやネットワークの一元管理機能などは、クラウドでの運用を考慮した機能だ |
■最新のOracle VM 3.0の特徴
Oracle VM 3.0は、ポリシーに基づいたリソース管理、ネットワークやストレージの構成・管理を一元化している |
Storage Connectを使えば、高機能なストレージシステムをOracle VM Managerから管理できる |
Oracle VM 3.0の特徴としては、Oracle VM Managerの機能強化が挙げられる。
Oracle VM Managerでは、複数のOracle VM Server上に構築される仮想マシンを一元的に作成したり、構成を編集したりすることが可能だ。Oracle VM 3.0のOracle VM Managerでは、複数のOracle VM Server上のネットワークコンフィグレーションを一元的に管理することができる。これにより、仮想化において面倒なネットワーク構成をOracle VM Manager側で一元的に設定ができたり、簡単に変更が行えたりする。
また、Storage Connectというストレージ接続フレームワークが用意された。この機能では、高機能なストレージ機器が持っている機能を、Oracle VM Managerから同じGUIで一元的に利用できる。いわば、CitrixのXenServerで採用されているStorageLinkと同じような機能だ。
Storage Connectを使えば、簡単にディスクやファイルシステムの作成、サイズ変更が行える。また、シンプロビジョニング、クローニング、LUN作成などの高度なストレージ機能もサポートされている。
Storage Connectに対応しているストレージとしては、Oracle以外にも、富士通、日立、NetAppなどのプラグインが用意されている。これ以外のメーカーのストレージに関しても、Storage ConnectのAPIが公開されているため、各メーカーがプラグインを開発すれば、Oracle VM Managerで利用することが可能だ。
もうひとつ、Oracle VM 3.0で大きな特徴となるのは、ポリシー機能により高度なリソース管理が行える点だ。Oracle VMでは、複数のOracle VM Serverをプール化することができるが、Oracle VM 3.0で追加されたDynamic Resource Scheduling(DRS)機能を使うと、特定のサーバーの負荷が増えた場合に、プール内の負荷の低いサーバーに仮想マシンをライブマイグレーションすることが可能になる。
また、同じく新しく追加されたDynamic Power Management(DPM)機能は、未使用のサーバーの電源をオフにし、仮想マシンを最低限のサーバーで動作可能にする。そして、負荷が上昇に転じた時には、電源をオフにしているサーバーを起動して、負荷が上がった仮想マシンを新しいサーバーに移動させる。
DRSとDPMを利用すれば、同一プール上で、仮想マシンの負荷に応じて特定の物理サーバーに仮想マシンを集約し、余った物理サーバーの電源をオフにしたり、負荷が上がれば、自動的にサーバーを立ち上げたりして、物理サーバーの負荷をプール内で均一化することが可能になる。
こういった機能は、プライベートクラウドやパブリッククラウドを構築する上では、必要な機能といえる。
これ以外にも、以前からサポートされていたH.A. Auto-Restart機能では、サーバーや仮想マシンで障害が起こった時に、障害検知を行って自動的にほかのサーバーを起動したり、仮想マシンを別のサーバーで再起動したり機能だ。この機能は、クラスタウェアの仕組みを使って実現している。
Oracle VM 3.0では、Dynamic Resource Scheduling(DRS)、Dynamic Power Management(DPM)、H.A. Auto-Restart機能などをリソース管理として利用可能 |
なお、Oracleがリリースしている統合運用管理ソフトのOracle Enterprise Manager 12cとOracle VM 3.0を組み合わせることで、計画からセットアップ、ビルド、テスト、変更、オプティマイズなどのクラウドライフサイクルを構築することが可能になる。
Oracle Enterprise Manager 12cを利用することで、IT部門は、従来型のデータセンター、仮想化およびクラウド・コンピューティング環境の効率と性能を向上させ、さらにコストを削減して、システムを運用することが可能になる。
Oracle Enterprise Manager 12cとOracle VM 3.0によりクラウドでのライフサイクル管理が実現する | Windows OS向けには、専用のPCドライバが用意されている。これにより、仮想環境でのWindowsの動作を高速化している |
■Oracle VMを支えるUnbreakable Linux
Oracle VMと共に注目されているのが、Oracleが自社のソフトウェアにチューニングしたLinux「Unbreakable Linux」だ。今回、Oracle VM 3.0と同時に発表されたUnbreakable Enterprise Kernel Release 2は、単なるLinuxのディストリビューションではなく、エンタープライズ分野で実運用できるようにOracleがさまざまな部分に手を入れている。
大量のスレッドを生成するアプリケーションを効率よく動かすようにスケジューラを改良したり、複数のCPU間をまたいだパケット制御を低レイテンシにしたり、メモリ中心の処理に対応した透過的なHugePage機能を提供したりしている。
また、エンタープライズ分野での利用を考えて、ハードウェアの故障管理、データ整合性機能などによりデータ破損を防止している。これ以外にも、仮想スイッチ、Linuxコンテナ、動的トレーシングのDTraceなどの機能も用意されている。
注目されるのは、システムダウンをせずに、カーネルのパッチ作業が行えることだろう。この機能により、システムを落とさずにカーネルのアップデートが行えるため、企業の基幹システムで利用しても、常に高い運用性を実現できる。
■テンプレートによるアプリケーション/ミドルウェア導入の簡易性を提供
Oracle VMを取り巻くエコシステムとして、Oracleではさまざまなテンプレート(仮想アプライアンス)を用意している。このテンプレートでは、OSから、ミドルウェア、場合によってはアプリケーションまでがパッケージされており、仮想環境を迅速に配備できる。
例えば、3階層アプリケーションを構成する場合、バックエンドのデータベースサーバー、ミドルウェアのデータベースサーバー、フロントのWebサーバーなどが必要になる。これらの環境をOSから構築していくには、時間かがかかるが、Oracleが用意しているテンプレートを使用すれば、システム構築にかかる時間が短縮できるわけだ。
テストを行う場合なども、テンプレートを利用すれば、すぐにテスト環境を整えることが可能になる。
■価格面でのメリット
Oracle VMやUnbreakable Linuxに関しては、年間サポート料金だけが設定されている。VMwareのように、ライセンス料は設定されていない。また、年間サポート料金も戦略的な価格に抑えられている。
Oracleでは、3年間のコストをVMwareのvSphere 5と比較すると、VMwareの約1/7のコストでOracle VMは導入できると説明している。
仮想マシンで動かすOS、Unbreakable Linuxのコスト、データベースやミドルウェアのコストなどを考えると、さらにコストに差が出るだろう。
Oracleでは、Oracle VMとVMware vSphereでは、これだけコストが異なると主張している |
今回はここまで、Oracle VMの基本的な機能やその位置付けを紹介してきたが、近いうちに、Oracle VMを実際にテストしてみようと考えているので、今後、詳細をお伝えしていく予定だ。