Sun ONE ロゴ     前へ      目次      索引      次へ     
Sun ONE Directory Server インストールおよびチューニングガイド



付録 C   Sun Cluster HA for Directory Server のインストール

この付録では、Sun Cluster HA for Directory Server データサービスと、関連する管理サーバーデータサービスの両方のインストールと設定について説明します。Sun Cluster のインストール手順や主要な概念については、Sun Cluster 3.0 の製品マニュアルを参照してください。

データサービスは、フェイルオーバーサービスとして設定する必要があります。

始める前に

インストールと設定を行う前に、『Sun Cluster 3.0 Release Notes』のワークシートをチェックリストとして使用して、この節の内容を確認します。

インストールに先立って、次の質問を検討します。

  • 複数の Directory Server インスタンスを同じノードで実行するか
  • その場合、cn=confignsslapd-listenhost に適切なネットワークリソース (dirserv.example.com などの論理ホスト名) を各インスタンスの IP アドレスとして設定することができます。Directory Server のデフォルトの動作では、すべてのネットワークインタフェースで待機します。

  • 複数のデータサービスを Sun Cluster 設定で実行するか
  • 複数のデータサービスを任意の順番で設定できますが、例外が 1 つあります。Sun Cluster HA for DNS を使用するときは、Sun Cluster HA for Directory Server の設定前に Sun Cluster HA for DNS を設定する必要があります。

表 C-1 に Sun Cluster HA for Directory Server のインストールと設定のプロセスを示します。

表 C-1    インストールと設定のプロセス 

作業

必要な知識

「ネットワークリソースの設定」

データサービスを管理するクラスタノードの名前

Directory Server にアクセスするクライアントで使用される論理ホスト名。ds1.example.comds2.example.com など

論理ホスト名の設定手順は、Sun Cluster 3.0 の製品マニュアルを参照

「サーバーのインストール」

グローバルファイルシステム上の ServerRoot の位置で Directory Server のインストール場所。/global/ds など

インストールの詳細は、表 1-2 に示す

「データサービスパッケージのインストール」

SUNWdsha パッケージと SUNWasha パッケージにはデータサービス用の管理インタフェースが備わっている。そのため Directory Server と管理サーバーをクラスタ内のほかのデータサービスと同じツールで管理することが可能

「サーバーの設定」

Directory Server データサービス SUNW.dsldap および管理サーバーデータサービス SUNW.mpsの各リソースタイプ名

データサービスを管理するクラスタノードの名前

Directory Server と管理サーバーにアクセスするクライアントで使用される論理ホスト名

グローバルファイルシステム上の ServerRoot の位置で Directory Server のインストール場所

Directory Server でクライアント要求を待機するポート

管理サーバーでクライアント要求を待機するポート

「ネットワークリソースの設定」で定義されたリソースグループの名前

「拡張プロパティの設定」

(詳細は、この節を参照)

ネットワークリソースの設定

Sun Cluster ソフトウェアでは、個別のネットワークインタフェースに対してノード名ともホスト名とも異なる論理ホスト名が管理されます。図 C-1 を見ると、2 つのノードのクラスタで管理される論理ホスト名がどちらかのノードに永続的に関連付けられているわけではないことがわかります。

図 C-1    2 つのノードのクラスタ
Directory Server は論理ホスト名に依存しています。

Sun Cluster HA for Directory Server データサービスをインストールするときは、論理ホスト名インタフェースで待機するように Directory Server と管理サーバーを設定します。そのため、クラスタ内の特定のノードと結びつかず、Sun Cluster ソフトウェアでフェイルオーバーを管理することができます。図 C-1 で、ノードの名前は foo および bar です。ただし、インストール中に使用する論理ホスト名は 図 C-1 で示されるように、ds-1.example.comds-2.example.com であり、foobar ではありません。使用される論理ホスト名は、完全修飾ドメイン名です。

これらの主要な概念についての詳細と論理ホスト名の設定手順については、Sun Cluster 3.0 の製品マニュアルを参照してください。

