この章の残りでは、高可用性を確保するための冗長性とクラスタリングの使用についてさらに詳細に説明します。この節では、各ソリューションの利点と欠点の概要について説明します。
高可用性ディレクトリサービスを提供するためのより一般的なアプローチは、冗長性のあるサーバーコンポーネントとレプリケーションの使用です。冗長ソリューションは通常、クラスタリングソリューションより安価であり、実装もより簡単です。また、これらのソリューションは一般に、管理も容易です。冗長ソリューションの一部としてのレプリケーションには、可用性以外にも多くの機能があることに注意してください。レプリケーションの主な利点は読み取り負荷を複数のサーバーにわたって分割できることですが、サーバー管理の点から見ると、この利点のためにオーバーヘッドが増えます。レプリケーションではまた、読み取り操作に関するスケーラビリティーと、正しく設計されている場合は、一定の制限内で書き込み操作に関するスケーラビリティーも提供されます。レプリケーションの概念の概要については、『Sun Java System Directory Server Enterprise Edition 6.2 Reference』の第 4 章「Directory Server Replication」を参照してください。
障害の間に冗長システムが提供する可用性は、クラスタリングソリューションより劣る可能性があります。たとえば、負荷が 2 つの冗長性のあるサーバーコンポーネント間で共有されている環境を考えてみます。1 つのサーバーコンポーネントの障害によってもう一方のサーバーに過剰な負荷がかかり、それによって、クライアント要求へのこのサーバーの応答が遅くなることがあります。応答の遅さは、すばやい応答時間に依存しているクライアントには障害と見られる場合があります。つまり、サービスの可用性が (そのサービスが運用に入っているにもかかわらず)、クライアントの可用性の要件を満足しない可能性があります。
クラスタ化されたソリューションの主な利点は、障害からの自動復旧、つまりユーザーの介入を必要としない復旧です。クラスタリングの欠点は、複雑さと、データベース破壊からは回復できない点です。
クラスタ化された環境では、どのクラスタノードが実際にサービスを実行しているかには関係なく、クラスタは Directory Server と Directory Proxy Server に同じ IP アドレスを使用します。つまり、IP アドレスは、クライアントアプリケーションには影響がありません。レプリケートされた環境では、トポロジ内の各マシンに独自の IP アドレスが割り当てられます。この場合は、Directory Proxy Server を使用して、ディレクトリトポロジへのシングルポイントアクセスを提供できます。したがって、レプリケーショントポロジは、クライアントアプリケーションからは実質的に隠されます。この透過性を向上させるために、Directory Proxy Server を、リフェラルと検索参照を自動的に処理するように設定できます。Directory Proxy Server ではまた、負荷分散や、1 台に障害が発生した場合に別のマシンに切り替える機能も提供されます。
この章の最初に説明した SPOF の点から見ると、冗長性とクラスタリングは、障害を次の方法で処理します。
単一のハードウェア障害: クラスタ化された環境では、この種の障害はディレクトリサービスに影響を与えません。クラスタ内のサービスに影響を与えるのは、複数のハードウェア障害だけです。
クラスタ化された環境にはないマシンにとって、単一のハードウェア障害は致命的です。そのため、冗長性のあるハードウェアが存在する場合でも、障害を修復するために手動の介入が必要です。
Directory Server または Directory Proxy Server の障害: クラスタ化された環境では、サーバーは自動的に再起動されます。ソフトウェア障害が短期間で連続して複数回発生しないと、クラスタ内の別のノードへのサービスグループの切り替えをトリガーできない場合があります。ソフトウェア障害に対するこの処理は、冗長性のある環境にも当てはまります。
データベース破壊: クラスタは、この種の障害に耐えることができません。構成によっては、冗長ソリューションはデータベース破壊に耐えることができるはずです。