4 Oracle Flex Cluster
Oracle Flex Clusterは、Oracle Clusterwareを多数のノードに拡張します。
この章の内容は次のとおりです。
4.1 Oracle Flex Clusterの概要
Oracle Flex Cluster構成でインストールされるOracle Grid Infrastructureは、スケーラブルで動的、強固なノード・ネットワークです。
Oracle Flex Clusterは、多数のノードを持つOracle Real Application Clusters (Oracle RAC)データベースなどの様々なアプリケーションにプラットフォームを提供します。Oracle Flex Clusterでは、高可用性のために調整および自動化が必要な他のサービス・デプロイメントのプラットフォームも提供されます。
Oracle Flex Cluster内のすべてのノードは、単一のOracle Grid Infrastructureクラスタに属します。このアーキテクチャでは、様々なサービス・レベル、負荷、障害のレスポンス、およびリカバリに対処するために、アプリケーション・ニーズに基づいてリソースのデプロイメントに対するポリシー決定が集中管理されます。
Oracle Flex Clusterには、ハブおよびスポーク・アーキテクチャに配置される2つのタイプのノード(ハブ・ノードおよびリーフ・ノード)が含まれます。Oracle Flex Cluster内のハブ・ノードの最大数は64です。リーフ・ノードの数は、さらに多くできます。ハブ・ノードおよびリーフ・ノードでは、様々なタイプのアプリケーションをホストできます。
ハブ・ノードは、接続が強固であり、共有ストレージに直接アクセスできる点で、Oracle Clusterwareの標準クラスタ構成におけるOracle Grid Infrastructureノードに類似しています。ハブ・ノードを使用して、読取り/書込みデータベース・インスタンスをホスティングします。
リーフ・ノードは、共有記憶域への直接アクセスが必要なく、かわりにハブ・ノードを介してデータを要求する点が、標準のOracle Grid Infrastructureノードと異なります。リーフ・ノードを使用して、読取り専用データベース・インスタンスをホスティングします。
注意:
同じプライマリ・データベースの読取り/書込みデータベース・インスタンスと読取り専用データベース・インスタンスは、Oracle Flex Clusterで共存できます。ハブ・ノードは、クラスタ・メンバー・ノードとしてリーフ・ノードを一切必要とせずにOracle Flex Cluster構成で実行できますが、リーフ・ノードは最低1つのハブ・ノードを含むクラスタのメンバーである必要があります。
注意:
Oracle Flex Clusterをアップグレードする場合、最初にハブ・ノードをアップグレードし、アップグレード・プロセスの一環としてアップグレード済のハブ・ノードを起動しておくことをお薦めします。
リーダー・ノード
読取り専用モードで実行されるOracle RACデータベース・インスタンスをホスティングするためにリーフ・ノードを使用でき、これらのリーフ・ノードはリーダー・ノードになります。データがそのリーフ・ノードにキャッシュされるように大量のメモリーを持つノードをプロビジョニングすることで、パラレル問合せ操作のためにこれらのノードを最適化できます。
リーフ・ノードでは、ハブ・ノード間で発生するハートビート・メッセージとは異なる定期的なハートビート・メッセージを、関連付けられているハブ・ノードに送信します。ハブ・ノードの計画停止中、リーフ・ノードは、1つのハブ・ノードにのみ接続されている場合を除き、別のハブ・ノードへの接続を試行します。ハブ・ノードが削除されると、リーフ・ノードもクラスタから削除されます。
4.2 Oracle Flex Clusterの管理
CRSCTLを使用して、小さいクラスタまたは大きいクラスタのいずれかにOracle Grid Infrastructureを正常にインストールした後のOracle Flex Clusterを管理します。
4.2.1 クラスタ・モードの変更
既存のOracle Clusterwareの標準クラスタをOracle Flex Clusterに変更できます。
4.2.1.1 Oracle Clusterwareの標準クラスタからのOracle Flex Clusterへの変更
CRSCTLを使用して、既存のOracle Clusterwareの標準クラスタからOracle Flex Clusterに変更します。
次の手順を実行します。
-
次のコマンドを実行して、クラスタの現在のモードを判断します。
$ crsctl get cluster mode status
-
次のコマンドを実行して、グリッド・ネーミング・サービス(GNS)が固定VIPで構成されているかを確認します。
$ srvctl config gns
この手順は、GNSが固定のVIPで構成されていない場合は失敗します。GNSがない場合、次のように
root
として1つ作成します。# srvctl add gns -vip vip_name | ip_address
次のコマンドを
root
として実行して、GNSを起動します。# srvctl start gns
-
Oracle Automatic Storage Management Configuration Assistant (ASMCA)を使用して、クラスタでOracle Flex ASMを有効にしてからクラスタ・モードを変更します。
-
root
として次のコマンドを実行して、クラスタのモードがOracle Flex Clusterになるよう変更します。# crsctl set cluster mode flex
-
クラスタの各ノードで
root
として次のコマンドを実行し、Oracle Clusterwareを停止します。# crsctl stop crs
-
クラスタの各ノードで
root
として次のコマンドを実行し、Oracle Clusterwareを起動します。# crsctl start crs -wait
注意:
進捗状況およびステータス・メッセージを表示するには、
-wait
オプションを使用します。
4.3 Oracle拡張クラスタ
1つのOracle RACクラスタを、地理的に離れ、それぞれ独自の記憶域を備えた2つ以上のサイトにわたって拡張できます。いずれかのサイトに障害が発生すると、他のサイトがアクティブ・スタンバイとして機能します。
Oracle ASMとOracle Databaseスタックは、いずれも、通常、データ・センターのエンタープライズ・クラスの共有記憶域を使用するように設計されています。ただし、ファイバ・チャネル・テクノロジにより、計算リソースと記憶域リソースを2つ以上のデータ・センターにわたって分散でき、それらを計算および記憶域のそれぞれのニーズに従ってイーサネット・ケーブルやファイバ・チャネルを介して接続できます。
Oracle拡張クラスタは、Oracle Grid Infrastructureをインストールするときに構成できますが、インストール後も、ConvertToExtended
スクリプトを使用して構成できます。CRSCTLを使用して、Oracle拡張クラスタを管理します。
4.3.1 Oracle拡張クラスタの構成
この手順は、Oracle Grid Infrastructure 12c リリース2 (12.2)以上とともにインストールされたか、後でこのリリースに更新され、通常は1つのサイト(デフォルト・サイト)のみで構成されるクラスタの場合にのみサポートされます。
注意:
この手順では、クラスタ内のすべてのノードがアクセス可能である必要があります。データベース・アクセスが中断すると、クラスタも停止します。ConvertToExtended
スクリプトを使用して、複数のデータ・サイトを作成し、1つのノードを各データ・サイトに関連付けることができます。すべてのOracle Flex ASM記憶域は、既存のディスク・グループを拡張ディスク・グループに変換するメカニズムがないため、デフォルトのクラスタ・サイトに関連付けられたままとなります。クラスタをOracle拡張クラスタに変換した後、投票ファイル・メンバーシップは階層化されず、フラットなままとなります。
$ crsctl get cluster extended
CRS-6579: The cluster is 'NOT EXTENDED'
$ crsctl query cluster site –all
Site 'crsclus' identified by '7b7b3bef4c1f5ff9ff8765bceb45433a' in state 'ENABLED',
and contains nodes 'node1,node2,node3,node4', and disks ''.
前述の例では、4つのノード(node1
、node2
、node3
およびnode4
)と1つのディスク・グループ(datadg
)が含まれるcrsclus
というクラスタを識別します。このクラスタには構成済のサイトが1つ含まれます。
cssd
およびcrsd
がクラスタ・モードを拡張ではないとみなす一方で、他のコンポーネントがクラスタ・モードを拡張であるとみなすことを回避するために、Oracle Clusterwareスタックを停止します。グリッド・プラグ・アンド・プレイ・デーモン(gpnpd
)をオンラインのままにする利点は、プロファイルがリモート・ノードで更新されることです。Oracle Clusterwareスタックを次回起動したときに、クラスタ・モードが拡張されます。# crsctl stop cluster -all
-
次のように、クラスタを特定のノードに拡張します。
$ rootcrs.sh -converttoextended -site site_name
-
CSSがいずれのリモート・ノードでも実行されていないことを確認します。
-
前述のチェックポイント情報を使用して、新しいサイトおよびサイトGUIDを参照します。
-
次のように、サイトをローカル構成に追加します。
$ crsctl add crs site site_name -guid site_guid -local
-
次のように、このノードのローカル構成でサイトへのマッピングを更新します。
$ crsctl modify cluster site site_name –n local_host -local
-
次のように、Oracle高可用性サービス・スタックを停止してから起動します。
# crsctl stop crs # crsctl start crs
$ crsctl get cluster extended
CRS-XXXX: The cluster is 'EXTENDED'
$ crsctl query cluster site –all
Site 'crsclus' identified by '7b7b3bef4c1f5ff9ff8765bceb45433a' is 'ONLINE', and
contains nodes '', and disks ''.
Site 'ny' identified by '888b3bef4c1f5ff9ff8765bceb45433a' is 'ONLINE', and \
contains nodes 'node1,node2', and disks ''.
Site 'nj' identified by '999b3bef4c1f5ff9ff8765bceb45433a' is 'ONLINE', and \
contains nodes 'node3,node4', and disks ''.
前述のコマンド例の出力は、コマンドを実行したときにCRSCTLによって表示される内容と似ています。