3.15. 호스트 레이블 지정
Ceph 오케스트레이터는 호스트에 레이블 할당을 지원합니다. 레이블은 자유형이며 특정 의미가 없습니다. 즉, mon
,monitor
,mycluster_monitor
또는 다른 텍스트 문자열을 사용할 수 있습니다. 각 호스트에는 여러 개의 레이블이 있을 수 있습니다.
예를 들어, Ceph Monitor 데몬을 배포하려는 모든 호스트에 mon
레이블을 적용하고, Ceph Manager 데몬을 배포하려는 모든 호스트에 mgr
, Ceph Object Gateway 데몬의 경우 rgw
를 적용합니다.
스토리지 클러스터의 모든 호스트에 레이블을 지정하면 각 호스트에서 실행되는 데몬을 빠르게 식별할 수 있으므로 시스템 관리 작업을 단순화하는 데 도움이 됩니다. 또한 Ceph 오케스트레이터 또는 YAML 파일을 사용하여 특정 호스트 레이블이 있는 호스트에서 데몬을 배포하거나 제거할 수 있습니다.
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 쉘에 로그인합니다.
예
[root@host01 ~]# cephadm shell
호스트에 레이블을 추가합니다.
구문
ceph orch host label add HOSTNAME LABEL
예제
[ceph: root@host01 /]# ceph orch host label add host02 mon
검증
호스트를 나열합니다.
예
[ceph: root@host01 /]# ceph orch host ls
3.15.2. 호스트에서 레이블 제거
Ceph 오케스트레이터를 사용하여 호스트에서 레이블을 제거할 수 있습니다.
사전 요구 사항
- 설치 및 부트스트랩된 스토리지 클러스터입니다.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
프로세스
cephadm
쉘을 시작합니다.[root@host01 ~]# cephadm shell [ceph: root@host01 /]#
레이블을 제거합니다.
구문
ceph orch host label rm HOSTNAME LABEL
예제
[ceph: root@host01 /]# ceph orch host label rm host02 mon
검증
호스트를 나열합니다.
예
[ceph: root@host01 /]# ceph orch host ls
3.15.3. 호스트 레이블을 사용하여 특정 호스트에 데몬 배포
호스트 레이블을 사용하여 특정 호스트에 데몬을 배포할 수 있습니다. 호스트 레이블을 사용하여 특정 호스트에 데몬을 배포하는 방법은 다음 두 가지가 있습니다.
-
명령줄에서
--placement
옵션을 사용합니다. - YAML 파일을 사용합니다.
사전 요구 사항
- 설치 및 부트스트랩된 스토리지 클러스터입니다.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
프로세스
Cephadm 쉘에 로그인합니다.
예
[root@host01 ~]# cephadm shell
현재 호스트 및 레이블을 나열합니다.
예
[ceph: root@host01 /]# ceph orch host ls HOST ADDR LABELS STATUS host01 _admin mon osd mgr host02 mon osd mgr mylabel
방법 1: 명령줄에서 데몬을 배포하려면
--placement
옵션을 사용합니다.구문
ceph orch apply DAEMON --placement="label:LABEL"
예
[ceph: root@host01 /]# ceph orch apply prometheus --placement="label:mylabel"
메서드 2 YAML 파일의 특정 호스트 레이블에 데몬을 할당하려면 YAML 파일에 서비스 유형 및 라벨을 지정합니다.
placement.yml
파일을 생성합니다.예
[ceph: root@host01 /]# vi placement.yml
placement.yml
파일에 서비스 유형 및 라벨을 지정합니다.예
service_type: prometheus placement: label: "mylabel"
데몬 배치 파일을 적용합니다.
구문
ceph orch apply -i FILENAME
예제
[ceph: root@host01 /]# ceph orch apply -i placement.yml Scheduled prometheus update…
검증
데몬 상태를 나열합니다.
구문
ceph orch ps --daemon_type=DAEMON_NAME
예
[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