3.15. 호스트 레이블 지정
Ceph 오케스트레이터는 호스트에 레이블 할당을 지원합니다. 레이블은 자유형이며 특정 의미가 없습니다. 즉, mon
,monitor
,mycluster_monitor
또는 다른 텍스트 문자열을 사용할 수 있습니다. 각 호스트에는 여러 개의 레이블이 있을 수 있습니다.
Red Hat Ceph Storage 8.1부터 Ceph Orchestrator는 일반 레이블과 토폴로지 레이블을 호스트에 할당할 수 있습니다. 레이블은 텍스트 문자열과 함께 자유형일 수 있습니다. 토폴로지 레이블은 하드웨어 식별자 및 사용자 레이블이 있는 입력입니다.
- 라벨
레이블은 자유 형식 사용자 지정 텍스트입니다. 예를 들어 Ceph Monitor 데몬을 배포하려는 모든 호스트에서
mycluster_mon
과 같은 레이블을 사용합니다.mycluster_mgr
의 두 번째 레이블은 Ceph Manager 데몬을 배포할 모든 호스트에 배치할 수 있습니다.스토리지 클러스터의 모든 호스트에 레이블을 지정하면 각 호스트에서 실행되는 데몬을 빠르게 식별할 수 있으므로 시스템 관리 작업을 단순화하는 데 도움이 됩니다. 또한 Ceph Orchestrator 또는 YAML 파일을 사용하여 특정 호스트 레이블이 있는 호스트에서 데몬을 배포하거나 제거할 수 있습니다.
- 토폴로지 라벨
- Red Hat Ceph Storage 8.1부터 다중 보안 환경에서 토폴로지 레이블을 사용하여 각 랙에 대한 개별 서비스를 생성할 수 있습니다. 토폴로지 레이블을 사용하면 특정 호스트에서 업그레이드 작업을 수행할 수 있습니다. 자세한 내용은 Staggered upgrade 를 참조하십시오.
호스트에 레이블을 지정하기 전에 스토리지 클러스터가 설치되고 부트스트랩되었는지 확인합니다.
3.15.1. 호스트에 레이블 추가 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Orchestrator를 사용하여 호스트에 레이블을 추가합니다. 레이블을 사용하여 데몬 배치를 지정할 수 있습니다.
레이블의 몇 가지 예는 호스트에 배포된 서비스를 기반으로 하는 mgr
,mon
, osd
입니다. 각 호스트에는 여러 개의 레이블이 있을 수 있습니다.
cephadm
에 특별한 의미가 있고 _
로 시작하는 다음 호스트 레이블을 추가할 수도 있습니다.
-
_no_schedule
: 이 레이블은cephadm
이 호스트에 데몬을 예약하거나 배포하지 못하도록 합니다. Ceph 데몬이 이미 포함된 기존 호스트에 추가된 경우cephadm
은 자동으로 제거되지 않은 OSD를 제외하고 해당 데몬을 다른 위치에서 이동합니다._no_schedule
레이블을 사용하여 호스트를 추가하면 데몬이 배포되지 않습니다. 호스트가 제거되기 전에 데몬이 드레이닝되면 해당 호스트에_no_schedule
레이블이 설정됩니다. -
_no_autotune_memory
:이 레이블은 호스트에서 메모리를 자동 조정하지 않습니다. 해당 호스트에서 하나 이상의 데몬에 대해osd_memory_target_autotune
옵션 또는 기타 유사한 옵션이 활성화된 경우에도 데몬 메모리가 튜닝되지 않습니다. -
_admin
: 기본적으로_admin
레이블은 스토리지 클러스터의 부트스트랩 호스트에 적용되며client.admin
키는ceph orch 클라이언트 키링 {ls|set|rm}
함수를 사용하여 해당 호스트에 배포되도록 설정됩니다. 일반적으로 이 레이블을 추가 호스트에 추가하면cephadm
이/etc/ceph
디렉터리에 구성 및 키링 파일을 배포합니다.
사전 요구 사항
- 설치 및 부트스트랩된 스토리지 클러스터입니다.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
- 호스트는 스토리지 클러스터에 추가됩니다.
프로세스
Cephadm 쉘에 로그인합니다.
예제
cephadm shell
[root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 호스트에 레이블을 추가합니다.
구문
ceph orch host label add HOSTNAME LABEL
ceph orch host label add HOSTNAME LABEL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch host label add host02 mon
[ceph: root@host01 /]# ceph orch host label add host02 mon
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
호스트를 나열합니다.
예
[ceph: root@host01 /]# ceph orch host ls
[ceph: root@host01 /]# ceph orch host ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.15.2. 호스트에서 레이블 제거 링크 복사링크가 클립보드에 복사되었습니다!
Ceph 오케스트레이터를 사용하여 호스트에서 레이블을 제거할 수 있습니다.
사전 요구 사항
- 설치 및 부트스트랩된 스토리지 클러스터입니다.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
프로세스
cephadm
쉘을 시작합니다.cephadm shell
[root@host01 ~]# cephadm shell [ceph: root@host01 /]#
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 레이블을 제거합니다.
구문
ceph orch host label rm HOSTNAME LABEL
ceph orch host label rm HOSTNAME LABEL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch host label rm host02 mon
[ceph: root@host01 /]# ceph orch host label rm host02 mon
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
호스트를 나열합니다.
예
[ceph: root@host01 /]# ceph orch host ls
[ceph: root@host01 /]# ceph orch host ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.15.3. 호스트 레이블을 사용하여 특정 호스트에 데몬 배포 링크 복사링크가 클립보드에 복사되었습니다!
호스트 레이블을 사용하여 특정 호스트에 데몬을 배포할 수 있습니다. 호스트 레이블을 사용하여 특정 호스트에 데몬을 배포하는 방법은 다음 두 가지가 있습니다.
-
명령줄에서
--placement
옵션을 사용합니다. - YAML 파일을 사용합니다.
사전 요구 사항
- 설치 및 부트스트랩된 스토리지 클러스터입니다.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
프로세스
Cephadm 쉘에 로그인합니다.
예
cephadm shell
[root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 현재 호스트 및 레이블을 나열합니다.
예
[ceph: root@host01 /]# ceph orch host ls HOST ADDR LABELS STATUS host01 _admin mon osd mgr host02 mon osd mgr mylabel
[ceph: root@host01 /]# ceph orch host ls HOST ADDR LABELS STATUS host01 _admin mon osd mgr host02 mon osd mgr mylabel
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 방법 1: 명령줄에서 데몬을 배포하려면
--placement
옵션을 사용합니다.구문
ceph orch apply DAEMON --placement="label:LABEL"
ceph orch apply DAEMON --placement="label:LABEL"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph orch apply prometheus --placement="label:mylabel"
[ceph: root@host01 /]# ceph orch apply prometheus --placement="label:mylabel"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 메서드 2 YAML 파일의 특정 호스트 레이블에 데몬을 할당하려면 YAML 파일에 서비스 유형 및 라벨을 지정합니다.
placement.yml
파일을 생성합니다.예제
[ceph: root@host01 /]# vi placement.yml
[ceph: root@host01 /]# vi placement.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow placement.yml
파일에 서비스 유형 및 라벨을 지정합니다.예제
service_type: prometheus placement: label: "mylabel"
service_type: prometheus placement: label: "mylabel"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 데몬 배치 파일을 적용합니다.
구문
ceph orch apply -i FILENAME
ceph orch apply -i FILENAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch apply -i placement.yml Scheduled prometheus update…
[ceph: root@host01 /]# ceph orch apply -i placement.yml Scheduled prometheus update…
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
데몬 상태를 나열합니다.
구문
ceph orch ps --daemon_type=DAEMON_NAME
ceph orch ps --daemon_type=DAEMON_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph orch ps --daemon_type=prometheus NAME HOST PORTS STATUS REFRESHED AGE MEM USE MEM LIM VERSION IMAGE ID CONTAINER ID prometheus.host02 host02 *:9095 running (2h) 8m ago 2h 85.3M - 2.22.2 ac25aac5d567 ad8c7593d7c0
[ceph: root@host01 /]# ceph orch ps --daemon_type=prometheus NAME HOST PORTS STATUS REFRESHED AGE MEM USE MEM LIM VERSION IMAGE ID CONTAINER ID prometheus.host02 host02 *:9095 running (2h) 8m ago 2h 85.3M - 2.22.2 ac25aac5d567 ad8c7593d7c0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.15.4. 호스트에 토폴로지 레이블 추가 링크 복사링크가 클립보드에 복사되었습니다!
다중 랙 환경에서 토폴로지 레이블을 사용하여 Cephadm이 클러스터에 있는 호스트의 토폴로지 레이아웃을 인식할 수 있도록 합니다. 토폴로지 레이블을 사용하면 특정 호스트에서 업그레이드 작업을 수행할 수 있습니다.
명령줄 인터페이스를 사용하거나 호스트 사양 파일을 사용하여 토폴로지 레이블을 추가합니다.
사전 요구 사항
시작하기 전에 다음 사전 요구 사항이 있는지 확인하십시오.
- 설치 및 부트스트랩된 스토리지 클러스터입니다.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
프로세스
방법 1: 명령줄 인터페이스를 사용하여 토폴로지 레이블 추가.
host add 또는 set-topological-labels 명령을 사용하여 Cephadm 쉘로 토폴로지 레이블을 추가합니다.
레이블은
hardware_identifier
=user_label
형식으로 작성됩니다. 하드웨어 식별자는 데이터 센터 또는 랙일 수 있습니다. 여러 레이블을 쉼표 구분 기호와 함께 사용할 수 있습니다.다음 명령 중 하나를 사용하여 호스트에 토폴로지 레이블을 추가합니다.
--topological-labels
옵션과 함께host add
명령을 사용합니다.구문
ceph orch host add _HOSTNAME_ _IP_ADDRESS_ --topological-labels _TOPOLOGICAL_LABEL1_,_TOPOLOGICAL_LABEL2_
ceph orch host add _HOSTNAME_ _IP_ADDRESS_ --topological-labels _TOPOLOGICAL_LABEL1_,_TOPOLOGICAL_LABEL2_
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
ceph orch host add host02 10.10.128.69 --topological-labels datacenter=A,rack=3
ceph orch host add host02 10.10.128.69 --topological-labels datacenter=A,rack=3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow set-topological-labels
명령을 사용합니다.중요set-topological-labels
명령은 기존 토폴로지 레이블을 덮어씁니다. 레이블이 지정되지 않은 명령을 실행하면 호스트의 모든 레이블이 지워집니다. 명령을 레이블로 실행하면 호스트의 기존 레이블을 대체합니다. 이 명령을 실행하는 동안 사용되는 레이블은 기존 레이블에 추가되지 않습니다.구문
ceph orch host set-topological-labels _HOSTNAME_ _TOPOLOGICAL_LABEL1_,_TOPOLOGICAL_LABEL2_
ceph orch host set-topological-labels _HOSTNAME_ _TOPOLOGICAL_LABEL1_,_TOPOLOGICAL_LABEL2_
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
ceph orch host add host02 10.10.128.69 --topological-labels datacenter=A,rack=3
ceph orch host add host02 10.10.128.69 --topological-labels datacenter=A,rack=3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 방법 2 서비스 사양 파일을 사용하여 토폴로지 레이블을 추가합니다.
호스트 사양 파일 내에서 토폴로지 레이블을 설정합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
-
ceph orch host ls -f yaml
명령을 사용하여 호스트의 기존 토폴로지 레이블을 찾습니다.