EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

002 大きく変化したOracle RAC 11gR2のアーキテクチャ

edited by DB Online   2012/11/21 13:00

4. OCR、投票ディスク

 Grid Infrastructureをインストールすると、共有ディスクにOracle Cluster Registry(以下、OCR)と投票ディスクが作成されます。OCRにはクラスタを構成する各ノードのホスト名、プライベートネットワーク情報、各リソースの情報など、クラスタ全体で共有する管理情報や構成情報が格納されています。投票ディスクは、クラスタを構成する各ノードの生存確認のために使用されます。OCR、投票ディスクは共に多重化することが推奨されており、最大多重化数は OCRで5つ、投票ディスクは15です。(RAC 11gR2の場合)

 ※投票ディスク数は5つ以内で、かつ奇数が推奨されています。

5. ハートビート

 Oracle Clusterwareは、クラスタを構成する各ノードの生存確認のため、プライベート・ネットワークを用いた通信のハートビートと、投票ディスクにノードの状態を書き込むディスクハートビートを使用します。ハートビートが一定期間途切れると、Oracle Clusterwareはそのノードをクラスタから強制的に排除します。ハートビート障害をOracle Clusterwareが検出するまでの時間は各OSごとに異なりますが、Linuxの場合はデフォルトで30秒となります。

 ハートビート障害について詳細に説明します。

 投票ディスクへアクセスできないような障害が発生すると、アクセス障害が発生したノードのOracle Clusterwareのリソース(以下、CRSリソース)とOracle Clusterwareのプロセス(以下、CRSプロセス)が停止されます。上記の図だと、ノード1のCRSリソースおよびCRSプロセスが停止されます。

 もし投票ディスクが複数あるときは、過半数の投票ディスクにアクセスできない場合にCRSリソースとCRSプロセスが停止されます。例を挙げると、投票ディスクが3つある構成でノード1から2つの投票ディスクにアクセスできない場合、ノード1のCRSリソースとCRSプロセスが停止されます。

 プライベート・ネットワークにおける通信に障害が発生した場合、クラスタを構成するノード間で整合性が確保出来ない事態を避けるため、いずれかのノードのCRSリソースとCRSプロセスを停止する必要がでてきます。2ノード構成の場合は、小さいノード番号を持つノードのCRSプロセスとCRSリソースは停止されず、大きいノード番号を持つノードのCRSプロセスとCRSリソースが停止されます。上記の図だとノード2のCRSリソースとCRSプロセスが停止されます。3ノード以上の場合、通信可能なノードのグループが複数に分かれる可能性があります。

その場合、通信可能なノード数が少ないグループのCRSリソースとCRSプロセスが停止されます。たとえば、互いに通信可能なノードが2ノードと1ノードに分かれた場合は、もっとも小さいノード番号を持つノードが含まれるグループのCRSプロセスとCRSリソースが残り、これ以外のグループのCRSプロセスとCRSリソースが停止されます。

 ※ノード番号はGrid Infrastructureをインストールする際、root.shを実行した順になります。

 ※Oracle Real Application Clusters 11.2.0.1までは、投票ディスクへのアクセス障害時もしくはプライベート・ネットワークにおける通信障害時にOSリブートが発生したのですが、 11.2.0.2から仕様が変更され、OSリブートは行われないようになりました。しかし、プライベート・ネットワークにおける通信障害および投票ディスクへのハートビートの両方が遮断され、かつ除外対象ノードのCRSリソースおよびCRSプロセスの停止が正常に行えない場合は、OSリブートが行われます。

 *  *  *

  第2回目は以上となります。

 今回は、RAC 11gR2の主にOracle Clusterwareアーキテクチャについて説明しました。もし第1回目で環境を構築した方は、是非とも実機を触りながら確認してみてください。

 次回は、接続、サービスのアーキテクチャに触れていく予定です



著者プロフィール

  • 加賀 行宣(カガ ユキノリ)

    株式会社 コーソル Oracleサービスグループ 学生時代は、社会ではなかなかできない経験を積みたいとの思いから、北海道で酪農を学ぶ。 2002年4月に新卒でアプリケーションベンダーへ入社し、携帯ゲームサイトなどの開発や運用に携わる。そこで担当システムのDBに障害が発生した際に、何もできず、悔しい思いをした経験から、DBに興味を持った。Oracleに限らず、「DB全般のスペシャリスト」になりたいと考え、2007年4月にコーソルへ転職。 コーソルでは、Oracle DB製品サポート業務を1年弱経験した後に、RACを含むOracle DB製品やMySQLをはじめとするOSS DBの設計、構築・導入、チューニング、運用支援などを幅広く経験。 並行してOracle DBA&Developer Days 2010・同2011にて、約300名のエンジニアに向けて技術セッションを行ったり、習得したMySQL技術を全社にメルマガ形式で展開したりと、“マルチエンターティナー”振りを発揮している。 2009年1月にORACLE MASTER Gold Oracle Database 11g、2009年11月にOracle Database 10g: Real Application Clusters Administrator Certified Expertを取得。 特技は、どんな飲み会でも最速で周囲に溶け込み、誰よりも楽しむこと。飲みに行きやすい場所に引っ越すほどの徹底ぶりだ。 本人曰く「飽きっぽいだけ」とのことだが、常に全力で新しいチャレンジ・環境を楽しむことができ、なおかつそれを通じて周りの人を喜ばせたいという思いを忘れないからこそ、仕事でもプライベートでも、“マルチエンターティナー”であり得るのかもしれない。  

バックナンバー

連載:目指せリア充!コーソル流 RAC 活のススメ ~シングル卒業~
All contents copyright © 2007-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5