論理ホスト名の設定が済んだら、次の手順を実行します。

  1. クラスタ内の特定のノード上でスーパーユーザーになります。
  2. 使用するすべてのネットワークアドレスがネームサービスデータベースに追加済みであることを確認します。
  3. ネームサービスの検索中に失敗しないように、すべての完全修飾ドメイン名、完全修飾論理ホスト名、および共有 IP アドレスが、各クラスタノードの /etc/hosts ファイルに記載されていることも確認します。また、ほかのネームサービスにアクセスしようとする前にローカルファイルをチェックするように、各クラスタノードで /etc/nsswitch.conf のネームサービスマッピングを設定します。

  4. ネットワークおよびアプリケーションのリソースを保持するフェイルオーバーリソースグループを作成します。たとえば、次のようにします。
  5. # scrgadm -a -g resource-group [-h node-list]

    ここで resource-group はグループの名前です。

    省略可能な node-list は、クラスタの潜在的マスタノードを指定する、物理ノードの名前または ID のカンマ区切りのリストです。ノード名の順番は、フェイルオーバー中に重要であると考えられるノードの順番にします。クラスタ内の全ノードでマスタになる可能性がある場合は、node-list を指定する必要はありません。

  6. 論理ホスト名リソースをリソースグループに追加します。
  7. # scrgadm -a -L -g resource-group -l logical-host-names [-n netif-list]

    ここで logical-host-names は、論理ホスト名として使用される完全修飾ドメイン名のカンマ区切りのリストです。Directory Server インスタンスごとに論理ホスト名を 1 つ使用します。

    省略可能な netif-list は、各ノードの NAFO グループを指定するカンマ区切りのリストです。このオプションを指定しない場合、scrgadm(1M) では、論理ホスト名ごとに使用されるサブネット上のネットワークアダプタを検出しようとします。この論理ホスト名は、手順 3 で指定した node-list 内の各ノードで指定されます。

  8. 手順 4 で論理ホスト名として指定したすべての完全修飾ドメイン名が、ネームサービスデータベースに追加されていることを確認します。
  9. リソースグループを有効にし、オンラインにします。
  10. # scswitch -Z -g resource-group

リソースグループをオンラインにすると、サーバーをインストールできます。

サーバーのインストール

Sun Cluster HA for Directory Server では Directory Server と管理サーバーの両方が、Sun Cluster の制御下で実行されています。これは、インストール中に完全修飾ドメイン名を物理ノードに指定する代わりに、別のノードにフェイルオーバー可能な完全修飾論理ホスト名を指定するということです。

まず、ディレクトリクライアントアプリケーションが使用する論理ホスト名に対してオンラインになっているノード上でインストールを実行します。続いて、Directory Server データサービスを管理するその他のクラスタノードすべてに対して、それと同じ処理を繰り返します。

アクティブノード上でのインストール

ディレクトリクライアントアプリケーションが使用する論理ホスト名に対してオンラインになっているクラスタノード上で、次の手順を実行します。

  1. Directory Server と管理サーバー両方の Solaris パッケージをインストールします。手順は、「Solaris パッケージのインストール」を参照してください。
  2. Directory Server を設定します。手順は、「Directory Server の設定」を参照してください。
  3. この手順を実行するときは、次のようにします。

    • Directory Server インスタンスをグローバルクラスタファイルシステム上に配置します。
    • ノード名ではなく論理ホスト名を使用します。

  4. 管理サーバーを設定します。手順と、Directory Server を設定するために論理ホスト名で同じものを使用する方法については、「管理サーバーの設定」を参照してください。
  5. Directory Server をセキュリティ保護されたモードのみで使用するときは、ServerRoot/slapd-serverID/keypass という名前の空のファイルを作成します。このファイルは、Directory Server インスタンスがセキュリティ保護されたモードで実行されるクラスタを示しています。
  6. また、ServerRoot/alias/slapd-serverID-pin.txt ファイルを作成します。このファイルには、インスタンスを自動的にセキュリティ保護されたモードで起動するのに必要なパスワードを記述します。これにより、クラスタがユーザーの介入なしにデータサービスを再起動できるようになります。

その他のノード上でのインストール

Directory Server データサービスを管理するノードごとに、次の手順を実行します。

  1. Directory Server と管理サーバー両方の Solaris パッケージをインストールします。手順は、「Solaris パッケージのインストール」を参照してください。
  2. 「アクティブノード上でのインストール」と同じ設定を使って Directory Server を設定します。
  3. 「アクティブノード上でのインストール」と同じ設定を使って管理サーバーを設定します。
  4. 最初のノード上の ServerRoot/alias/slapd-serverID-pin.txtServerRoot/alias/ にコピーします。


  5. グローバルファイルシステムに配置したファイルを削除したり、位置を変更したりしないでください。



