Oracle VM に関する検証 その1

<Oracle VM に関する検証 その1>
ペンネーム: カスクストレングス

今回から Oracle VM について検証して行きたいと思います。

早速インストールして検証に入りたいところですが、その前に仮想化テクノロ
ジ及び Oracle VM について簡単に説明していきたいと思います。

現在、VMware Server や Xen など多くの仮想化ソフトウェアがありますが大
きく分けると『ホストOS型』と『ハイパーバイザ型』に分類することができま
す。

▼ホストOS型とは

ホストOS型は、ハードウェア上にインストールされたOS上に仮想化ソフトウェ
アをインストールし、その上で仮想マシンを作成しゲストOSをインストール
して使用します。
VMware Server、Virtual Server、QEMU などがこのタイプに分類されます。

* ホストOS型のイメージ

      +--------------+--------------+--------------+
      |  ゲストOS    |  ゲストOS    |  ゲストOS    |
      +--------------+--------------+--------------+
      |  仮想マシン  |  仮想マシン  |  仮想マシン  |
      +--------------+--------------+--------------+
      |              仮想化ソフトウェア            |
      +--------------------------------------------+
      |              ホストOS                      |
      +--------------------------------------------+
      |              ハードウェア                  |
      +--------------------------------------------+

▼ハイパーバイザ型とは

対してハイパーバイザ型は、ハードウェア上にホストOSではなく仮想化ソフ
トウェアを直接インストールし、その上で仮想マシンを作成しゲストOSをイ
ンストールして使用します。
ホストOSを介さない分、ホストOS型に比べ高いパフォーマンスが期待できま
す。
VMware ESX、Xen そして、Oracle VM などがこのタイプに分類されます。

* ハイパーバイザ型のイメージ

      +--------------+--------------+--------------+
      |  ゲストOS    |  ゲストOS    |  ゲストOS    |
      +--------------+--------------+--------------+
      |  仮想マシン  |  仮想マシン  |  仮想マシン  |
      +--------------+--------------+--------------+
      |              ハイパーバイザ                |
      +--------------------------------------------+
      |              ハードウェア                  |
      +--------------------------------------------+

▼Oracle VM の構成要素

これまでに説明したように Oracle VM はハイパーバイザ型であるため、ハー
ドウェアに対して直接インストールして使用する形になります。
それでは、具体的に Oracle VM がどのような構成になっているかみていき
ましょう。

Oracle VM は大きく Oracle VM Manager と Oracle VM Server の2つの構
成要素に分けることができます。

  - Oracle VM Manager
    Oracle VM Server を管理する Webベースの UI を提供します。
    Oracle VM Agent と通信し仮想マシン及び共有ディスクなどのリソースの
    管理を行います。

  - Oracle VM Server
    Xenのテクノロジをベースとした仮想化基盤。
    仮想マシンを実行するためのプラットフォームを提供します。
    また、Oracle VM Manager と通信し仮想マシンの管理を行う Oracle VM 
    Agent を含みます。

* Oracle VM の構成要素イメージ

    +------------------------------+ +-------------+  -+
    |  管理用UI(Webベース)     | |  Oracle VM  |     |
    +------------------------------+ |  Manager    |     |
    +------------------------------+ |  リポジトリ |     |
    |    Javaベースの管理サーバ    | |             |     +--> Oracle VM
    +-------+----------------------+ +-------------+     |   Manager
    +-------|--------------------------------------+     |
    |       |          OS                          |     |
    +-------|--------------------------------------+     |
    |       |      ハードウェア                    |     |
    +-------|--------------------------------------+    -+
            |
            |  Oracle VM
    +---------------+--------------+--------------+      |     Server
    |              ハイパーバイザ                 |      |
    +---------------------------------------------+      |
    |              ハードウェア                   |      |
    +---------------------------------------------+     -+

    *1・・・Oracle VM や、そのベースとなる Xen では仮想マシンの実行単
            位を Domain と呼びます。
            特に、ハードウェアへのアクセスや他 Domain を管理する特別な
            Domain を Domain0 と呼び、その他の Domain を DomainU と呼
            びます。

