Red Hat Training

A Red Hat training course is available for RHEL 8

9.2. Ansible을 사용하여 Ansible 컨트롤러에서 IdM 서버 백업 생성

다음 절차에서는 Ansible 플레이북에서 ipabackup 역할을 사용하여 IdM 서버 백업을 생성하고 Ansible 컨트롤러에서 자동으로 전송하는 방법을 설명합니다. 백업 파일 이름은 IdM 서버의 호스트 이름으로 시작됩니다.

사전 요구 사항

  • 다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.

    • Ansible 버전 2.14 이상을 사용하고 있습니다.
    • Ansible 컨트롤러에 ansible-freeipa 패키지가 설치되어 있습니다.
    • 이 예제에서는 ~/MyPlaybook/ 디렉터리에서 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했다고 가정합니다.
    • 이 예제에서는 secret.yml Ansible 자격 증명 모음이 ipaadmin_password 를 저장한다고 가정합니다.

절차

  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. 인벤토리 파일과 플레이북 파일을 지정하여 Ansible 플레이북을 실행합니다.

    $ ansible-playbook --vault-password-file=password_file -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 파일.
    • /usr/share/doc/ansible-freeipa/playbooks/ 디렉토리.