高可用性アーキテクチャは、エンタープライズ・デプロイメントの主要な要件の1つです。Oracle Fusion Middlewareは、計画外停止からそのコンポーネントとアプリケーションを保護し、計画停止を最小限に抑える広範な高可用性機能を備えています。
このマニュアルで説明するソリューションと手順は、Oracle Fusion Middlewareコンポーネントのシングル・ポイント障害をなくし、停止時間をなくすか、または最小限に抑えるように設計されています。これらのソリューションを使用すると、Oracle Fusion Middlewareにデプロイされているアプリケーションがビジネス目標の達成に必要な可用性を実現できるようになります。
このガイドでは、Oracle Fusion Middlewareコンポーネントのアーキテクチャ、相互作用および依存関係について、またこれらを高可用性アーキテクチャにどのようにデプロイできるのかについて説明します。
この章では、高可用性とその重要性についてOracle Fusion Middlewareの観点から説明します。この章の項目は次のとおりです。
高可用性とは、サービスを中断することなくユーザーがシステムにアクセスできることを指します。高可用性システムを配置すると、システムの停止時間つまり使用不可の時間が最小化され、システムの稼働時間つまり使用可能な時間が最大化されます。この項では、問題解決の観点から高可用性の概要を示します。この項の内容は次のとおりです。
ミッション・クリティカルなコンピュータ・システムは、24時間365日利用可能である必要があります。しかし、計画停止または計画外停止では、システムの一部またはすべてを停止することがあります。システムの可用性は、システム導入後の合計時間のうちのサービス提供時間の割合で測定されます。表1-1に、例を示します。
システムの停止は、計画または計画外に分類できます。計画外停止は、なんらかの種類の予期しない障害です。計画停止とは、前もって知らされていて、システムを使用不可と解釈するスケジュール済操作を指します。計画停止がエンド・ユーザーに与える影響は通常、システム・トラフィックが遅いときに操作ウィンドウをスケジュールすることによって最小化されます。計画外停止はピーク時間に発生するため、計画停止より影響が大きくなって、システム・ユーザーに与えるインパクトが大きくなる場合があります。
停止のこれら2つのタイプ(計画停止と計画外停止)は通常、システムの可用性要件の設計時には別々に扱われます。システムの要件は、計画外停止に関しては非常に制限的な場合がありますが、計画停止に関しては非常にフレキシブルな場合があります。これは、営業時間には負荷がピークに達するが、夜間と週末にはほとんど非アクティブなままであるアプリケーションの場合に当てはまります。対応中の障害のタイプに応じて、別の高可用性機能を選択することもできます。
高可用性ソリューションは、1つのデータ・センター配置における高可用性を実現するローカル高可用性ソリューションと、通常は地理的に分散配置されていて、洪水や地域的なネットワークの停止などの災害からアプリケーションを保護する、障害時リカバリ・ソリューションに分類できます。
想定される障害タイプのうち、プロセス障害、ノード障害、メディア障害および人為ミスは、ローカル高可用性ソリューションで保護できます。データ・センター全体に影響を与えるローカルの物理的な障害については、地理的に分散された障害時リカバリ・ソリューションで保護できます。
高可用性の問題を解決するには、いくつかのテクノロジとベスト・プラクティスが必要になります。その中で最も重要なメカニズムは冗長性です。高可用性は、システムとコンポーネントに冗長性を持たせることによって実現されます。ローカル高可用性ソリューションは、冗長性のレベルによってアクティブ/アクティブ・ソリューションとアクティブ/パッシブ・ソリューションに分類されます(図1-1を参照)。
アクティブ/アクティブ・ソリューションは、複数のアクティブなシステムのインスタンスをデプロイし、スケーラビリティの向上の他、高可用性の提供に使用できます。アクティブ/アクティブ・デプロイでは、すべてのインスタンスは、同時にリクエストを処理します。
アクティブ/パッシブ・ソリューションでは、リクエストを処理するアクティブ・インスタンスと、スタンバイ状態のパッシブ・インスタンスをデプロイします。さらに、この2つのインスタンスの間にハートビート・メカニズムが設定されます。このメカニズムは、オペレーティング・システムのベンダー固有のクラスタウェアで提供および管理されます。通常、ベンダー固有のクラスタ・エージェントでは、クラスタ・ノード間の監視とフェイルオーバーを自動的に行うことも可能なため、アクティブ・インスタンスに障害が発生した場合には、エージェントがそのアクティブ・インスタンスを完全に停止して、パッシブ・インスタンスをアクティブ化します。アプリケーション・サービスは、処理を再開できます。その結果、アクティブ/パッシブの役割が切り替わります。計画停止または計画外停止の場合は、この同じ手順を手動で行えます。アクティブ/パッシブ・ソリューションは一般に、コールド・フェイルオーバー・クラスタとも呼ばれます。
Oracle Cluster Ready Services (CRS)を使用すると、Fusion Middlewareのアクティブ/パッシブ(CFC)ソリューションを管理できます。
包括的な高可用性システムでは、アーキテクチャの冗長性に加えて、次のローカル高可用性テクノロジも必要です。
プロセス障害の検出と自動再起動
構成やソフトウェアに障害が発生したため、予期しないときにプロセスが停止する場合があります。プロセスの監視と再起動が適切に行われるシステムでは、すべてのシステム・プロセスが常時監視され、障害がある場合にそれらが再起動されます。
システム・プロセスは、特定の時間間隔における再起動の回数も記録している必要があります。短期間に何度も再起動を行うと他の障害を引き起こすことがあるため、これも重要な機能です。したがって、特定の時間間隔における再起動や再試行の回数の上限も指定しておく必要があります。
クラスタリング
システムのコンポーネントをまとめてクラスタリングすることにより、クライアント側は、ランタイム処理と管理性の観点から、これらのコンポーネントを機能的に1つのエンティティとみなすことができます。クラスタは、1つのコンピュータ、または同じワークロードを共有する複数のコンピュータ上で実行される一連のプロセスです。クラスタリングと冗長性には密接な関係があります。クラスタは、システムの冗長性を実現します。
クラスタ環境でトランザクション中にフェイルオーバーが発生した場合、クラスタ内に使用可能なインスタンスが1つでも残っているかぎり、セッション・データは保持されます。
状態のレプリケーションとルーティング
ステートフル・アプリケーションでは、これらのリクエストを処理しているプロセスに障害が発生した場合、リクエストのステートフル・フェイルオーバーを有効にするためにクライアント状態をレプリケートできます。
フェイルオーバー
ロード・バランシング・メカニズムが利用されると、インスタンスは冗長になります。いずれかのインスタンスに障害が発生した場合、そのインスタンスに対するリクエストを、障害の発生していないインスタンスに送信できます。
サーバーのロード・バランシング
同じサーバー・コンポーネントの複数のインスタンスを使用できる場合、これらのコンポーネントに対するクライアント・リクエストは、各インスタンスのワークロードがほぼ同一になるようにロード・バランシングされます。
サーバーの移行
一部のサービスでは、常に1つのインスタンスしか実行できません。アクティブ・インスタンスが使用できなくなった場合、サービスは別のクラスタ・メンバー上で自動的に開始されます。または、サーバー・プロセス全体をクラスタ内の別のシステム上で自動的に開始できます。
統合された高可用性
コンポーネントは、他のコンポーネントに依存してサービスを提供します。サービスを中断させることなく依存コンポーネントの障害からこのコンポーネントをリカバリできることが必要です。
ローリング・パッチ適用
多くの場合、製品バイナリにパッチを適用するには、停止時間が必要になります。実行中のクラスタにローリング形式でパッチを適用すると停止時間を回避できます。同様に、パッチはローリング形式でアンインストールできます。
構成管理
類似したコンポーネントを1つのグループにクラスタリングすると、多くの場合、共通の構成を共有する必要があります。適切な構成管理によって、コンポーネントは同じ着信リクエストに対して同じ応答を返し、コンポーネントの構成の同期化が可能になり、管理目的の停止時間を短縮する可用性の高い構成管理を実現できます。
バックアップとリカバリ
ユーザー・エラーによってシステムが誤作動することがあります。特定の状況下では、コンポーネントまたはシステムの障害が修復不可能なこともあります。そのため、バックアップとリカバリの機能を使用してシステムを一定の間隔でバックアップし、修復不可能な障害が発生したときにバックアップをリストアできるようにする必要があります。
表1-2に、高可用性情報について記述しているOracle Fusion Middlewareのガイド(このガイド以外)を示します。この情報は、Oracle Fusion Middlewareの各種コンポーネントの高可用性に関連するものです。
表1-2 Oracle Fusion Middlewareドキュメントで提供される高可用性情報
コンポーネント | 情報の場所 |
---|---|
Oracle SOA Suite |
Oracle Fusion Middleware Oracle SOA Suite管理者ガイド Oracle Fusion Middleware Oracle SOA Suiteインストレーション・ガイド Oracle Fusion Middleware Oracle SOA Suiteエンタープライズ・デプロイメント・ガイド |
Oracle WebCenter Portal |
Oracle Fusion Middleware Oracle WebCenter Portalの管理 Oracle Fusion Middleware Oracle WebCenter Portalのインストレーション・ガイド Oracle Fusion Middleware Oracle WebCenter Portalエンタープライズ・デプロイメント・ガイド |
Oracle ADF |
Oracle Fusion Middleware Oracle Application Development FrameworkのためのFusion開発者ガイド Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド |
Oracle Data Integrator |
Oracle Fusion Middleware Oracle Data Integrator開発者ガイド Oracle Fusion Middleware Oracle Data Integrator接続およびナレッジ・モジュール・ガイド Oracle Fusion Middleware Oracle Data Integratorナレッジ・モジュール開発者ガイド |
Oracle WebLogic Serverクラスタ |
Oracle Fusion Middleware Oracle WebLogic Serverクラスタの使用 |
Oracle Fusion Middlewareのバックアップとリカバリ |
Oracle Fusion Middleware管理者ガイド |
Oracle Web Cache |
Oracle Fusion Middleware Oracle Web Cache管理者ガイド |
Oracle Identity Management |
Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド Oracle Fusion Middleware Oracle Identity Managementエンタープライズ・デプロイメント・ガイド |
Oracle Virtual Directory |
Oracle Fusion Middleware Oracle Virtual Directory管理者ガイド |
Oracle HTTP Server |
Oracle Fusion Middleware Oracle HTTP Server管理者ガイド |
Oracle Internet Directory |
Oracle Fusion Middleware Oracle Internet Directory管理者ガイド |
Oracle Access Manager |
Oracle Security Token Serviceを伴うOracle Fusion Middleware Oracle Access Manager管理者ガイド |
Oracle Authorization Policy Manager |
Oracle Fusion Middleware Authorization Policy Manager管理者ガイド |
Oracle Identity Manager |
Oracle Fusion Middleware Oracle Identity Managerシステム管理者ガイド |
Oracle Adaptive Access Manager |
Oracle Fusion Middleware Oracle Adaptive Access Manager管理者ガイド |
Oracle Real Application Clusters (Oracle RAC) |
Oracle Real Application Clustersインストレーション・ガイド |
Oracle WebCenter Content |
Oracle Fusion Middleware Oracle Enterprise Content Management概要ガイド |
Oracle WebCenter Content: Imaging |
Oracle WebCenter Content Imaging管理者ガイド |
Oracle WebCenter Content |
Oracle WebCenter Content Content Serverシステム管理者ガイド |
Oracle WebCenter Content: Records |
Oracle Fusion Middleware Universal Records Management管理者ガイド |
Oracleリポジトリ作成ユーティリティ(RCU) |
Oracle Fusion Middleware Repository Creation Utilityユーザーズ・ガイド |
Oracle Portal |
Oracle Fusion Middleware Oracle Portal管理者ガイド |
Oracle Forms |
Oracle Fusion Middleware Forms Servicesデプロイメント・ガイド |
Oracle Reports |
Oracle Fusion Middleware Oracle Reportsレポート作成のためのユーザーズ・ガイド |
Oracle Business Intelligence Discoverer |
Oracle Fusion Middleware Oracle Business Intelligence Discoverer管理者ガイド |
Oracle Business Intelligence Enterprise Edition |
Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド |
Oracle Real-Time Decisions |
Oracle Fusion Middleware Oracle Real-Time Decisions管理者ガイド |