- - 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上で稼働させるということに少し違和感を感じるかもしれません。しかしこのケースはそうではありません。
- そもそもクラスタ化されていない、またはアクティブ/スタンバイ型のクラスタで構築されていたデータベースを仮想化によって集約する。
- そして集約によるハードウェア障害のリスクについてはRACを適用してヘッジする。
- 結果、ハードウェアや設置スペース、消費電力を削減できたうえに可用性レベルも向上する。
これが「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化 |
- Windows 10の導入、それはWindows as a Serviceの始まり (2017/7/27)
本連載では、これからWindows 10への移行を本格的に進めようとしている企業/IT管理者向けに、移行計画、展開、管理、企業向けの注目の機能について解説していきます。今回は、「サービスとしてのWindows(Windows as a Service:WaaS)」の理解を深めましょう - Windows 10への移行計画を早急に進めるべき理由 (2017/7/21)
本連載では、これからWindows 10への移行を本格的に進めようとしている企業/IT管理者に向け、移行計画、展開、管理、企業向けの注目の機能を解説していきます。第1回目は、「Windows 10に移行すべき理由」を説明します - Azure仮想マシンの最新v3シリーズは、Broadwell世代でHyper-Vのネストにも対応 (2017/7/20)
AzureのIaaSで、Azure仮想マシンの第三世代となるDv3およびEv3シリーズが利用可能になりました。また、新たにWindows Server 2016仮想マシンでは「入れ子構造の仮想化」がサポートされ、Hyper-V仮想マシンやHyper-Vコンテナの実行が可能になります - 【 New-ADUser 】コマンドレット――Active Directoryのユーザーアカウントを作成する (2017/7/19)
本連載は、Windows PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「New-ADUser」コマンドレットです
|
|