この節では、共有ストレージを使用して高可用性クラスタのフェールオーバーを実現できるように、DirectoryおよびIdentity Managerを設定するステップについて説明します。この節の説明は、特定のクラスタマネージャに固有のものではなく、LinuxまたはUNIXプラットフォーム上の高可用性クラスタの共有ストレージ一般に当てはまります。
基本的な概念は、eDirectoryおよびIdentity Managerの状態データは共有ストレージに配置し、サービスを現在実行しているクラスタノードから利用できるようにする必要があるということです。つまり、通常は/var/nds/dibにあるeDirectoryデータストアをクラスタ共有ストレージに再配置する必要があります。Identity Managerの状態データも/var/nds/にあります。クラスタノード上の各eDirectoryインスタンスは、共有ストレージのデータストアを使用するよう設定する必要があります。その他のeDirectoryの設定データも、共有ストレージに常駐する必要があります。
eDirectoryデータストアの他に、サーバ固有のキーをクラスタノード間で複製するために、NICI (Novell International Cryptographic Infrastructure)のデータも共有する必要があります。一般的には、NICIのデータを共有ストレージに移動するのではなく、NICIのデータを各クラスタノードのローカル保存領域にコピーする方が適切です。クラスタノードがセカンダリ状態になっていて共有ストレージをホストしていない場合でも、クライアントのNICI機能をクラスタノード上で使用できるようにするために、この方法をお勧めします。
以降の節では、次の前提に基づいて、eDirectoryおよびNICIのデータの共有について説明します。
Identity Managerのデータについて、eDirectoryのデータとは別に説明することはしません。関連するIdentity ManagerのデータはeDirectoryのデータと同じ場所に配置されているためです。
2ノードクラスタは、高可用性を実現するために最も一般的に使用されている設定です。ただし、この節で説明する概念は、nノードクラスタにも容易に拡張できます。
この節では、次の項目について説明します。
メモ:NICIは、eDirectoryインストール手順の一部としてインストールされます。
プライマリクラスタノードにeDirectoryをインストールします。
プライマリクラスタノードでeDirectoryを設定します。プライマリクラスタノードに新しいツリーを作成するか、既存のツリーにサーバをインストールします。eDirectoryサーバの名前には、UNIXサーバの名前に使用していないものを使用します。クラスタノードの1つに固有の名前を使用するのではなく、クラスタに共通の名前を使用してください。
セカンダリクラスタノードに、同じバージョンのeDirectoryをインストールします。セカンダリクラスタノードではeDirectoryを設定しないでください。
セカンダリノードには個別のツリーはありません。
[メタディレクトリサーバ]オプションを使用して、プライマリクラスタノードにIdentity Managerをインストールします。
インストールプロセスにより、Identity Managerファイルがインストールされ、Identity Managerで使用するeDirectoryツリーが設定されます。
セカンダリクラスタスイッチを使用し、セカンダリクラスタに同じバージョンのIdentity Managerをインストールします。次を入力します。
dirxml_platform.bin -DCLUSTER_INSTALL="true"
インストールでは、[メタディレクトリサーバ]オプションを選択します。
セカンダリクラスタスイッチを使用すると、Identity Managerファイルはインストールされますが、追加のeDirectory設定は実行されません。セカンダリノードには個別のツリーがないので、設定は必要ありません。
NICIは、eDirectory、Identity Manager、およびNovellクライアントアプリケーションで使用する暗号化サービスを提供します。eDirectoryとともに使用する場合、NICIはサーバ固有のキーを提供します。これらのサーバ固有のキーは、eDirectoryがクラスタサービスとして実行されるすべてのクラスタノードで同じでなければなりません。
NICIデータの共有には、2つの方法があります。
この方法の短所は、クラスタノードが共有ストレージをホストしていない場合、NICIに依存するアプリケーションはそのクラスタノード上でエラーを引き起こす点です。
NICIデータをコピーするには、次の手順に従います。
セカンダリクラスタノードの/var/novell/niciを、(/var/novell/nici.savなどの)別の名前に変更します。
プライマリクラスタノードからセカンダリクラスタノードに/var/novell/niciディレクトリをコピーします。
このためには、scpを使用するか、またはプライマリノードの/var/novell/niciディレクトリのファイルを作成してセカンダリノードに転送し、セカンダリノードのディレクトリで解凍(untar)します。
デフォルトでは、eDirectoryは、/var/nds/dibにデータストアを格納します。設定および状態のその他の項目も、/var/ndsとそのサブディレクトリに格納されます。eDirectoryのデフォルト設定ディレクトリは、/etcです。高可用性クラスタの共有ストレージとともに使用するためにeDirectoryおよびIdentity Managerを設定するには、次の手順が必要です。これらのステップは、共有ストレージが/sharedにマウントされていることを前提としています。
/var/ndsディレクトリのサブツリーを/shared/var/ndsにコピーします。
/var/ndsディレクトリを別の名前(たとえば/var/nds.sav)に名前変更します。
必ずしも必要ではありませんが、この時点でバックアップを作成すると、必要に応じてeDirectoryを再インストールすることなく作業をやり直すことができます。
/var/ndsから/shared/var/ndsにシンボリックリンク(たとえばln -s /shared/var/nds /var/nds)を作成します。
次のシンボリックリンクを作成します。
/etc/nds.confのバックアップコピーを作成します。
/etc/nds.confを/shared/var/ndsに移動します。
/shared/var/nds/nds.confを編集し、次のエントリをファイルに挿入します(現在のエントリを同じ名前で上書きします)。
次のエントリについては、eth0:0をクラスタ共有Ethernetインタフェースのインタフェース名に置き換えます。loも、ローカルホストEthernetインタフェースのインタフェース名に置き換えます。
/etc/nds.confから/shared/var/nds/nds.confへのシンボリックリンクを作成します。
ndsdを起動し、ndsdが共有ストレージで動作することを確認します。
ndsdを停止します。
ndsdを、ホストするリソースのクラスタマネージャのリストに配置します。
ndsdをデーモンのリストから削除し、起動時に初期化プロセスによって起動されるようにします。
/var/ndsディレクトリを別の名前(たとえば/var/nds.sav)に名前変更します。厳密には必要ありませんが、バックアップを作成すると、必要に応じてeDirectoryを再インストールすることなく作業をやり直すことができます。
/var/ndsから/shared/var/ndsにシンボリックリンクを作成します。
/etc/nds.confのバックアップコピーを作成します。
/etc/nds.confを削除します。
/etc/nds.confから/shared/var/nds/nds.confへのシンボリックリンクを作成します。
ndsdを、ホストするリソースのクラスタマネージャのリストに配置します。
ndsdをデーモンのリストから削除し、起動時に初期化プロセスによって起動されるようにします。
プライマリノードおよびセカンダリノードの手順が完了した後、クラスタサービスを起動します。プライマリノードで、eDirectoryおよびIdentity Managerが起動します。
Identity Managerドライバのほとんどは、クラスタ設定で実行できます。ただし、次のことを考慮する必要があります。
たとえば、変更ログなしで使用するLDAPドライバ、トリガレスモードで使用するJDBCドライバなどです。