高可用性アーキテクチャは、エンタープライズ・デプロイメントの主要な要件の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つのグループにクラスタリングすると、多くの場合、共通の構成を共有する必要があります。適切な構成管理によって、コンポーネントが同じ受信リクエストに対して同一のレスポンスを返したり、これらのコンポーネントの構成を同期化することが可能になります。また、管理目的の停止時間を短縮する高可用性構成管理を実現できます。
ユーザー・エラーによってシステムが誤作動することがあります。特定の状況下では、コンポーネントまたはシステムの障害が修復不可能なこともあります。そのため、バックアップとリカバリの機能を使用してシステムを一定の間隔でバックアップし、修復不可能な障害が発生したときにバックアップをリストアできるようにする必要があります。
障害時リカバリ・ソリューションでは通常、2つの同種のサイト(1つはアクティブ・サイト、もう1つはパッシブ・サイト)を設定します。サイトはそれぞれが自己完結型のシステムです。一般的に、アクティブ・サイトを本番サイト、パッシブ・サイトをスタンバイ・サイトと呼びます。通常の運用では、本番サイトがリクエストを処理しますが、サイトでフェイルオーバーやスイッチオーバーが発生すると、スタンバイ・サイトが本番サイトを引き継ぎ、すべてのリクエストはそのサイトにルーティングされます。フェイルオーバーのためにスタンバイ・サイトを保持するには、スタンバイ・サイトに同種のインストールとアプリケーションを含めるだけでなく、データと構成を本番サイトからスタンバイ・サイトに常時同期化する必要もあります。
高可用性ソリューションによって保護されたOracle Fusion Middlewareコンポーネント
『Oracle Fusion Middleware高可用性ガイド』では、次のコンポーネントの高可用性ソリューションについて説明します。
Oracle WebLogic Server
Oracle SOA Suite
Oracle ADF
Oracle WebCenter
Oracle Identity Managementコンポーネント
Oracle HTTP Server
Oracle Web Cache
Oracle Portal、Forms、ReportsおよびDiscoverer
表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 |
『Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter』 『Oracle Fusion Middleware Oracle WebCenterインストレーション・ガイド』 『Oracle Fusion Middleware Oracle WebCenterエンタープライズ・デプロイメント・ガイド』 |
Oracle ADF |
『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』 『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』 |
Oracle WebLogic Serverクラスタ |
『Oracle Fusion Middleware Using Clusters for 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 Enterprise Deployment Guide for 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 Real Application Clusters(RAC) |
Oracle Real Application Clustersのインストレーション・ガイド |
Oracleリポジトリ作成ユーティリティ(RCU) |
『Oracle Fusion Middleware Repository Creation Utilityユーザーズ・ガイド』 |
Oracle Portal |
『Oracle Fusion Middleware Administrator's Guide for Oracle Portal』 |