Oracle VMの世界

Oracle VMの世界(5)

Oracle VM上でRACを利用する(1)


日本オラクル株式会社
中嶋 一樹
2009/6/17

連載:Oracle VMの世界 INDEX

- PR -

■仮想化したDBのRAC化

 RAC on VMへのもう1つの入り口が「仮想化したDBをRAC化する」というものです。これは先ほどの「RACを仮想化する」とは全く違う発想です。

 まずいったん、RACのことは頭から消して、DBの集約について検討することにします。一般的にデータベースのような可用性要件の高く、I/O負荷が高い傾向にあるシステムについては仮想化が適さないといわれることがあります。これは100%間違っているとは思いません。ベアメタル(仮想化されていない物理マシン)上に構築されたシステムと比べて、仮想化されたシステムは構造上、ソフトウェアスタックにハイパーバイザのレイヤが1つ増えます。

 モジュールが1つ増えれば、それだけバグの可能性は増えるといえます。ただし実際は、Oracle VMが採用しているXenハイパーバイザは実績が豊富で、非常に安定しています。このことは業界で最も進んだクラウドコンピューティングサービス Amazon EC2がXenハイパーバイザを採用し、強固な基盤を構築していることからも明らかです。

 実際には、データベースを仮想化するかどうか、集約するかどうかを考えるときに重要な検討事項は、そのシステムの性能要件と物理マシンが提供できるリソースのバランスです。あるシステムを仮想化できるかどうかに対する答えは、「集約されるシステムが要求するリソースの総和が、物理マシンの提供できるリソースに収まるのであれば仮想化し、集約することができる」というシンプルなものです。したがって、最近のハードウェアであればゆとりをもって処理をさばけるような比較的負荷の低いシステムであれば、データベースであっても集約の対象となるということです。

 昨今のハイバーバイザの進化やハードウェア側での仮想化技術対応の進展もあり、データベースの仮想化では、ほとんどのケースで多くの人の認識よりもはるかに良好なパフォーマンスが得られます。参考としてOracle Databaseに対してベアメタル上とOracle VM上でそれぞれベンチマークを行ったレポートをご紹介しておきます。その劣化の少なさが伺えると思います。

Performance Evaluation of Oracle VM: Tolly Group Benchmark(PDF)

 従って、あらかじめサイジングさえ行っていれば、性能については後々リスクになることはありません。

 唯一仮想化することによってリスクが高まるのはハードウェア障害です。従来のベアメタル上のシステムであればハードウェア障害は1つのシステムに影響を及ぼすだけでしたが、仮想化し集約されたシステムでは物理マシンのハードウェア障害はその上で稼働している全ての仮想マシンに影響を与えます。これは明らかに従来のシステムと比べてハードウェア障害が発生した場合のリスクが大きくなることを意味します。

 しかし、Oracle VMはその上でRACを稼働させることができます。RACの特徴は拡張性と可用性です。一般的なアクティブ/スタンバイ型のフェイルオーバクラスタと比較して、RACのアクティブ/アクティブ型のクラスタは比較にならないフェイルオーバの速さを誇ります。アクティブ/スタンバイ型であれば数分から十数分かかるフェイルオーバの処理をRACは最短で数秒から数十秒で完了させることができます。これはフェイルオーバ先のサーバインスタンスが常に起動しており、データベースにアクセスできる状態で稼働していることが寄与しています。

 このフェイルオーバの速さは仮想化しても同様です。RAC on VMを稼働させている物理マシンに障害が発生した場合、その上で動いている全てのRACは一様に高速フェイルオーバします。ハードウェア障害がその上の全ての仮想マシンに影響すること自体は変わりませんが、結果的に全てのRACは高速フェイルオーバを実行するためサービスに与える影響はほとんどありません。仮想化したデータベースに対してここまでの可用性レベルを提供できるのは、Oracleならではのクオリティです。

 RAC on VMというと、ミッションクリティカルなRACをVM上で稼働させるということに少し違和感を感じるかもしれません。しかしこのケースはそうではありません。

  1. そもそもクラスタ化されていない、またはアクティブ/スタンバイ型のクラスタで構築されていたデータベースを仮想化によって集約する。
  2. そして集約によるハードウェア障害のリスクについてはRACを適用してヘッジする。
  3. 結果、ハードウェアや設置スペース、消費電力を削減できたうえに可用性レベルも向上する。

 これが「RACを仮想化する」とは違う視点、つまり「仮想化したDBをRAC化する」という視点でのRAC on VMです。

 今回はRAC on VMの位置付けと、対象となる環境、メリットについてお話ししました。次回はRAC on VMの具体的なシステム構成例を見ながら、環境構築の勘所についてお話ししたいと思います。

3/3
 

Index
Oracle VM上でRACを利用する(1)
  Page1
RAC on VMを利用するメリット
  Page2
RAC on VMへの2つの入り口
  RACを仮想化する
Page3
  仮想化したDBのRAC化

Server & Storage フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Server & Storage 記事ランキング

本日 月間