20 エンタープライズ・デプロイメントでのサービス移行の使用
Oracle WebLogic Serverの移行フレームワークは、サーバー全体の移行とサービスの移行をサポートしています。サーバー全体の移行には、より多くのリソースと管理対象サーバーの完全な起動が必要であるため、サービス移行よりフェイルオーバー時のレイテンシは大きくなります。このEDGに含まれる製品は、サービス移行をサポートしています。したがって、サービス移行をお薦めします。このガイドでは、Oracle Fusion Middlewareエンタープライズ・トポロジでサービス移行を使用する方法について説明します。サーバー全体の移行は、このガイドの範囲外です。
- エンタープライズ・デプロイメントでの自動サービス移行について
Oracle WebLogic Serverは、可用性の高い環境にとって不可欠な要素である移行フレームワークを備えています。次の項では、エンタープライズ・デプロイメントでこのフレームワークを効果的に使用する方法を詳しく説明します。 - リース用のGridLinkデータ・ソースの作成
自動サービス移行では、リース表のデータ・ソースが必要です。リース表は、リポジトリ作成ユーティリティ(RCU)によって、Oracle WebLogic Serverスキーマの一部として自動的に作成される表領域およびスキーマに存在する表です。 - エンタープライズ・デプロイメントでの自動サービス移行の構成
このエンタープライズ・デプロイメント・ガイドの様々なSOAコンポーネントで使用されるサービスは、このガイドに記載されている構成ウィザードのステップに従うことで、自動サービス移行ですでに構成されています。その他のカスタム・サービスについては、次のステップを使用してサービス移行を構成できます。
エンタープライズ・デプロイメントでの自動サービス移行について
Oracle WebLogic Serverは、可用性の高い環境にとって不可欠な要素である移行フレームワークを備えています。次の項では、エンタープライズ・デプロイメントでこのフレームワークを効果的に使用する方法を詳しく説明します。
親トピック: エンタープライズ・デプロイメントでのサービス移行の使用
サーバー全体の移行とサービスの移行の違いの理解
Oracle WebLogic Serverの移行フレームワークでは、次の2つの種類の自動移行をサポートしています。
-
サーバー全体の移行。障害発生時に、管理対象サーバー・インスタンスが別の物理システムに移行されます。
サーバー全体の移行では、別の物理マシン上で、サーバー・インスタンスとそのすべてのサービスが自動的に再起動されます。サーバー移行が構成されているクラスタに属するサーバーで問題が発生すると、そのサーバーは、クラスタのメンバーをホストする他のマシンで再起動されます。
このためには、サーバーはリスニング・アドレスとして、フローティングIPにマップされた仮想ホスト名を使用する必要があり、必要なリソース(トランザクション・ログとJMS永続ストア)が候補マシンで利用できなければなりません。
Oracle WebLogic Serverクラスタの管理のサーバー全体の移行を参照してください。
-
サービスの移行。特定のサービスが、クラスタ内の別の管理対象サーバーに移行されます。
サービスの移行を理解するには、固定サービスを理解することが重要です。
WebLogic Serverクラスタでは、ほとんどのサブシステム・サービスがクラスタ内のすべてのサーバー・インスタンスで均一にホストされます。これにより、サーバー間の透過的なフェイルオーバーが可能になります。対照的に、JMS関連サービスやJTAトランザクション・リカバリ・サービス、ユーザー定義のシングルトン・サービスなどの固定サービスは、クラスタ内の個々のサーバー・インスタンスにホストされます。WebLogic Serverの移行フレームワークは、これらのサービスに対して、フェイルオーバーではなく、サービスの移行による障害回復をサポートしています。
『Oracle WebLogic Serverクラスタの管理』のサービスの移行フレームワークの理解を参照してください。
サーバー全体の移行には、自動サービス移行よりも多くのリソース(仮想IPおよび仮想ホスト名)が必要です。また、移行された管理対象サーバーの完全な起動も伴うため、リカバリ時間目標が低下します。Oracle FMW SOA Suiteのすべての異なるコンポーネントで自動サービス移行がサポートされます。これは、このエンタープライズ・デプロイメント・ガイドで推奨および説明されている推奨フェイルオーバー・アプローチです。サーバー全体の移行は、このガイドの範囲外です。
エンタープライズ・デプロイメントでのサービス移行の影響
エンタープライズ・デプロイメントで自動サービス移行(ASM)を使用する場合、インフラストラクチャと構成要件の点で次の意味があります。
意味:
-
サーバーによって使用されるリソースは、元のシステムからもフェイルオーバー・システムからもアクセスできる必要があります
初期状態では、リソースには元のサーバーまたはサービスからアクセスできます。サーバーまたはサービスが、フェイルオーバーになって別のシステムで再起動される場合、同じリソース(外部リソース、データベースおよびストア)をフェイルオーバー・システムで使用できる必要があります。そうでない場合、サービスで同じ操作は再開できません。このような理由から、サーバー全体の移行とサービスの移行の両方で、WebLogicクラスタのすべてのメンバーが、同一のトランザクションとJMS永続ストアにアクセスできる必要があります。
Oracleで使用できるJDBCストアは、Oracleデータベースの一貫性、データ保護および高可用性の機能を活用して、クラスタのすべてのサーバーでリソースを利用できるようにします。データベースで永続ストアを適切に構成する際には、フェイルオーバー(サーバー全体の移行またはサービスの移行)が発生した場合に、手動操作を必要とせずにフェイルオーバー・システムが同じストアにアクセスできる必要があります。
-
リース・データソース
サービス移行では、サーバーが有効タイムスタンプを格納する際に使用する、リース・データソースの構成が必要です。このタイムスタンプは、サーバーまたはサービスの状態を判定するためのもので、サーバー移行とサービス移行の正しい動作(サーバーまたはサービスを停止とマークしてフェイルオーバーを発動する)に不可欠です。ノート:
HAの目的でコンセンサス・リーシングを使用するのは、お薦めできません。
表20-1に、様々な観点をまとめます。
表20-1 ASMの観点のサマリー
クラスタの保護 | フェイルオーバー時間 | キャパシティ・プランニング | 信頼性 | 共有記憶域/DB | 管理対象ごとのVIP |
---|---|---|---|---|---|
ASM |
30秒 |
メモリー/CPU単位のサービス |
DBリース |
はい |
いいえ |
サービス移行が必要となる製品およびコンポーネントの理解
次の表に、自動サービス移行を使用した最適な高可用性のための推奨ベスト・プラクティスを示します。前の項で説明したように、これらのすべてのコンポーネントで自動サーバー移行を使用することもできますが、フェイルオーバー時間が長くなり、より多くのリソースが必要になります。
コンポーネント | 自動サービス移行(ASM) |
---|---|
Oracle Web Services Manager(OWSM) |
いいえ |
Oracle SOA Suite |
はい |
Oracle Service Bus |
はい |
Oracle Business Process Management |
はい |
Oracle Enterprise Scheduler |
いいえ |
Oracle Business Activity Monitoring |
はい |
Oracle B2B |
はい |
Managed File Transfer |
はい |
リース用のGridLinkデータ・ソースの作成
自動サービス移行では、リース表のデータ・ソースが必要です。リース表は、リポジトリ作成ユーティリティ(RCU)によって、Oracle WebLogic Serverスキーマの一部として自動的に作成される表領域およびスキーマに存在する表です。
ノート:
データ・ソースの集計と接続使用状況の緩和を達成するために、データベース・リースにWLSRuntimeSchemaDataSource
をそのまま再利用できます。このデータ・ソースはすでにFMW1412_WLS_RUNTIME
スキーマで構成されており、そのスキーマにリース表が格納されます。
エンタープライズ・デプロイメントでは、GridLinkデータ・ソースを作成する必要があります。
親トピック: エンタープライズ・デプロイメントでのサービス移行の使用
エンタープライズ・デプロイメントでの自動サービス移行の構成
このエンタープライズ・デプロイメント・ガイドの様々なSOAコンポーネントで使用されるサービスは、このガイドに記載されている構成ウィザードのステップに従うことで、自動サービス移行ですでに構成されています。その他のカスタム・サービスについては、次のステップを使用してサービス移行を構成できます。
エンタープライズ・デプロイメント・クラスタに対するリース・メカニズムおよびデータ・ソースの設定
ノート:
データ・ソースの集計と接続使用状況の緩和を達成するために、データベース・リースにWLSRuntimeSchemaDataSource
データ・ソースをそのまま再利用できます。このデータ・ソースはすでにFMW1412_WLS_RUNTIME
スキーマで構成されており、そのスキーマにリース表が格納されます。
次の手順は、WLSRuntimeSchemaDataSource
または「リース用のGridLinkデータ・ソースの作成」の説明に従って作成したカスタム・データソースを再利用することによってリース・データ・ソースが構成されていることを前提としています。
- WebLogicリモート・コンソールにログインします。
- 「ツリーの編集」に移動します。
- 構造ツリーで、「環境」→「クラスタ」を開きます。
- 「クラスタのサマリー」ページが表示されます。移行を構成するクラスタをクリックします。
- 「移行」タブをクリックします。
- 「移行基盤」ドロップダウン・メニューでデータベースが選択されていることを確認します。
- 「自動移行に使用するデータ・ソース」ドロップダウン・メニューで、「リース用のGridLinkデータ・ソースの作成」で作成したリース・データ・ソースを選択します。データ・ソース集計の場合は、
WLSRuntimeSchemaDataSource
を選択します。 - 「保存」をクリックします。
- ショッピング・カートの変更をコミットします
- 管理対象サーバーを再起動して、変更内容を有効にします。同じ構成変更セッションでASMの他の部分も構成している場合は、再起動を最後の1回のみにすることで、ダウンタイムを短くできます。
データベース・リースの構成が完了したら、サービス移行の構成を続けます:
-
「自動サービス移行の構成」を参照してください
自動サービス移行の構成
「エンタープライズ・デプロイメント・クラスタに対するリース・メカニズムおよびデータ・ソースの設定」での説明に従ってクラスタのリースを構成すると、エンタープライズ・デプロイメントで特定のサービスについて自動サービス移行を構成できます。次の項では、静的クラスタに対して自動サービス移行を構成して検証する方法について説明します。
クラスタ内の管理対象サーバーのJTA移行設定の変更
クラスタにリース・メカニズムとデータ・ソースを設定した後、サービス移行を構成する管理対象サーバーに対して自動JTA移行を有効にできます。この項は、JTAサービスをエンタープライズ・デプロイメントの一部としてデプロイする場合にのみ該当します。
親トピック: 自動サービス移行の構成
サービス移行ポリシーの選択について
自動サービス移行を構成する際は、クラスタごとにサービス移行ポリシーを選択します。この項では、サービス移行ポリシーを選択する際のガイドラインと考慮事項を示します。
たとえば、シングルトンを実行するかパス・サービスを使用する製品またはコンポーネントは、「必ず1回」ポリシーからメリットを得ることができます。このポリシーでは、候補サーバーのリストにある管理対象サーバーが1つ以上動作している場合、この移行可能ターゲットでホストされるサービスは、サーバーが失敗するか管理者によって(正常または強制的に)シャットダウンされると、クラスタ内のいずれかの場所でアクティブ化されます。これにより、複数の同種のサービスが起動時に1つのサーバー上で終了することがあります。
このポリシーを使用している場合は、クラスタの起動を監視して、各サーバー上でどのサーバーが実行されているかを特定する必要があります。その後、必要に応じて手動フェイルバックを実行し、システムをバランスのとれた構成にすることができます。
その他のFusion Middlewareコンポーネントでは、「障害リカバリ」ポリシーの方が適しています。
これらのガイドラインに基づき、Oracle SOA Suiteエンタープライズ・トポロジには次のポリシーが推奨されます。
-
SOA_Cluster: 障害リカバリ
-
OSB_Cluster: 障害リカバリ
-
BAM_Cluster: 必ず1回
-
MFT_Cluster: 障害リカバリ
『Oracle WebLogic Serverクラスタの管理』の手動および自動サービス移行のポリシーに関する項を参照してください。
親トピック: 自動サービス移行の構成
クラスタ内の各管理対象サーバーに対するサービス移行ポリシーの設定
親トピック: 自動サービス移行の構成
自動サービス移行後のサービスのフェイルバック
自動サービス移行が発生した場合、Oracle WebLogic Serverでは、サーバーがオンラインに戻りクラスタに再度参加するときに、サービスが元のサーバーにフェイルバックすることはサポートされません。
そのため、フェイルオーバー中に、自動サービス移行によって特定のJMSサービスがバックアップ・サーバーに移行されたあとは、元のサーバーがオンラインに戻っても、サービスが元のサーバーに移行されることはありません。かわりに、サービスを元のサーバーに手動で移行する必要があります。
サービスを元のサーバーにフェイルバックするには、WLST migrateコマンドを使用します。詳細は、『Oracle WebLogic Server WLSTコマンド・リファレンス』を参照してください。
親トピック: 自動サービス移行の構成