6.3. Ansible を使用した Ansible コントローラーへの IdM サーバーのバックアップの作成

以下の手順では、Ansible Playbook の ipabackup ロール を使用して IdM サーバーのバックアップを作成し、Ansible コントローラーに自動的に転送する方法を説明します。バックアップファイル名は、IdM サーバーのホスト名で始まります。

前提条件

  • 以下の要件を満たす Ansible コントロールノードを設定している。

    • Ansible バージョン 2.8 以降を使用している。
    • ansible-freeipa パッケージがインストールされている。
    • このオプションを設定する IdM サーバーの完全修飾ドメイン名 (FQDN) でAnsible インベントリーファイルを作成している。
    • Ansible インベントリーファイルは ~/MyPlaybooks/ ディレクトリーにあります。

手順

  1. バックアップを保存するには、Ansible コントローラーのホームディレクトリーにサブディレクトリーを作成します。

    $ mkdir ~/ipabackups
  2. ~/MyPlaybooks/ ディレクトリーに移動します。

    $ cd ~/MyPlaybooks/
  3. /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
  4. backup-my-server-to-my-controller.yml ファイルを開いて編集します。
  5. 以下の変数を設定してファイルを調整します。

    1. hosts 変数は、インベントリーファイルからホストグループに設定します。この例では、ipaserver ホストグループに設定します。
    2. (必要に応じて) IdM サーバーでバックアップのコピーを維持するには、以下の行のコメントを解除します。

       # ipabackup_keep_on_server: yes
  6. デフォルトでは、バックアップは Ansible コントローラーの現在の作業ディレクトリーに保存されます。手順 1 で作成したバックアップディレクトリーを指定するには、ipabackup _controller_path 変数を追加し、/home/user/ipabackups ディレクトリーに設定します。

    ---
    - name: Playbook to backup IPA server to controller
      hosts: ipaserver
      become: true
      vars:
        ipabackup_to_controller: yes
        # ipabackup_keep_on_server: yes
        ipabackup_controller_path: /home/user/ipabackups
    
      roles:
      - role: ipabackup
        state: present
  7. ファイルを保存します。
  8. Playbook ファイルとインベントリーファイルを指定して Ansible Playbook を実行します。

    $ ansible-playbook -v -i ~/MyPlaybooks/inventory backup-my-server-to-my-controller.yml

検証手順

  • バックアップが Ansible コントローラーの /home/user/ipabackups ディレクトリーにあることを確認します。

    [user@controller ~]$ ls /home/user/ipabackups
    server.idm.example.com_ipa-full-2021-04-30-13-12-00

関連情報

  • ipabackup ロールを使用する他の Ansible Playbook の例は、以下を参照してください。

    • /usr/share/doc/ansible-freeipa/roles/ipabackup ディレクトリーREADME.md ファイルこのファイルには ipabackup 変数の定義も含まれます。
    • /usr/share/doc/ansible-freeipa/playbooks/ ディレクトリー。