부록 E. 기존 Ceph 클러스터를 Ansible로 가져오기

Ansible 없이 배포된 클러스터를 사용하도록 Ansible을 구성할 수 있습니다. 예를 들어 Red Hat Ceph Storage 1.3 클러스터를 버전 2로 업그레이드하는 경우 다음 절차에 따라 Ansible을 사용하도록 구성합니다.

  1. 버전 1.3에서 버전 2로 수동으로 업그레이드한 후 관리 노드에 Ansible을 설치 및 구성합니다.
  2. Ansible 관리 노드에 클러스터의 모든 Ceph 노드에 대한 암호 없는 ssh 액세스 권한이 있는지 확인합니다. 자세한 내용은 3.9절. “Ansible에 대해 암호 없는 SSH 활성화”를 참조하십시오.
  3. 루트 로서 /etc/ansible/ 디렉터리의 Ansible group_vars 디렉터리에 대한 심볼릭 링크를 만듭니다.

    # ln -s /usr/share/ceph-ansible/group_vars /etc/ansible/group_vars
  4. rootall.yml. sample 파일에서 all.yml 파일을 생성하고 편집을 위해 엽니다.

    # cd /etc/ansible/group_vars
    # cp all.yml.sample all.yml
    # vim all.yml
  5. group_vars/all.yml 에서 generate_fsid 설정을 false 로 설정합니다.
  6. ceph fsid 를 실행하여 현재 클러스터 fsid를 가져옵니다.
  7. group_vars/all.yml 에서 검색된 fsid 를 설정합니다.
  8. /etc/ansible/hosts 에서 Ceph 호스트를 포함하도록 Ansible 인벤토리를 수정합니다. [mons] 섹션에 모니터를 추가하여 [rgws] 섹션의 [osds] 섹션 및 게이트웨이 아래에 OSD를 추가하여 Ansible에 대한 역할을 식별합니다.
  9. all.yml 파일의 [global], [osd], [mon], [client] 섹션에 사용된 원래 ceph.conf 옵션으로 ceph_conf_overrides 가 업데이트되었는지 확인합니다.

    osd journal,public_networkcluster_network 와 같은 옵션은 이미 all.yml 의 일부이므로 ceph_conf_overrides 에 추가하지 않아야 합니다. all.yml 의 일부가 아니며 원래 ceph.conf 에 있는 옵션만 ceph_conf_overrides 에 추가해야 합니다.

  10. /usr/share/ceph-ansible/ 디렉터리에서 플레이북을 실행합니다.

    # cd /usr/share/ceph-ansible/
    # ansible-playbook infrastructure-playbooks/take-over-existing-cluster.yml -u <username> -i hosts