システム可用性向上の鍵は"データ破損対策"――Oracle MAAがコスト効率の高いデータ保護施策を可能にする

ビジネスにおけるITの重要性が増している現在、災害やシステム障害などで重要なデータ資産が破損した際には、それが企業活動のさまざまな局面に甚大な影響を及ぼす。しかも近年、これまで多くの企業が障害対策を重ねてきたディスクドライブが、実は世の想定よりも障害に対して脆弱であることがわかってきた。つまり、ディスクドライブでの対策に頼る従来のアプローチは、データ破損(Data Corruption)への備えとして万全とは言えなくなっているのだ。それでは、重要なデータ資産を効果的かつ最適なコストで保護したい企業は、どのようなアプローチをとるべきか? その問いから生まれた高可用性アーキテクチャが「Oracle Maximum Availability Architecture(MAA)」である。米国オラクルコーポレーションでOracle MAAの構想にかかわり、現在は高可用性技術の開発チームを率いる同技術担当バイスプレジデントのウェイ・フー(胡維)氏が急遽来日し、今日の企業が心得るべき高可用性の実現に向けたアプローチ、データ保護の基本原則などを語った(編集部)。

■適切なデータ保護対策なくして、高可用性の実現は不可能
img_solution_120110_01.jpg
米国オラクルコーポレーションで高可用性技術担当バイスプレジデントを務めるウェイ・フー(胡維)氏。オラクルの高可用性技術開発チームを13年間率いてきた氏は現在、世界中の企業に対してシステムの可用性向上に向けたアドバイスを行っている。
 私は日ごろ、システムの可用性向上について世界中のユーザー企業の方と話をしているが、その中でよく受ける質問の1つに、「データベースの可用性を高めるためには、どうすればよいのか?」というものがある。この質問に対して、以前は「Oracle Real Application Clusters(RAC)を使えばよい」と答えてきた。なぜなら、Oracle RACを利用すれば、サーバの障害を回避しながら、高い可用性を備えたシステムを容易に構築することができるからだ。

 だが、さまざまな経験を積み重ねる中で、単にサーバの障害に対応するだけでは不十分であり、特に今日の企業システムでは「データを保護する」という視点が極めて重要であることがわかってきた。こうした背景から我々が生み出したのが、データ保護を中心に据えつつ、システム全体としての可用性を効率的に高めるためのアーキテクチャであるOracle MAAだ。

 Oracle MAAは、オラクルが培った技術とベスト・プラクティスに基づき、最高の可用性を実現するための枠組みである。Oracle MAAでは、Oracle RACによるサーバ障害対策に加えて、例えば「Oracle Active Data Guard」や「Oracle GoldenGate」といったソリューションを活用してバックアップ・サイトを構築するなどしてシステムの可用性を高め、災害などでトラブルが生じた場合でもシステムの継続的な安定稼働を実現する。
img_solution_120110_02.png
 このOracle MAAによって対応できる障害の1つに、ディスクドライブの障害が挙げられる。現在、さまざまな企業がディスクドライブの障害発生率について研究を進めているが、その中で明らかになってきたのが、世間で想定されているよりもディスクドライブの障害発生率は高いということだ。つまり、ディスクドライブは、皆が考えている以上に障害に対して脆弱なのである。そして、このディスクドライブで起きる障害の1つに、企業にとって致命的な障害であるデータ破損(Data Corruption)がある。

 データ破損とは、ディスクドライブにデータを書き込む際、正しいデータが書き込まれない事象を指す。これには大別して、本来とは異なる内容のデータが書き込まれてしまう「Cracked Write」、本来とは異なるディスク上の場所に書き込まれてしまう「Wrong Location Write」、書き込み命令に対して正しく応答しているのにもかかわらず、実際には何も書き込まれていない「Lost Write」がある。これらの障害が発生すると、データの一貫性を保つことができず、当然、データベースそのものが使えなくなる。つまり、システムの可用性を考える際には、これらのトラブルを想定した対策をとることが極めて重要になるのだ。

データを適切に保護するための"3原則"

 データ破損はさまざまな理由で発生するが、その1つとしてソフトウェアのバグが挙げられる。今日のストレージ機器は、ファイルシステムやデバイス・ドライバ、SAN(Storage Area Network)などのインタフェース、ストレージ・アレイ、そしてディスクドライブなどによる多層的な構成となっており、それぞれの構成要素にソフトウェアが含まれる。そして、それら1つ1つのソフトウェアには必ずバグがあると言っても過言ではない。ストレージ・システムのマイクロコードにもバグが含まれている可能性があるのだ。高可用性システムを構築する際には、こうしたソフトウェアのバグが引き起こす問題から目を背けずに対策を打たなければならない。

 これらを踏まえてデータ保護や可用性向上を考える場合、まずは基本原則に立ち返って検討する必要がある。その基本原則とは、「(1)データのコピーを複数作成すること」、「(2)コピーに変更を加える際には厳密なチェックが行えるインタフェースを経由すること」、「(3)万が一、データ破損が起きた際には、迅速に復旧できる仕組みを用意すること」である。
