3.2. Ceph Orchestrator를 사용하여 호스트 추가

백엔드의 Cephadm과 함께 Ceph Orchestrator를 사용하여 기존 Red Hat Ceph Storage 클러스터에 호스트를 추가할 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • 스토리지 클러스터의 모든 노드에 대한 루트 수준의 액세스.
  • 노드를 CDN에 등록하고 서브스크립션을 연결합니다.
  • 스토리지 클러스터의 모든 노드에 대해 sudo 및 암호 없는 ssh 액세스 권한을 가진 Ansible 사용자.

절차

  1. Ceph 관리 노드에서 Cephadm 쉘에 로그인합니다.

    예제

    [root@host01 ~]# cephadm shell

  2. 클러스터의 공용 SSH 키를 폴더에 추출합니다.

    구문

    ceph cephadm get-pub-key > ~/PATH

    예제

    [ceph: root@host01 /]# ceph cephadm get-pub-key > ~/ceph.pub

  3. Ceph 클러스터의 공용 SSH 키를 새 호스트의 root 사용자 authorized_keys 파일에 복사합니다.

    구문

    ssh-copy-id -f -i ~/PATH root@HOST_NAME_2

    예제

    [ceph: root@host01 /]# ssh-copy-id -f -i ~/ceph.pub root@host02

  4. Ansible 관리 노드에서 새 호스트를 Ansible 인벤토리 파일에 추가합니다. 파일의 기본 위치는 /usr/share/cephadm-ansible/hosts 입니다. 다음 예는 일반적인 인벤토리 파일의 구조를 보여줍니다.

    예제

    host01
    host02
    host03
    
    [admin]
    host00

    참고

    이전에 새 호스트를 Ansible 인벤토리 파일에 추가하고 호스트에서 preflight 플레이북을 실행한 경우 6단계로 건너뜁니다.

  5. --limit 옵션을 사용하여 preflight 플레이북을 실행합니다.

    구문

    ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit NEWHOST

    예제

    [ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit host02

    preflight 플레이북에서는 새 호스트에 podman,lvm2,chronyd, cephadm 을 설치합니다. 설치가 완료되면 cephadm/usr/sbin/ 디렉터리에 있습니다.

  6. Ceph 관리 노드에서 Cephadm 쉘에 로그인합니다.

    예제

    [root@host01 ~]# cephadm shell

  7. cephadm orchestrator를 사용하여 스토리지 클러스터에 호스트를 추가합니다.

    구문

    ceph orch host add HOST_NAME IP_ADDRESS_OF_HOST [--label=LABEL_NAME_1,LABEL_NAME_2]

    --label 옵션은 선택 사항이며 호스트를 추가할 때 레이블이 추가됩니다. 호스트에 여러 레이블을 추가할 수 있습니다.

    예제

    [ceph: root@host01 /]# ceph orch host add host02 10.10.128.70 --labels=mon,mgr

검증

  • 호스트를 나열합니다.

    예제

    [ceph: root@host01 /]# ceph orch host ls

추가 리소스