データサービスパッケージのインストール

データサービスパッケージ SUNWdsha および SUNWasha には、クラスタ内のデータサービスとしてサーバーを管理するための管理インタフェースが用意されています。

  • Directory Server データサービスをサポートする各クラスタノード上で、pkgadd(1M) ユーティリティを使ってデータサービスパッケージをインストールします。
  • # pkgadd -d dirContainingPackages SUNWasha SUNWdsha

サーバーの設定

Directory Server が使用している論理ホスト名に対してオンラインになっているクラスタノード上でのみ、次の手順を実行します。

  1. スーパーユーザーになります。
  2. Directory Server および管理サーバーを停止します。
  3. # /usr/sbin/directoryserver stop
    # /usr/sbin/mpsadmserver stop

  4. 各データサービスのリソースタイプを登録します。
  5. # scrgadm -a -t SUNW.dsldap -f /etc/ds/v5.2/cluster/SUNW.dsldap
    # scrgadm -a -t SUNW.mps -f /etc/mps/admin/v5.2/cluster/SUNW.mps

    ここで SUNW.dsldap および SUNW.mps はデータサービスのリソースタイプ名で事前に定義されています。/etc/ds/v5.2/cluster/SUNW.dsldap および /etc/mps/admin/v5.2/cluster/SUNW.mps は、データサービスを定義しているファイルです。

  6. 「ネットワークリソースの設定」で作成したフェイルオーバーリソースグループにサーバーを追加します。
  7. # scrgadm -a -j resource-name-ds -g resource-group -t SUNW.dsldap ¥
    -y Network_resources_used=logical-host-name ¥
    -y Port_list=port-number/tcp ¥
    -x Confdir_list=ServerRoot/slapd-serverID

    # scrgadm -a -j resource-name-as -g resource-group -t SUNW.mps ¥
    -y Network_resources_used=logical-host-name ¥
    -y Port_list=port-number/tcp ¥
    -x Confdir_list=ServerRoot

    ここで新しい resource-name-ds は Directory Server インスタンスを指定し、新しい resource-name-as は管理サーバーインスタンスを指定します。

    resource-group パラメータは、「ネットワークリソースの設定」で指定したグループの名前です。

    logical-host-name は、現在の Directory Server インスタンスに使用される論理ホスト名です。

    port-number は、「サーバーのインストール」で説明したように、サーバーインスタンスがクライアント要求を待機しているポート番号です。各コマンドの Port_list パラメータには 1 エントリしかありません。

    ServerRoot および ServerRoot/slapd-serverID は、「サーバーのインストール」で指定しているパスです。各コマンドの Confdir_list パラメータには 1 エントリしかありません。

  8. サーバーリソースを有効にし、監視します。
  9. # scswitch -e -j resource-name-ds
    # scswitch -e -j resource-name-as

    ここで resource-name-ds および resource-name-as は、手順 4 でサーバーを指定するために使用した名前です。



    サーバーを設定した後は、db2bakdb2ldifback2db、および ldif2db などのバックアップおよび復元コマンドを、アクティブでないクラスタノード上で実行しないでください。代わりに、アクティブノード上で、すべてのバックアップおよび復元処理を実行します。



  10. 「HA ストレージとデータサービスの同期」で説明している手順の実行を検討してください。フェイルオーバー時のパフォーマンスの向上が図れます。

登録と設定の例

コード例 C-1 に、図 C-1 で図示したクラスタにデータサービスを登録し、設定する方法を示します。



コード例 C-1    データサービスの登録と設定 
(オンラインになっているノード上でフェイルオーバーリソースグループを作成する)
# scrgadm -a -g ds-resource-group-1 -h foo,bar

(論理ホスト名リソースをリソースグループに追加する)
# scrgadm -a -L -g ds-resource-group-1 -l ds-1.example.com

(リソースグループをオンラインにする)
# scswitch -Z -g ds-resource-group-1

(クラスタ内の各ノード上でパッケージをインストールする)

(オンラインになっているノード上でサーバーを停止する)
# /usr/sbin/directoryserver stop
# /usr/sbin/mpsadminserver stop

