15.4. ceph_orch_host 모듈을 사용하여 호스트 추가 또는 제거
스토리지 관리자는 Ansible 플레이북에서 ceph_orch_host
모듈을 사용하여 스토리지 클러스터에서 호스트를 추가하고 제거할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드를 CDN에 등록하고 서브스크립션을 연결합니다.
- 스토리지 클러스터의 모든 노드에 대한 sudo 및 암호 없는 SSH 액세스 권한이 있는 Ansible 사용자.
-
Ansible 관리 노드에
cephadm-ansible
패키지 설치 - 새 호스트에는 스토리지 클러스터의 공용 SSH 키가 있습니다. 스토리지 클러스터의 공용 SSH 키를 새 호스트에 복사하는 방법에 대한 자세한 내용은 Red Hat Ceph Storage 설치 가이드의 호스트 추가 를 참조하십시오.
절차
다음 절차에 따라 새 호스트를 클러스터에 추가합니다.
- Ansible 관리 노드에 로그인합니다.
Ansible 관리 노드에서
/usr/share/cephadm-ansible
디렉터리로 이동합니다.예제
cd /usr/share/cephadm-ansible
[ceph-admin@admin ~]$ cd /usr/share/cephadm-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 호스트 및 레이블을 Ansible 인벤토리 파일에 추가합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이전에 새 호스트를 Ansible 인벤토리 파일에 추가하고 호스트에서 preflight 플레이북을 실행한 경우 3단계로 건너뜁니다.
--limit
옵션을 사용하여 preflight 플레이북을 실행합니다.구문
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit NEWHOST
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit NEWHOST
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit host02
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit host02
Copy to Clipboard Copied! Toggle word wrap Toggle overflow preflight Playbook은 새 호스트에
podman
,lvm2
,chronyd
,cephadm
을 설치합니다. 설치가 완료되면cephadm
은/usr/sbin/
디렉터리에 있습니다.새 호스트를 클러스터에 추가하는 플레이북을 생성합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고기본적으로 Ansible은 플레이북의
hosts
줄과 일치하는 호스트에서 모든 작업을 실행합니다.ceph orch
명령은 관리자 인증 키와 Ceph 구성 파일이 포함된 호스트에서 실행해야 합니다.delegate_to
키워드를 사용하여 클러스터에서 admin 호스트를 지정합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서 플레이북은 새 호스트를 클러스터에 추가하고 현재 호스트 목록을 표시합니다.
플레이북을 실행하여 클러스터에 호스트를 추가합니다.
구문
ansible-playbook -i INVENTORY_FILE PLAYBOOK_FILENAME.yml
ansible-playbook -i INVENTORY_FILE PLAYBOOK_FILENAME.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ansible-playbook -i hosts add-hosts.yml
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts add-hosts.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 절차에 따라 클러스터에서 호스트를 제거합니다.
- Ansible 관리 노드에 로그인합니다.
Ansible 관리 노드에서
/usr/share/cephadm-ansible
디렉터리로 이동합니다.예제
cd /usr/share/cephadm-ansible
[ceph-admin@admin ~]$ cd /usr/share/cephadm-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터에서 호스트 또는 호스트를 제거하는 플레이북을 생성합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서 플레이북 작업은
host07
의 모든 데몬을 드레이닝하고, 클러스터에서 호스트를 제거하고, 현재 호스트 목록을 표시합니다.Playbook을 실행하여 클러스터에서 호스트를 제거합니다.
구문
ansible-playbook -i INVENTORY_FILE PLAYBOOK_FILENAME.yml
ansible-playbook -i INVENTORY_FILE PLAYBOOK_FILENAME.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ansible-playbook -i hosts remove-hosts.yml
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts remove-hosts.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
클러스터의 현재 호스트 목록을 표시하는 Ansible 작업 출력을 검토합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow