3.15. 호스트 추가
Red Hat Ceph Storage 설치를 부트 스트랩하면 동일한 컨테이너 내에서 하나의 Monitor 데몬과 하나의 Manager 데몬으로 구성된 작동 중인 스토리지 클러스터가 생성됩니다. 스토리지 관리자는 스토리지 클러스터에 호스트를 추가하고 구성할 수 있습니다.
-
preflight 플레이북을 실행하면 Ansible 인벤토리 파일에 나열된 모든 호스트에
podman,lvm2,chrony및cephadm이 설치됩니다. 사용자 지정 레지스트리를 사용하는 경우 Ceph 데몬을 추가하기 전에 새로 추가된 노드의 사용자 정의 레지스트리에 로그인해야 합니다.
.Syntax [source,subs="verbatim,quotes"] ---- # ceph cephadm registry-login --registry-url _CUSTOM_REGISTRY_NAME_ --registry_username _REGISTRY_USERNAME_ --registry_password _REGISTRY_PASSWORD_ ----
.Syntax [source,subs="verbatim,quotes"] ---- # ceph cephadm registry-login --registry-url _CUSTOM_REGISTRY_NAME_ --registry_username _REGISTRY_USERNAME_ --registry_password _REGISTRY_PASSWORD_ ----Copy to Clipboard Copied! Toggle word wrap Toggle overflow .Example ---- # ceph cephadm registry-login --registry-url myregistry --registry_username myregistryusername --registry_password myregistrypassword1 ----
.Example ---- # ceph cephadm registry-login --registry-url myregistry --registry_username myregistryusername --registry_password myregistrypassword1 ----Copy to Clipboard Copied! Toggle word wrap Toggle overflow
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 스토리지 클러스터의 모든 노드에 대한 sudo 액세스 권한이 있는 루트 수준 또는 사용자입니다.
- 노드를 CDN에 등록하고 서브스크립션을 연결합니다.
-
sudo 및 암호 없이
ssh를 사용하는 Ansible 사용자는 스토리지 클러스터의 모든 노드에 액세스할 수 있습니다.
절차
+
다음 절차에서는 표시된 대로 root 또는 사용자가 부트스트랩되는 사용자 이름을 사용합니다.
admin 인증 키가 포함된 노드에서 스토리지 클러스터의 공개 SSH 키를 새 호스트의 root 사용자의
authorized_keys파일에 설치합니다.구문
ssh-copy-id -f -i /etc/ceph/ceph.pub user@NEWHOST
ssh-copy-id -f -i /etc/ceph/ceph.pub user@NEWHOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ssh-copy-id -f -i /etc/ceph/ceph.pub root@host02 ssh-copy-id -f -i /etc/ceph/ceph.pub root@host03
[root@host01 ~]# ssh-copy-id -f -i /etc/ceph/ceph.pub root@host02 [root@host01 ~]# ssh-copy-id -f -i /etc/ceph/ceph.pub root@host03Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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 관리 노드에서 새 호스트를 Ansible 인벤토리 파일에 추가합니다. 파일의 기본 위치는
/usr/share/cephadm-ansible/hosts입니다. 다음 예제는 일반적인 인벤토리 파일의 구조를 보여줍니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이전에 새 호스트를 Ansible 인벤토리 파일에 추가하고 호스트에서 preflight 플레이북을 실행한 경우 4 단계로 건너뜁니다.
--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/디렉터리에 있습니다.부트스트랩 노드에서
cephadmorchestrator를 사용하여 스토리지 클러스터에 새 호스트를 추가합니다.구문
ceph orch host add NEWHOST
ceph orch host add NEWHOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch host add host02 Added host 'host02' with addr '10.10.128.69' [ceph: root@host01 /]# ceph orch host add host03 Added host 'host03' with addr '10.10.128.70'
[ceph: root@host01 /]# ceph orch host add host02 Added host 'host02' with addr '10.10.128.69' [ceph: root@host01 /]# ceph orch host add host03 Added host 'host03' with addr '10.10.128.70'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 사전 설정 플레이북을 실행한 후 IP 주소로 노드를 추가할 수도 있습니다. 스토리지 클러스터 환경에 DNS가 구성되지 않은 경우 호스트 이름과 함께 IP 주소로 호스트를 추가할 수 있습니다.
구문
ceph orch host add HOSTNAME IP_ADDRESS
ceph orch host add HOSTNAME IP_ADDRESSCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch host add host02 10.10.128.69 Added host 'host02' with addr '10.10.128.69'
[ceph: root@host01 /]# ceph orch host add host02 10.10.128.69 Added host 'host02' with addr '10.10.128.69'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 검증
스토리지 클러스터의 상태를 확인하고 새 호스트가 추가되었는지 확인합니다.
ceph orch host ls명령의 출력에서 호스트 STATUS가 비어 있습니다.예제
[ceph: root@host01 /]# ceph orch host ls
[ceph: root@host01 /]# ceph orch host lsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.15.1. addr 옵션을 사용하여 호스트 확인 링크 복사링크가 클립보드에 복사되었습니다!
addr 옵션은 호스트에 연결하는 추가 방법을 제공합니다. 호스트의 IP 주소를 addr 옵션에 추가합니다. ssh 가 호스트 이름으로 연결할 수 없는 경우 addr 에 저장된 값을 사용하여 IP 주소로 호스트에 연결합니다.
사전 요구 사항
- 설치 및 부트스트랩된 스토리지 클러스터입니다.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
절차
cephadm 쉘 내부에서 이 절차를 실행합니다.
IP 주소를 추가합니다.
구문
ceph orch host add HOSTNAME IP_ADDR
ceph orch host add HOSTNAME IP_ADDRCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch host add host01 10.10.128.68
[ceph: root@host01 /]# ceph orch host add host01 10.10.128.68Copy to Clipboard Copied! Toggle word wrap Toggle overflow
호스트 이름으로 호스트를 추가하는 경우 해당 호스트가 IPv4 주소 대신 IPv6 주소로 추가되는 경우 ceph orch host를 사용하여 해당 호스트의 IP 주소를 지정합니다.
ceph orch host set-addr HOSTNAME IP_ADDR
ceph orch host set-addr HOSTNAME IP_ADDR
추가한 호스트의 IPv6 형식에서 IPv4 형식으로 IP 주소를 변환하려면 다음 명령을 사용합니다.
ceph orch host set-addr HOSTNAME IPV4_ADDRESS
ceph orch host set-addr HOSTNAME IPV4_ADDRESS
3.15.2. 여러 호스트 추가 링크 복사링크가 클립보드에 복사되었습니다!
YAML 파일을 사용하여 스토리지 클러스터에 동시에 여러 호스트를 추가합니다.
호스트 컨테이너 내에 hosts.yaml 파일을 생성하거나 로컬 호스트에 파일을 생성한 다음 cephadm 쉘을 사용하여 컨테이너 내에서 파일을 마운트합니다. cephadm 쉘은 마운트된 파일을 /mnt에 자동으로 배치합니다. 로컬 호스트에서 직접 파일을 생성한 다음 hosts.yaml 파일을 마운트하지 않고 적용하면 File does not exist 오류가 표시될 수 있습니다.
사전 요구 사항
- 설치 및 부트스트랩된 스토리지 클러스터입니다.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
절차
-
공개
ssh키를 추가하려는 각 호스트에 복사합니다. -
텍스트 편집기를 사용하여
hosts.yaml파일을 생성합니다. 다음 예와 같이
hosts.yaml파일에 호스트 설명을 추가합니다. 각 호스트에 배포하려는 데몬의 배치를 식별하는 레이블을 포함합니다. 각 호스트 설명을 세 개의 대시(---)로 분리합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 호스트 컨테이너 내에
hosts.yaml파일을 생성한 경우ceph orch apply명령을 호출합니다.예제
ceph orch apply -i hosts.yaml
[root@host01 ~]# ceph orch apply -i hosts.yaml Added host 'host02' with addr '10.10.128.69' Added host 'host03' with addr '10.10.128.70' Added host 'host04' with addr '10.10.128.71'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 로컬 호스트에서 직접
hosts.yaml파일을 생성한 경우cephadm쉘을 사용하여 파일을 마운트합니다.예제
cephadm shell --mount hosts.yaml -- ceph orch apply -i /mnt/hosts.yaml
[root@host01 ~]# cephadm shell --mount hosts.yaml -- ceph orch apply -i /mnt/hosts.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 호스트 및 해당 라벨 목록을 표시합니다.
예제
ceph orch host ls
[root@host01 ~]# ceph orch host ls HOST ADDR LABELS STATUS host02 host02 mon osd mgr host03 host03 mon osd mgr host04 host04 mon osdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고호스트가 온라인에 있고 정상적으로 작동하는 경우 해당 상태는 비어 있습니다. 오프라인 호스트는 OFFLINE 상태를 표시하며 유지 관리 모드의 호스트는 MAINTENANCE 상태를 표시합니다.
3.15.3. 연결 해제된 배포에서 호스트 추가 링크 복사링크가 클립보드에 복사되었습니다!
프라이빗 IP를 통해 프라이빗 네트워크에서 스토리지 클러스터를 실행 중이고 호스트 도메인 이름 서버(DNS)에 연결할 수 없는 경우 스토리지 클러스터에 추가할 각 호스트의 호스트 이름과 IP 주소를 모두 포함해야 합니다.
사전 요구 사항
- 실행 중인 스토리지 클러스터입니다.
- 스토리지 클러스터의 모든 호스트에 대한 루트 수준 액세스.
절차
cephadm쉘을 호출합니다.구문
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 호스트를 추가합니다.
구문
ceph orch host add HOST_NAME HOST_ADDRESS
ceph orch host add HOST_NAME HOST_ADDRESSCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch host add host03 10.10.128.70
[ceph: root@host01 /]# ceph orch host add host03 10.10.128.70Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.15.4. 호스트 제거 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Orchestrators로 Ceph 클러스터의 호스트를 제거할 수 있습니다. 모든 데몬은 작업이 완료될 때까지 데몬 또는 클러스터를 배포할 수 없도록 _no_schedule 레이블을 추가하는 drain 옵션으로 제거됩니다.
부트스트랩 호스트를 제거하는 경우 호스트를 제거하기 전에 관리자 인증 키와 구성 파일을 스토리지 클러스터의 다른 호스트에 복사해야 합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 모든 노드에 대한 루트 수준 액세스.
- 호스트는 스토리지 클러스터에 추가됩니다.
- 모든 서비스가 배포됩니다.
- Cephadm은 서비스를 제거해야 하는 노드에 배포됩니다.
절차
Cephadm 쉘에 로그인합니다.
예제
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 호스트 세부 정보를 가져옵니다.
예제
[ceph: root@host01 /]# ceph orch host ls
[ceph: root@host01 /]# ceph orch host lsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 호스트의 모든 데몬을 드레이닝합니다.
구문
ceph orch host drain HOSTNAME
ceph orch host drain HOSTNAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch host drain host02
[ceph: root@host01 /]# ceph orch host drain host02Copy to Clipboard Copied! Toggle word wrap Toggle overflow _no_schedule레이블은 배포를 차단하는 호스트에 자동으로 적용됩니다.OSD 제거 상태를 확인합니다.
예제
[ceph: root@host01 /]# ceph orch osd rm status
[ceph: root@host01 /]# ceph orch osd rm statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD에 배치 그룹(PG)이 없는 경우 스토리지 클러스터에서 OSD가 해제되어 제거됩니다.
스토리지 클러스터에서 모든 데몬이 제거되었는지 확인합니다.
구문
ceph orch ps HOSTNAME
ceph orch ps HOSTNAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch ps host02
[ceph: root@host01 /]# ceph orch ps host02Copy to Clipboard Copied! Toggle word wrap Toggle overflow 호스트를 제거합니다.
구문
ceph orch host rm HOSTNAME
ceph orch host rm HOSTNAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch host rm host02
[ceph: root@host01 /]# ceph orch host rm host02Copy to Clipboard Copied! Toggle word wrap Toggle overflow