img_solution_120110_03.png
 オラクルでは、これら3つの原則に効率的かつ効果的に対応できるソリューションを検討してきた。その成果として提供を開始したのがActive Data Guardと「Oracle Flashback Technology」だ。このうち、Active Data Guardは、Oracle DatabaseのREDOログを使ってプライマリ・サイトとバックアップ・サイトを同期するというもので、これを利用すれば遠隔地に簡単にデータベースの複製を作成できる。

 Active Data Guardでポイントとなるのは、REDOログを使ってバックアップ側のデータベースを更新するという点だ。現在、多くの企業がストレージのミラーリング機能など、データを単純にビット・レベルで複製するソリューションを使っているが、この方法には、もしデータ破損が生じたら、壊れたビットがそのままスタンバイ側に反映されてしまうというリスクが伴う。これは、先の3原則の1つ「(2)コピーに変更を加える際には厳密なチェックが行えるインタフェースを経由すること」を軽視しているがために生じるリスクである。

 それに対して、REDOログを使うActive Data Guardであれば、データの内容を見れば一貫性が保たれているかどうかが判断できるため、プライマリ・サイトのディスクドライブで生じた障害がバックアップ・サイトに影響を及ぼすことはない (単純なストレージ・コピーだけの場合、これができなくなってしまう)。それだけでなく、プライマリ・サイトのデータが壊れた場合、それを自動的に検知し、バックアップ・サイトの正しいデータを使ってプライマリ側のデータを修復するといった仕組みまで備えている (自動ブロック・メディア・リカバリ機能)。
img_solution_120110_04.png
 もっとも、いくら入念に対策を施しても、データ破損を完全に防ぐのは難しい。そこで必要になるのが、「(3)万が一、データ破損が起きた際には、迅速に復旧できる仕組みを用意すること」である。我々は、この原則への対応としてFlashback Technologyを用意している。これは、データ破損などの障害が発生した際、障害が起きる直前の状態まで素早くデータの状態を戻すという仕組みだ。バックアップ・データを使い、ゼロからデータを書き戻そうとすれば膨大な時間を要することになり、当然、その間はシステムを利用することができなくなる。だが、Flashback Technologyを使えば、データ量にかかわらず素早く障害発生前の状態に戻すことが可能であり、システム停止時間を最小限に抑えられる。
img_solution_120110_05.png
■米国企業の多くがOracle MAAのアプローチを採用し、高可用システムを最適なコストで実現

 我々はデータ保護の3原則にのっとって構築されたバックアップ・サイトを、バックアップ以外の目的でも積極的に活用することを勧めている。なぜなら、コストをかけて構築したバックアップ・サイトを平時に遊ばせておくのはもったいないし、そもそも日ごろからバックアップ・サイトを利用する習慣をつけておかないと、万が一の際、スムーズにバックアップ・サイトを利用できない恐れがあるからだ。

 実際、海外ではこの考えの下、Oracle MAAに基づく各種ソリューションを導入する企業が増えている。例えば、バンク・オブ・アメリカの場合、ほとんどのシステムで「Oracle Data Guard」(Oracle Database Enterprise Editionに標準搭載されているデータ連携機能。同機能の高機能版がActive Data Guard)を使っている。また、与支払事務代行などを行っているペイチェックスは、2つのデータセンターでOracle Databaseを稼働させ、Active Data Guardを使ってそれらを同期。さらに、バックアップ・サイト側のデータベースを利用してレポートを出力するといったシステムを構築している。そのほかにも、さまざまな企業がOracle MAAの考え方を採用してデータ保護を行っている。

 こうした例からもわかるように、Oracle MAAはシステムの可用性を効率的に高めるうえで極めて有用な指針となる。コストを無尽蔵にかければ可用性はいくらでも高められるが、高いコスト効率を実現しつつ高めるのは容易ではない。我々がOracle MAAによってチャレンジしているのは、まさにそうしたかたちでの高可用性の実現なのだ。

 なお、このOracle MAAのアプローチを全面的に採用して設計されているのがデータベース・マシン「Oracle Exadata」にほかならない。Exadataには、Oracle RACやストレージ自動管理機能「Oracle Automatic Storage Management(ASM)」があらかじめ組み込まれているほか、Active Data Guardも利用できる。日本企業でも、ぜひこうしたソリューションをうまく活用し、高可用システムを最適なコストで実現していただきたい。

Comments:

Post a Comment:
Comments are closed for this entry.
About

Twitter
Facebook

Search

Recent Posts
Archives
« 4月 2014
  
1
2
3
4
5
6
7
9
10
11
12
13
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today