3.10. preflight Playbook 실행
이 Ansible Playbook은 Ceph 리포지토리를 구성하고 부트 스트랩을 위해 스토리지 클러스터를 준비합니다. podman,lvm2,chrony, cephadm 과 같은 몇 가지 사전 요구 사항도 설치합니다. cephadm-ansible 및 cephadm-preflight.yml 의 기본 위치는 /usr/share/cephadm-ansible 입니다.
preflight 플레이북은 cephadm-ansible 인벤토리 파일을 사용하여 스토리지 클러스터의 모든 관리자 및 노드를 식별합니다.
인벤토리 파일의 기본 위치는 /usr/share/cephadm-ansible/hosts 입니다. 다음 예제는 일반적인 인벤토리 파일의 구조를 보여줍니다.
예제
host02
host03
host04
[admin]
host01
인벤토리 파일의 [admin] 그룹에는 관리자 인증 키가 저장된 노드의 이름이 포함되어 있습니다. 새 스토리지 클러스터에서 [admin] 그룹의 노드는 부트스트랩 노드가 됩니다. 클러스터를 부트 스트랩한 후 추가 관리 호스트를 추가하려면 설치 가이드에서 관리 노드 설정을 참조하십시오.
초기 호스트를 부트스트랩하기 전에 preflight 플레이북을 실행합니다.
비연결 설치를 수행하는 경우 비연결 설치를 위한 preflight 플레이북 실행을 참조하십시오.
사전 요구 사항
- Ansible 관리 노드에 대한 루트 수준 액세스.
sudo 및 암호 없이
ssh를 사용하는 Ansible 사용자는 스토리지 클러스터의 모든 노드에 액세스할 수 있습니다.참고아래 예에서 host01은 부트 스트랩 노드입니다.
절차
-
/usr/share/cephadm-ansible디렉토리로 이동합니다. hosts파일을 열고 편집하고 노드를 추가합니다.예제
host02 host03 host04 [admin] host01preflight Playbook을 실행합니다.
구문
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs"예제
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs"설치가 완료되면
cephadm은/usr/sbin/디렉터리에 있습니다.스토리지 클러스터에서 선택한 호스트 집합에서 preflight 플레이북을 실행하려면
--limit옵션을 사용합니다.구문
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit GROUP_NAME|NODE_NAMEGROUP_NAME 을 인벤토리 파일의 그룹 이름으로 바꿉니다. NODE_NAME 을 인벤토리 파일의 특정 노드 이름으로 바꿉니다.
참고선택적으로
[mons],[osds]및[mgrs]와 같은 그룹 이름으로 인벤토리 파일의 노드를 그룹화할 수 있습니다. 그러나 관리 노드를[admin]그룹에 추가해야 하며 클라이언트가[clients]그룹에 추가해야 합니다.예제
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit clients [ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit host01preflight 플레이북을 실행하면
cephadm-ansible이 클라이언트 노드에chrony및ceph-common을 자동으로 설치합니다.preflight 플레이북은
chrony를 설치하지만 단일 NTP 소스를 위해 구성합니다. 여러 소스를 구성하거나 연결이 끊긴 환경이 있는 경우 자세한 내용은 다음 설명서를 참조하십시오.