9.1 LinuxおよびUNIXで共有ストレージを使用するための、eDirectoryおよびIdentity Managerの設定

この節では、共有ストレージを使用して高可用性クラスタのフェールオーバーを実現できるように、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のデータの共有について説明します。

この節では、次の項目について説明します。

9.1.1 eDirectoryのインストール

メモ:NICIは、eDirectoryインストール手順の一部としてインストールされます。

  1. プライマリクラスタノードにeDirectoryをインストールします。

  2. プライマリクラスタノードでeDirectoryを設定します。プライマリクラスタノードに新しいツリーを作成するか、既存のツリーにサーバをインストールします。eDirectoryサーバの名前には、UNIXサーバの名前に使用していないものを使用します。クラスタノードの1つに固有の名前を使用するのではなく、クラスタに共通の名前を使用してください。

  3. セカンダリクラスタノードに、同じバージョンのeDirectoryをインストールします。セカンダリクラスタノードではeDirectoryを設定しないでください。

    セカンダリノードには個別のツリーはありません。

9.1.2 Identity Managerのインストール

  1. メタディレクトリサーバ]オプションを使用して、プライマリクラスタノードにIdentity Managerをインストールします。

    インストールプロセスにより、Identity Managerファイルがインストールされ、Identity Managerで使用するeDirectoryツリーが設定されます。

  2. セカンダリクラスタスイッチを使用し、セカンダリクラスタに同じバージョンのIdentity Managerをインストールします。次を入力します。

    dirxml_platform.bin -DCLUSTER_INSTALL="true"
    

    インストールでは、[メタディレクトリサーバ]オプションを選択します。

    セカンダリクラスタスイッチを使用すると、Identity Managerファイルはインストールされますが、追加のeDirectory設定は実行されません。セカンダリノードには個別のツリーがないので、設定は必要ありません。

9.1.3 NICIデータの共有

NICIは、eDirectory、Identity Manager、およびNovellクライアントアプリケーションで使用する暗号化サービスを提供します。eDirectoryとともに使用する場合、NICIはサーバ固有のキーを提供します。これらのサーバ固有のキーは、eDirectoryがクラスタサービスとして実行されるすべてのクラスタノードで同じでなければなりません。

NICIデータの共有には、2つの方法があります。

  • NICIデータをクラスタ共有ストレージに配置する。

    この方法の短所は、クラスタノードが共有ストレージをホストしていない場合、NICIに依存するアプリケーションはそのクラスタノード上でエラーを引き起こす点です。

  • プライマリサーバからセカンダリサーバのローカル保存領域にNICIデータをコピーする。

NICIデータをコピーするには、次の手順に従います。

  1. セカンダリクラスタノードの/var/novell/niciを、(/var/novell/nici.savなどの)別の名前に変更します。

  2. プライマリクラスタノードからセカンダリクラスタノードに/var/novell/niciディレクトリをコピーします。

    このためには、scpを使用するか、またはプライマリノードの/var/novell/niciディレクトリのファイルを作成してセカンダリノードに転送し、セカンダリノードのディレクトリで解凍(untar)します。

9.1.4 eDirectoryおよびIdentity Managerのデータの共有

デフォルトでは、eDirectoryは、/var/nds/dibにデータストアを格納します。設定および状態のその他の項目も、/var/ndsとそのサブディレクトリに格納されます。eDirectoryのデフォルト設定ディレクトリは、/etcです。高可用性クラスタの共有ストレージとともに使用するためにeDirectoryおよびIdentity Managerを設定するには、次の手順が必要です。これらのステップは、共有ストレージが/sharedにマウントされていることを前提としています。

