9.2. Ansible を使用した Ansible コントローラーへの IdM サーバーのバックアップの作成
Ansible Playbook の ipabackup
ロールを使用して、IdM サーバーのバックアップを作成し、それを Ansible コントローラーに自動的に転送できます。バックアップファイル名は、IdM サーバーのホスト名で始まります。
前提条件
次の要件を満たすように Ansible コントロールノードを設定している。
- Ansible バージョン 2.15 以降を使用している。
-
freeipa.ansible_freeipa
コレクションがインストールされている。 - ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル が作成されている (この例の場合)。
-
secret.yml Ansible vault に
ipaadmin_password
が保存されており、secret.yml ファイルを保護するパスワードを格納しているファイルにアクセスできる (この例の場合)。
-
ターゲットノード (
freeipa.ansible_freeipa
モジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。
手順
バックアップを保存するために、Ansible コントローラーのホームディレクトリーにサブディレクトリーを作成します。
mkdir ~/ipabackups
$ mkdir ~/ipabackups
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ~/MyPlaybooks/
ディレクトリーに移動します。cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks
ディレクトリーにあるbackup-server-to-controller.yml
ファイルのコピーを作成します。cp /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/backup-server-to-controller.yml backup-my-server-to-my-controller.yml
$ cp /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/backup-server-to-controller.yml backup-my-server-to-my-controller.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
backup-my-server-to-my-controller.yml
ファイルを開いて編集します。 以下の変数を設定してファイルを調整します。
-
hosts
変数を、インベントリーファイルのホストグループに設定します。この例では、ipaserver
ホストグループに設定します。 オプション: IdM サーバー上にバックアップのコピーを保持するには、次の行のコメントを解除します。
ipabackup_keep_on_server: true
# ipabackup_keep_on_server: true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
デフォルトでは、バックアップは Ansible コントローラーの現在の作業ディレクトリーに保存されます。ステップ 1 で作成したバックアップディレクトリーを指定するには、
ipabackup_controller_path
変数を追加し、それを/home/user/ipabackups
ディレクトリーに設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルを保存します。
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! Toggle word wrap Toggle overflow
検証
バックアップが 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! Toggle word wrap Toggle overflow