15.5. Ansible を使用した IdM レプリカの再初期化
レプリカが長時間オフラインになっている場合や、データベースが破損している場合は、レプリカを再初期化できます。再初期化により、新しいデータセットでレプリカが更新されます。たとえば、バックアップからの権限のある復元を行う必要がある場合に、再初期化を使用できます。
レプリケーションの更新とは対照的に、レプリカが変更エントリーのみを送信する間、データベース全体を再初期化します。
コマンドを実行するローカルホストは、再初期化されたレプリカです。データの取得元となるレプリカを指定するには、direction
オプションを使用します。
以下の手順に従って、Ansible Playbook を使用して server.idm.example.com から replica.idm.example.com の domain
データを再初期化します。
前提条件
次の要件を満たすように Ansible コントロールノードを設定した。
- Ansible バージョン 2.14 以降を使用している。
-
Ansible コントローラーに
ansible-freeipa
パッケージがインストールされている。 - ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成している (この例の場合)。
-
この例では、secret.yml Ansible vault に
ipaadmin_password
が保存されていること、および secret.yml ファイルを保護するパスワードを格納しているファイルにアクセスできることを前提としています。
-
ターゲットノード (
ansible-freeipa
モジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。
手順
~/MyPlaybooks/ ディレクトリーに移動します。
$ cd ~/MyPlaybooks/
ansible-freeipa
パッケージによって提供されるreinitialize-topologysegment.yml
Ansible Playbook ファイルをコピーします。$ cp /usr/share/doc/ansible-freeipa/playbooks/topology/reinitialize-topologysegment.yml reinitialize-topologysegment-copy.yml
-
reinitialize-topologysegment-copy.yml
ファイルを開いて編集します。 ipatopologysegment
セクションに以下の変数を設定して、ファイルを調整します。-
ipaadmin_password
変数の値が secret.yml Ansible vault ファイルで定義されていることを示します。 -
suffix
変数はdomain
に設定し ます。ca
データを再初期化する場合は、変数をca
に設定します。 -
left
の変数をレプリカ合意の左ノードに設定します。 -
レプリカ合意の
right
なノードに正しい変数を設定します。 -
direction
変数は再初期化されるデータの方向に設定します。left-to-right
は、左のノードから適切なノードにデータフローがあることを意味します。 state
変数がreinitialized
に設定されていることを確認します。以下は、今回の例で使用するように変更した Ansible Playbook ファイルです。
--- - name: Playbook to handle topologysegment hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Reinitialize topology segment ipatopologysegment: ipaadmin_password: "{{ ipaadmin_password }}" suffix: domain left: server.idm.example.com right: replica.idm.example.com direction: left-to-right state: reinitialized
-
- ファイルを保存します。
Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。
$ ansible-playbook --vault-password-file=password_file -v -i inventory reinitialize-topologysegment-copy.yml
関連情報
- レプリカ合意、トポロジー接尾辞、およびトポロジーセグメントの説明
-
/usr/share/doc/ansible-freeipa/README-topology.md
-
/usr/share/doc/ansible-freeipa/playbooks/topology
にあるサンプル Playbook