G アクティブおよびパッシブ環境でのフェイルオーバーのターゲットの構成
この項では、既存の管理エージェントから別のエージェントにコールド・フェイルオーバー・クラスタ(CFC)・ターゲットを再配置するCloud Control管理者向けに全般的な情報を提供します。ターゲットは複数のノードで実行可能ですが、CFC環境のアクティブなノードでのみ実行されます。
CFC環境は、通常、クラスタ・ソフトウェアを組み合せて使用することで、仮想ホスト名とIPアドレス、インターコネクト・ホストおよび記憶域システムを提供して情報を共有し、アプリケーションの高可用性(HA)を実現します。仮想ホスト名とIPのフェイルオーバーを自動化し、Enterprise Managerターゲットを再配置してパッシブ・ノードでアプリケーションを再起動する場合、Oracle Enterprise Managerのコマンドライン・インタフェース(EM CLI)と、オラクル社またはサードパーティのクラスタ・ソフトウェアを使用する必要があります。一部のOracleパートナ・ベンダーでは、この分野のクラスタウェア・ソリューションが提供されています。
この章の構成は、次のとおりです。
アクティブおよびパッシブ環境でのターゲットの再配置
Oracle Enterprise Manager 13cでは、クラスタの各ノードで実行されている単一のOracle Management Agentによって、アクティブおよびパッシブの高可用性で構成されているターゲットをモニターできます。CFCクラスタの各物理ノードでは、1つの管理エージェントのみが必要ですが、その理由は、パッシブ・ノードへのフェイルオーバーの際に、Enterprise Managerは、一連のEMCLIコマンドを使用して、障害ノード上の管理エージェントから新しくアクティブ化されたノード上の別の管理エージェントにHAモニター対象ターゲットを移動できるためです。詳細は、『Oracle® Enterprise Managerコマンドライン・インタフェース・ガイド』を参照してください。
アクティブ/パッシブ環境でアプリケーションが実行している場合、アクティブなノードに障害が発生すると、クラスタウェアはパッシブ・ノードでアプリケーションを起動します。Enterprise Managerがこのタイプの構成でターゲットを引き続きモニタリングする場合、既存の管理エージェントには追加の構成が必要です。
次の項では、新しいアクティブなノードでターゲットを自動化および再起動する環境を準備する方法について説明します。フェイルオーバーおよびフェイルバックの手順も示します。
インストールおよび構成
次の項では、Oracle Management Serviceプロセスと通信する既存の管理エージェントを使用してCFC構成をサポートするEnterprise Managerの構成方法について説明します。
前提条件
次のステップは、CFCでのフェイルオーバー用にモニター対象ターゲットがすでにインストールおよび構成されていることが前提となります。
アクティブ/パッシブ環境を次のように準備します。
-
オペレーティング・システム・クロックがクラスタのすべてのノード間で同期していることを確認します。(ネットワーク・タイム・プロトコル(NTP)または別のネットワーク同期化メソッドの使用を検討してください。)
-
物理ホスト名を使用して、クラスタの各ノードに管理エージェントをインストールします。クラスタの各ノードのローカル・ディスク・ボリュームに管理エージェントをインストールします。管理エージェントをインストールすると、Cloud Controlコンソールに表示されます。
-
CFCクラスタの各ノードにEMCLIをインストールして構成します。詳細は、『Oracle® Enterprise Managerコマンドライン・インタフェース』を参照してください。
-
ターゲットを再配置するときは、失敗したノードの管理エージェントと新しくアクティブ化したノードの管理エージェントでプラグインのバージョンとリビジョンが同じであることを確認します。
構成ステップ
次の項では、OMSプロセスと通信する既存の管理エージェントを使用してCFC構成をサポートするEnterprise Managerの構成方法について説明します。次に示す例は、2つのノードで構成されるクラスタに1つのフェイルオーバー・グループがある構成に基づいています。
構成には次の2つのステップが含まれます。
ターゲットの検出
アクティブ/パッシブ・ターゲットを構成した後、Cloud Controlコンソールの「ターゲットの手動追加」画面を使用して、ターゲット(データベース、リスナー、アプリケーション・サーバーなど)を追加します。この画面には、「設定」→「ターゲットの追加」→「ターゲットの手動追加」の順に移動してアクセスします。このステップは、アクティブ・ノード(追加するターゲットを現在ホストしているノード)を指定して実行する必要があります。
プラグインのデプロイ
図G-1 エージェントのホームページ
「検出コンテンツのみ」ボックスが選択されていないプラグインを書き留めます。これらのプラグインは、パッシブ・ノードのエージェントにデプロイする必要はありません。
パッシブ・ノードのエージェントのホームページを確認して存在しないプラグインを特定した後、存在しないプラグインをデプロイするために「設定」→「拡張性」→「プラグイン」に移動して、関連するプラグインを選択し、管理エージェントにデプロイ・メニューを使用してプラグインをデプロイします。
フェイルオーバー手順
ノードのフェイルオーバー後にターゲットの再配置の速度を上げるには、ターゲットのフェイルオーバーの自動開始に必要なコマンドが含まれるスクリプトを使用して次のステップを構成します。通常、クラスタウェア・ソフトウェアには、Enterprise Managerのターゲットを再配置するスクリプトを自動的に実行できるメカニズムがあります。サンプル・スクリプトについては、「再配置スクリプト」も参照してください。
フェイルバック手順
HAターゲットを元のアクティブ・ノードまたはその他のクラスタ・メンバー・ノードに戻すには、次の手順を実行します。
- HAターゲットをアクティブ・ノードに戻すには、「フェイルオーバー・ステップ」のステップを繰り返します。
- Enterprise Managerコンソールでターゲット・ステータスを確認します。
EM CLI relocate_targetsのパラメータ
「フェイルオーバー手順」の説明に従って、再配置操作中にフェイルオーバー(またはスイッチオーバー)するターゲット・タイプごとにEM CLI relocate_targets
動詞を実行します。表G-1に、このEM CLI動詞に関連付けられている動詞のパラメータを示します。
表G-1 relocate_targets動詞のパラメータ
EM CLIパラメータ | 説明 |
---|---|
-src_agent |
フェイルオーバーの発生前にターゲットが実行していた管理エージェント。 |
-dest_agent |
フェイルオーバー後にターゲットをモニタリングする管理エージェント。 |
-target_name |
フェイルオーバーするターゲットの名前。 |
-target_type |
フェイルオーバーするターゲットのタイプ(Enterprise Managerの内部ターゲット・タイプ)。たとえば、(スタンドアロン・データベースまたはOracle RACインスタンスの)Oracleデータベース、データベース・リスナーのOracleリスナーなど。 |
-copy_from_src |
ソース管理エージェントと同じタイプのプロパティを使用してターゲットを特定します。これは必須パラメータです。このパラメータを指定しないと、ターゲット定義が破損する可能性があります。 |
-force |
同様にフェイルオーバーする依存性を強制します(必要な場合)。 |
再配置スクリプト
次の例では、フェイルオーバー操作の発生時にクラスタウェア構成から実行できる再配置スクリプトを示します。
スクリプトを実行する前に:
-
デフォルトの通常ホスト資格証明と通常ホスト資格証明を設定します。
-
データベース・インスタンスのターゲット優先資格証明と、通常データベース資格証明、SYSDBAのデータベース資格証明およびデータベース・ホスト資格証明を設定します。
再配置スクリプトの例
#! /bin/ksh #get the status of the targets emcli get_targets -targets="db1:oracle_database;listener_db1:oracle_listener" -noheader if [[ $? != 0 ]]; then exit 1; fi # blackout the targets to stop false errors. This blackout is set to expire in 30 minutes. emcli create_blackout -name="relocating active passive test targets" -add_targets="db1:oracle_database;listener_db1:oracle_listener" -reason="testing failover" -schedule="frequency:once;duration:0:30" if [[ $? != 0 ]]; then exit 1; fi # relocate the targets to the new host emcli relocate_targets -src_agent=host1.example.com:3872 -dest_agent=host2.example.com:3872 -target_name=db1 -target_type=oracle_database -copy_from_src -force=yes if [[ $? != 0 ]]; then exit 1; fi emcli relocate_targets -src_agent=host1.example.com:3872 -dest_agent=host2.example.com:3872 -target_name=listener_db1 -target_type=oracle_listener -copy_from_src -force=yes if [[ $? != 0 ]]; then exit 1; fi # End the blackout and let the targets become visible emcli stop_blackout -name="relocating active passive test targets" if [[ $? != 0 ]]; then exit 1; fi # Recheck the status of the targets emcli get_targets -targets="db1:oracle_database;listener_db1:oracle_listener" -noheader if [[ $? != 0 ]]; then exit 1; fi