Oracle VM の管理者は、Oracle VM Manager へ Web経由でアクセスし仮想マシ
ンの作成や起動・停止、共有ディスクなどのリソース管理を行います。
また、作成された仮想マシンなどのリソースは Oracle VM Server 上に配置さ
れます。

一般的な構成では Oracle VM Server と Oracle VM Manager は異なるハード
ウェア上にインストールし使用するため、Oracle VM を使用するには最低でも
2台のサーバが必要です。
お手軽に Oracle VM を試してみたいという方にとって2台のハードウェアを
用意するのは、ちょっと敷居が高いかもしれませんね。

さて、そのような方にうってつけな構成がテンプレート使用して簡単に構成出
来るようになりました。

Oracle VM では OS や Oracle Database、その他ソフトウェアをインストール
した状態のイメージをテンプレートとして保存し、簡単にゲスト環境を複製す
ることができます。
Oracle社のサイトでは Oracle Enterprise Linux の他、Oracle Enterprise
Manager Grid Control、WebLogic Server、Siebel などの様々なソフトウェア
をインストール済みのテンプレートが公開されており使用することができます。

その中に Oracle VM Manager のテンプレートも含まれており、これを使用す
ることにより DomainU 上のゲストOSに対して Oracle VM Manager を構成し
Oracle VM を管理することができるようになるため、1台のサーバで Oracle
VM を試してみることが出来るようになりました。

それでは、早速 Oracle VM を使用してみましょう。
まずは、インストールから。

▼今回用いたハードウェア/ソフトウェア

今回の検証では、リソースの都合 Oracle VM Server と Oracle VM Manager
を異なるサーバにインストールしました。

 - ハードウェア
    - Oracle VM Server用
      CPU        : Intel Xeon 3.00GHz (Intel VT対応 *2)
      メモリ     : 4GB

    - Oracle VM Manager用
      CPU        : Intel Xeon 2.80GHz
      メモリ     : 2GB

 - ソフトウェア
    - Oracle VM Server 2.1.5
    - Oracle VM Manager 2.1.5

 *2 ・・・ 完全仮想化を実現するためには、Intel VT や、AMD SVM などの仮
           想化テクノロジに対応したプロセッサを使用する必要があります。
           尚、Oracle VM Manager と Oracle VM Server を別サーバにイン
           ストールする場合 Oracle VM Manager 側は、仮想化テクノロジに
           対応していないプロセッサでも問題ないようです。

インストール作業に入る前に、『完全仮想化』と『準仮想化』について説明し
ておきます。
ハイパーバイザ型の仮想化では、仮想マシンの実現法として『完全仮想化』と
『準仮想化』の2種類があります。

▼完全仮想化

完全仮想化では、仮想マシンの動作を完全にエミュレートすることでゲスト
OSに手を加えることなく実行することができます。
そのためゲストOSに、手を加えることの難しい Windows などを使用したい
場合は完全仮想化を選択することになります。

▼準仮想化

対して、準仮想化では仮想マシンを実現する仮想的なハードウェアを定義し、
この仮想的なハードウェアを操作するのにハイパーバイザコールを使用して
います。
そのため、仮想マシンのエミュレートに必要なコストを削減でき性能面で完
全仮想化より有利となります。

まとめると、プロプライエタリなOSやレガシーなOSなど手を加えられないよう
なOSをゲストとする場合は完全仮想化を使用し、その他の場合はパフォーマン
スの面で有利な準仮想化を用いるのが一般的な選択基準となるようです。

最後に、最近のCPUであれば殆どのものが Intel VT や、AMD SVM といった仮
想化テクノロジをサポートしていると思いますが、多くの環境で BIOS によっ
てデフォルト状態では制限されているようです。
また、BIOS によっては最新版にバージョンアップすることで、仮想化テクノ
ロジを使用できるようになるものもあるようです。
完全仮想化が試せない方は、一度 BIOS を確認してみると幸せになれるかも知
れません。

さて、説明が長くなってしましたが次回から実際にインストールを行ってゆき
たいと思います。

美味しいランチを探すのが楽しみな恵比寿より。