8.5. ドメインコントローラーの検出およびフェイルオーバー
管理対象ドメインの設定時、ドメインコントローラーに接続するために必要な情報を使用して各ホストコントローラーを設定する必要があります。JBoss EAP では、ドメインコントローラーを検索する 複数のオプション を使用して各ホストコントローラーを設定できます。ホストコントローラーは、適切なオプションが見つかるまでオプションのリストを繰り返し処理します。
プライマリードメインコントローラーに問題がある場合は、バックアップホストコントローラーを ドメインコントローラーに昇格できます。これにより、昇格後にホストコントローラーを新しいドメインコントローラーへ自動的にフェイルオーバーできます。
8.5.1. ドメイン検出オプションの設定
以下は、ドメインコントローラー検索の複数のオプションを持つホストコントローラーを設定する方法の例になります。
例: 複数のドメインコントローラーオプションを持つホストコントローラー
<domain-controller> <remote security-realm="ManagementRealm"> <discovery-options> <static-discovery name="primary" protocol="${jboss.domain.master.protocol:remote}" host="172.16.81.100" port="${jboss.domain.master.port:9990}"/> <static-discovery name="backup" protocol="${jboss.domain.master.protocol:remote}" host="172.16.81.101" port="${jboss.domain.master.port:9990}"/> </discovery-options> </remote> </domain-controller>
静的検出オプションには、以下の必須属性が含まれます。
- name
- このドメインコントローラー検出オプションの名前。
- host
- リモートドメインコントローラーのホスト名。
- port
- リモートドメインコントローラーのポート。
上記の例では、最初の検出オプションが指定されることが予想されます。2 つ目のオプションはフフェイルオーバーの状況で使用される可能性があります。
8.5.2. キャッシュされたドメイン設定を用いたホストコントローラーの起動
--cached-dc
オプションを使用すると、ドメインコントローラーへ接続していなくてもホストコントローラーを起動できますが、ホストコントローラーは前もってドメインコントローラーからドメイン設定をローカルでキャッシュする必要があります。--cached-dc
オプションを使用してホストコントローラーを起動すると、ドメインコントローラーからホストコントローラーのドメイン設定がキャッシュされます。
$ EAP_HOME/bin/domain.sh --host-config=host-slave.xml --cached-dc
これにより、このホストコントローラーがドメインコントローラーに接続せずに現在のサーバーを一時的に管理するために必要な情報が含まれる EAP_HOME/domain/configuration/
ディレクトリーに domain.cached-remote.xml
ファイルが作成されます。
デフォルトでは、--cached-dc
オプションを使用すると、このホストコントローラーによって使用される設定のみがキャッシュされます。そのため、ドメイン全体のドメインコントローラーには昇格されません。 ドメイン設定全体をキャッシュしてホストコントローラーをドメインコントローラーとする場合は、「ドメイン設定のキャッシュ」を参照してください。
--cached-dc
を使用してこのホストコントローラーを起動したときにドメインコントローラーを利用できない場合、ホストコントローラーは domain.cached-remote.xml
ファイルに保存されたキャッシュされた設定の使用を開始します。このファイルが存在しないとホストコントローラーは起動しないことに注意してください。
この状態の間、ホストコントローラーはドメイン設定を編集できませんが、サーバーを開始したり、デプロイメントを管理することはできます。
ホストコントローラーがキャッシュされた設定を使用して起動されると、ホストコントローラーは継続してドメインコントローラーへの再接続を試みます。ドメインコントローラーが使用できるようになると、ホストコントローラーは自動的にドメインコントローラーに再接続し、ドメイン設定を同期化します。変更された設定によっては、変更の反映のにホストコントローラーのリロードが必要になることがあります。この場合、警告がホストコントローラーのログに記録されます。
8.5.3. ホストコントローラーがドメインコントローラーとして動作するよう昇格
主要のドメインコントローラーに問題が発生した場合に、ホストコントローラーがドメインコントローラーとして動作するよう昇格できます。ホストコントローラーを 昇格 する前に、ドメインコントローラーから ドメイン設定をローカルでキャッシュする必要があります。
ドメイン設定のキャッシュ
ドメインコントローラーとして使用したいホストコントローラーに --backup
オプションを使用します。
$ EAP_HOME/bin/domain.sh --host-config=host-slave.xml --backup
これにより、ドメイン設定全体のコピーが含まれる EAP_HOME/domain/configuration/
ディレクトリーに domain.cached-remote.xml
ファイルが作成されます。この設定は、ホストコントローラーがドメインコントローラーとして動作するよう再設定された場合に使用されます。
ignore-unused-configuration
属性は、特定のホストがキャッシュする設定の範囲を判断するために使用されます。true
を指定すると、このホストコントローラーに関係する設定のみがキャッシュされ、ドメインコントローラーとして引き継ぐことはできません。false
を指定すると、ドメイン設定全体がキャッシュされます。
The --backup
引数はデフォルトでこの属性の値を false
とし、ドメイン全体をキャッシュします。しかし、この属性を host.xml
ファイルで設定した場合は、その値が使用されます。
また、--cached-dc
オプションのみを使用して、ドメイン設定のコピーを作成できますが、host.xml
で ignore-unused-configuration
の値を false
と設定し、ドメイン全体をキャッシュする必要があります。例を以下に示します。
<domain-controller> <remote username="$local" security-realm="ManagementRealm" ignore-unused-configuration="false"> <discovery-options> ... </discovery-options> </remote> </domain-controller>
ホストコントローラーをドメインコントローラーに昇格
- 元のドメインコントローラーが停止した状態であることを確認します。
- 管理 CLI を使用して、新しいドメインコントローラーとなるホストコントローラーへ接続します。
以下のコマンドを実行してホストコントローラーを設定し、新しいドメインコントローラーとして動作するようにします。
/host=HOST_NAME:write-local-domain-controller
以下のコマンドを実行し、ホストコントローラーをリロードします。
reload --host=HOST_NAME
このホストコントローラーがドメインコントローラーとして動作するようになります。