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