(SUNW.dsldap および SUNW.mps リソースタイプを登録する)
# scrgadm -a -t SUNW.dsldap -f /etc/ds/v5.2/cluster/SUNW.dsldap
# scrgadm -a -t SUNW.mps -f /etc/mps/admin/v5.2/cluster/SUNW.mps

(サーバーのリソースを作成し、リソースグループに追加する)
# scrgadm -a -j ds-1 -g ds-resource-group-1 ¥
-t SUNW.dsldap -y Network_resources_used=ds-1.example.com ¥
-y Port_list=389/tcp ¥
-x Confdir_list=/global/ds/slapd-ds-1
# scrgadm -a -j as-1 -g ds-resource-group-1 ¥
-t SUNW.mps -y Network_resources_used=ds-1.example.com ¥
-y Port_list=5201/tcp ¥
-x Confdir_list=/global/ds
  
(アプリケーションリソースを有効にする)
# scswitch -e -j ds-1
# scswitch -e -j as-1


拡張プロパティの設定

拡張プロパティを使用すると、クラスタソフトウェアがアプリケーションソフトウェアを処理する方法を設定できます。たとえば、データサービスによるフェイルオーバー実行のタイミングをクラスタが決定する方法を調整できます。

設定可能なプロパティ

通常、リソース拡張プロパティを設定するには、Sun Management Center の Cluster Module を使用するか、scrgadm ユーティリティを使用します。表 C-2 に記載された拡張プロパティを変更するには、scrgadm ユーティリティを -x parameter=value オプションを指定して実行します。

表 C-2    SUNW.dsldap リソース拡張プロパティ 

プロパティ

内容

デフォルト

範囲

Monitor_retry_count

Monitor_retry_interval プロパティの値で指定されたタイムウィンドウ中に、プロセスモニター装置 (PMF) が障害モニターを再起動する回数を示す整数値

4 回

-1 〜 2,147,483,641 回

-1 は無期限のやり直しを意味する

Monitor_retry_interval

障害モニターのエラーがカウントされた時間 (分) を示す整数値

障害モニターがエラーになった回数が、この期間内に Monitor_retry_count で指定した値を超えた場合、PMF は障害モニターを再起動できない

2 分

-1 〜 2,147,483,641 分

-1 は無限のやり直し期間を示す

Probe_timeout

Directory Server インスタンスを検査するために障害モニターで使用するタイムアウト値 (秒) を示す整数値

30 秒

0 〜 2,147,483,641 秒

Sun Cluster プロパティの詳細は、Sun Cluster 3.0 の製品マニュアルを参照してください。

障害モニターの動作方法

クラスタソフトウェアは、データサービスが正常に動作しているかどうかを、障害モニターを使用して判断します。障害モニターは、データサービスを検査し、その検査結果に基づいて、サービスが正常に動作しているかどうか、再起動すべきかどうかを判断します。

表 C-3    障害モニターによる検査結果の解釈方法 

Directory Server の実行モード

使用される検査

アルゴリズム

通常モード

ldapsearch

  1. 検索を試みる
  2. 検索を実行した結果、

  • LDAP_SUCCESS が返された場合、そのサービスは正常に動作していると見なされる
  • LDAP エラーが発生した場合、そのサービスは再起動する必要がある
  • タイムアウト以外の問題が発生した場合、障害モニターは、Monitor_retry_countMonitor_retry_interval に基づいて検査を再度実行する
  • Probe_timeout 期間を超えた場合、障害モニターは、Monitor_retry_countMonitor_retry_interval に基づいて検査を再実行する

タイムアウトの潜在的な原因としては、システム、ネットワーク、または Directory Server インスタンスにおける高負荷が考えられる。また、Probe_timeout の設定値が、監視対象の Directory Server インスタンスの数に比べて低すぎる可能性もある

セキュリティ保護されたモード (SSL)

TCP 接続

  1. 接続を試みる
  2. 接続処理を実行した結果、

  • 接続が成功した場合、そのサービスは正常に動作していると見なされる
  • 接続が失敗した場合、そのサービスは再起動する必要がある
  • Probe_timeout を超えた場合、そのサービスは再起動する必要がある