プライマリノード上の手順

  1. /var/ndsディレクトリのサブツリーを/shared/var/ndsにコピーします。

  2. /var/ndsディレクトリを別の名前(たとえば/var/nds.sav)に名前変更します。

    必ずしも必要ではありませんが、この時点でバックアップを作成すると、必要に応じてeDirectoryを再インストールすることなく作業をやり直すことができます。

  3. /var/ndsから/shared/var/ndsにシンボリックリンク(たとえばln -s /shared/var/nds /var/nds)を作成します。

  4. 次のシンボリックリンクを作成します。

    リンク元

    リンク先

    /shared/var/nds/class16.conf

    /etc/class16.conf

    /shared/var/nds/class32.conf

    /etc/class32.conf

    /shared/var/nds/help.conf

    /etc/help.conf

    /shared/var/nds/ndsimonhealth.conf

    /etc/ndsimonhealth.conf

    /shared/var/nds/miscicon.conf

    /etc/miscicon.conf

    /shared/var/nds/ndsimon.conf

    /etc/ndsimon.conf

    /shared/var/nds/macaddr

    /etc/macaddr

  5. /etc/nds.confのバックアップコピーを作成します。

  6. /etc/nds.confを/shared/var/ndsに移動します。

  7. /shared/var/nds/nds.confを編集し、次のエントリをファイルに挿入します(現在のエントリを同じ名前で上書きします)。

    • n4u.nds.dibdir=/shared/var/nds/dib
    • n4u.server.configdir=/shared/var/nds
    • n4u.server.vardir=/shared/var/nds
    • n4u.nds.preferred-server=localhost

    次のエントリについては、eth0:0をクラスタ共有Ethernetインタフェースのインタフェース名に置き換えます。loも、ローカルホストEthernetインタフェースのインタフェース名に置き換えます。

    • n4u.nds.server.interfaces=eth0:0@524,lo@524
    • http.server.interfaces=eth0:0@8008,lo@8008
    • https.server.interfaces=eth0:0@8009,lo@8009
  8. /etc/nds.confから/shared/var/nds/nds.confへのシンボリックリンクを作成します。

  9. ndsdを起動し、ndsdが共有ストレージで動作することを確認します。

  10. ndsdを停止します。

  11. ndsdを、ホストするリソースのクラスタマネージャのリストに配置します。

  12. ndsdをデーモンのリストから削除し、起動時に初期化プロセスによって起動されるようにします。

セカンダリノード上の手順

  1. /var/ndsディレクトリを別の名前(たとえば/var/nds.sav)に名前変更します。厳密には必要ありませんが、バックアップを作成すると、必要に応じてeDirectoryを再インストールすることなく作業をやり直すことができます。

  2. /var/ndsから/shared/var/ndsにシンボリックリンクを作成します。

  3. /etc/nds.confのバックアップコピーを作成します。

  4. /etc/nds.confを削除します。

  5. /etc/nds.confから/shared/var/nds/nds.confへのシンボリックリンクを作成します。

  6. ndsdを、ホストするリソースのクラスタマネージャのリストに配置します。

  7. ndsdをデーモンのリストから削除し、起動時に初期化プロセスによって起動されるようにします。

プライマリノードおよびセカンダリノードの手順が完了した後、クラスタサービスを起動します。プライマリノードで、eDirectoryおよびIdentity Managerが起動します。

9.1.5 Identity Managerドライバの考慮事項

Identity Managerドライバのほとんどは、クラスタ設定で実行できます。ただし、次のことを考慮する必要があります。

  • 実行可能ドライバ(.jarファイルまたは共有オブジェクト、あるいはその両方)は、各クラスタノードにインストールする必要があります。
  • ドライバがサポートするアプリケーションと同じサーバでドライバを実行する必要がある場合、アプリケーションもクラスタサービスの一部として実行されるよう設定する必要があります。
  • ドライバで、ドライバ固有の状態データを保存する場所が設定可能な場合、その場所はクラスタ共有ストレージ上に存在する必要があります。

    たとえば、変更ログなしで使用するLDAPドライバ、トリガレスモードで使用するJDBCドライバなどです。

  • ドライバが設定データをeDirectoryの外部に格納する場合、その設定データは共有ストレージに配置するか、各クラスタノードに複製する必要があります。たとえば、手動タスクドライバのテンプレートディレクトリなどです。