6.3. Ansible を使用した Ansible コントローラーへの IdM サーバーのバックアップの作成
Ansible Playbook の ipabackup
ロールを使用して、IdM サーバーのバックアップを作成し、それを Ansible コントローラーに自動的に転送できます。バックアップファイル名は、IdM サーバーのホスト名で始まります。
前提条件
次の要件を満たすように Ansible コントロールノードを設定した。
- Ansible バージョン 2.14 以降を使用している。
-
ansible-freeipa
パッケージがインストールされている。 - ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成している (この例の場合)。
-
この例では、secret.yml Ansible Vault に
ipaadmin_password
が保存されていることを前提としています。
-
ターゲットノード (
ansible-freeipa
モジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。
手順
バックアップを保存するために、Ansible コントローラーのホームディレクトリーにサブディレクトリーを作成します。
mkdir ~/ipabackups
$ mkdir ~/ipabackups
Copy to Clipboard Copied! ~/MyPlaybooks/
ディレクトリーに移動します。cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/
Copy to Clipboard Copied! /usr/share/doc/ansible-freeipa/playbooks
ディレクトリーにあるbackup-server-to-controller.yml
ファイルのコピーを作成します。cp /usr/share/doc/ansible-freeipa/playbooks/backup-server-to-controller.yml backup-my-server-to-my-controller.yml
$ cp /usr/share/doc/ansible-freeipa/playbooks/backup-server-to-controller.yml backup-my-server-to-my-controller.yml
Copy to Clipboard Copied! -
backup-my-server-to-my-controller.yml
ファイルを開いて編集します。 以下の変数を設定してファイルを調整します。
-
hosts
変数を、インベントリーファイルのホストグループに設定します。この例では、ipaserver
ホストグループに設定します。 オプション: IdM サーバー上にバックアップのコピーを保持するには、次の行のコメントを解除します。
ipabackup_keep_on_server: true
# ipabackup_keep_on_server: true
Copy to Clipboard Copied!
-
デフォルトでは、バックアップは Ansible コントローラーの現在の作業ディレクトリーに保存されます。ステップ 1 で作成したバックアップディレクトリーを指定するには、
ipabackup_controller_path
変数を追加し、それを/home/user/ipabackups
ディレクトリーに設定します。--- - name: Playbook to backup IPA server to controller hosts: ipaserver become: true vars: ipabackup_to_controller: true # ipabackup_keep_on_server: true ipabackup_controller_path: /home/user/ipabackups roles: - role: ipabackup state: present
--- - name: Playbook to backup IPA server to controller hosts: ipaserver become: true vars: ipabackup_to_controller: true # ipabackup_keep_on_server: true ipabackup_controller_path: /home/user/ipabackups roles: - role: ipabackup state: present
Copy to Clipboard Copied! - ファイルを保存します。
Playbook ファイルとインベントリーファイルを指定して Ansible Playbook を実行します。
ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory backup-my-server-to-my-controller.yml
$ ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory backup-my-server-to-my-controller.yml
Copy to Clipboard Copied!
検証
バックアップが Ansible コントローラーの
/home/user/ipabackups
ディレクトリーにあることを確認します。ls /home/user/ipabackups
[user@controller ~]$ ls /home/user/ipabackups server.idm.example.com_ipa-full-2021-04-30-13-12-00
Copy to Clipboard Copied!