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 ~/ipabackupsCopy 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.ymlCopy 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: trueCopy 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.ymlCopy 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-00Copy to Clipboard Copied! Toggle word wrap Toggle overflow