障害モニターは、「サーバーの設定」で設定された IP アドレスとポート番号を使って、検査処理を実行します。Directory Server が 2 つのポート (SSL トラフィック用のポートと通常のトラフィック用のポート) で待機するように設定されている場合、障害モニターは両ポートを検査する際に、TCP 接続を使用して、セキュリティ保護されたモードポート用の障害監視アルゴリズムに従います。

HA ストレージとデータサービスの同期

SUNW.HAStorage リソースタイプでは、HA ストレージとデータサービスのアクションが同期されており、Directory Server などのディスクを集中使用するデータサービスがフェイルオーバーに対処するときでも高パフォーマンスを提供することができます。

Directory Server データサービスと HA ストレージを同期させるには、データサービスが使用する論理ホスト名に対してオンラインになっているノード上で、次の手順を実行します。

  1. HA ストレージのリソースタイプを登録します。
  2. # scrgadm -a -t SUNW.HAStorage

  3. ストレージリソースが同期されたままになるように設定します。
  4. # scrgadm -a -j HAStorage-resource-name -g HAStorage-resource-group ¥
    -t SUNW.HAStorage -x ServicePaths=volume-mount-point ¥
    -x AffinityOn=True

    ここで、volume-mount-point は、Directory Server がデータを格納するディスクボリュームを表します。

  5. ストレージリソースを有効にし、監視します。
  6. # scswitch -e -j HAStorage-resource-name

  7. 既存の Directory Server リソースに依存関係を追加します。
  8. # scrgadm -c -j resource-name-ds ¥
    -y Resource_Dependencies=HAStorage-resource-name

バックグラウンド情報は、SUNW.HAStorage(5) を参照してください。また新しいリソース用に SUNW.HAStorage リソースタイプを設定する手順についての詳細は、Sun Cluster 3.0 製品マニュアルを参照してください。

追加の Directory Server インスタンスの作成

次の手順を実行します。

  1. Sun ONE サーバーコンソールを使用して、追加の Directory Server インスタンスを作成します。
  2. 手順は、『Sun ONE Server Console Server Management Guide』を参照してください。

  3. データサービスが使用する論理ホスト名に対してオンラインになっているノード上で、新しく作成した Directory Server インスタンスを停止します。
  4. # /usr/sbin/directoryserver -server serverID stop

  5. 「ネットワークリソースの設定」で作成したフェイルオーバーリソースグループに Directory Server を追加します。
  6. # scrgadm -a -j resource-name-ds -g resource-group -t SUNW.dsldap ¥
    -y Network_resources_used=logical-host-name ¥
    -y Port_list=port-number/tcp ¥
    -x Confdir_list=ServerRoot/slapd-serverID

    ここで、新しい resource-name-ds は Directory Server インスタンスを指します。

    resource-group パラメータは、「ネットワークリソースの設定」で指定したグループの名前です。

    logical-host-name は、インスタンスに使用される論理ホスト名です。

    port-number は、インスタンスがクライアント要求を待機しているポート番号で、「サーバーのインストール」で指定しています。Port_list パラメータには 1 エントリしかありません。

    ServerRoot および ServerRoot/slapd-serverID は、「サーバーのインストール」で指定しているパスです。Confdir_list パラメータには 1 エントリしかありません。

  7. サーバーリソースを有効にし、監視します。
  8. # scswitch -e -j resource-name-ds

    ここで resource-name-ds は、手順 3 で Directory Server を指定するために使用した名前です。

アンインストール

Sun Cluster HA for Directory Server と、それに関連する管理サーバーをクラスタから削除するには、次の手順を実行します。

  1. サーバーインスタンスを停止します。
  2. # scswitch -n -j resource-name-ds
    # scswitch -n -j resource-name-as

  3. リソースを削除します。
  4. # scrgadm -r -j resource-name-ds
    # scrgadm -r -j resource-name-as

  5. リソースタイプをクラスタデータベースから削除します。
  6. # scrgadm -r -t SUNW.dsldap
    # scrgadm -r -t SUNW.mps

  7. サーバー設定を削除します。
  8. # /usr/sbin/mpsadmserver unconfigure
    # /usr/sbin/directoryserver unconfigure

  9. pkgrm(1M) ユーティリティを使用して、SUNWdshaSUNWasha などのインストールしたパッケージを各ノードから削除します。

前へ      目次      索引      次へ     
Copyright 2002-2003 Sun Microsystems, Inc. All rights reserved.