PR

検証!RACの耐障害性と拡張性

2008年7月14日(月)
加藤 昇平

障害動作について

ここでは、障害時の動作とそのダウンタイムについて説明します。

1つ目が「インスタンス障害」です。インスタンス障害は、DBインスタンスを構成するSGA(System Global Area)、SMON(System MONiter)、DBWn、LGWRなどのバックグラウンドプロセスに障害が発生して、インスタンスが異常終了する障害です。

障害の発生したDBインスタンスが異常終了すると、Oracle Clusterwareによって障害が検知され、生存インスタンスによってインスタンスリカバリー処理が実施されます。DBインスタンスおよびASMインスタンスは、インスタンスモニターによって常時生死確認が行われています。

インスタンスモニターは障害を検出すると、Oracle Clusterwareにその状態を伝え、障害を起こしたインスタンスの再起動処理や、サービスのフェールオーバー処理、インスタンスリカバリー処理が開始されます。疑似障害を発生させる場合は、バッググラウンドプロセス(LGWRやLMSプロセスなど)を強制停止させてインスタンスを停止します。

2つ目が「ノード障害」です。ノード障害は、電源やCPUなどのハードウエア障害やOS障害などの理由でサーバーが処理を継続できない状態です。ノード障害が発生すると、Oracle Clusterwareによる一定期間のハートビート処理によって障害を検知します。そして生存ノード上で、Oracle Clusterwareの再構成とインスタンスリカバリー処理、障害ノードのVIPのフェールオーバが実施されます。ノード障害の場合、図2の流れでリカバリー処理が実施されます。

切り替え処理による障害回復

3つ目が「インターコネクト障害」です。インターコネクト障害(1重)は、インターコネクトを構成するNIC、LANケーブル、ネットワークスイッチに障害が発生して、1経路が遮断する障害です。SolarisのIPMPやLinux/Windowsのチーミングによって冗長化すると、インターコネクト障害(1重)が発生しても即座にスタンバイの経路に切り替わります。このため、Oracle Clusterwareやインスタンスに対する影響なく処理も続けることができます。

4つ目が「サービスネットワーク障害」です。サービスネットワーク障害(1重)は、サービスネットワークを構成するNIC、LANケーブル、ネットワークスイッチに障害が発生して、1経路が遮断する障害です。インターコネクトと同様、IPMPやチーミングなどのOS機能によってRACに影響なく処理を続けることができます。

5つ目が「ストレージ障害」です。ストレージ障害(1重)は、DBサーバーとストレージを結ぶ経路を構成するホストバスアダプター(NAS構成の場合はネットワークカード)、ファイバー(NAS構成の場合はLANケーブル)、スイッチに障害が発生して、1経路が遮断する障害、あるいはストレージ自身の冗長化された構成部分(例:コントローラなど)の障害になります。パス障害については、マルチパスドライバーによる切り替え機能、コントローラ障害については、製品の持つフェールオーバ機能によって、これもRACに影響なく処理を続けることができます。

それぞれの障害に対する動作フェーズは図2のようになります。

伊藤忠テクノソリューションズ株式会社
ITエンジニアリング室 ミドルウェア推進部 DB技術課所属。2000年に伊藤忠テクノソリューションズ(CTC)入社。入社後はSybase、Oracleなど各種データベース製品のプリセールスや技術検証を担当し、大規模プロジェクトを経験。2008年にOracle Master Platinum Oracle Database 10gを取得。2008年から現職。http://www.ctc-g.co.jp/

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています