5.3. 사양 파일을 사용하여 Ceph 클러스터 부트스트랩
spec 구성 파일을 사용하여 CRUSH 위치를 클러스터의 데몬으로 설정하여 일반화된 확장 클러스터를 배포합니다.
서비스 구성 파일을 사용하여 CRUSH 위치를 클러스터의 데몬으로 설정합니다. 구성 파일을 사용하여 배포 중에 적절한 위치에 호스트를 추가합니다.
Ceph 부트스트랩 및 다른 cephadm bootstrap
명령 옵션에 대한 자세한 내용은 Red Hat Ceph Storage 설치 가이드에서 새 스토리지 클러스터 부팅을 참조하십시오.
클러스터의 초기 모니터 노드가 될 노드에서 cephadm bootstrap
을 실행합니다. IP_ADDRESS
옵션은 cephadm bootstrap
을 실행하는 데 사용 중인 노드의 IP 주소여야 합니다.
- 스토리지 클러스터에 여러 네트워크와 인터페이스가 포함된 경우 스토리지 클러스터를 사용하는 모든 노드에서 액세스할 수 있는 네트워크를 선택해야 합니다.
-
IPV6 주소를 사용하여 스토리지 클러스터를 배포하려면
--mon-ip <IP_ADDRESS
> 옵션에 IPV6 주소 형식을 사용합니다. 예:cephadm bootstrap --mon-ip 2620:52:0:880:90ff:fefc:2536 --registry-json /etc/mylogin.json
. -
내부 클러스터 트래픽을 공용 네트워크를 통해 라우팅하려면
--cluster-network SUBNET
옵션을 생략합니다.
이 절차에서는 CIDR(Classless Inter-Domain Routing)을 서브넷 이라고 합니다.
사전 요구 사항
노드에 대한 루트 수준 액세스 권한이 있는지 확인합니다.
프로세스
서비스 구성 YAML 파일을 생성합니다. YAML 파일은 노드를 Red Hat Ceph Storage 클러스터에 추가하고 서비스가 실행되는 위치에 대한 특정 레이블도 설정합니다. 다음 예제는 필요한 특정 OSD 및 Ceph Object Gateway(RGW) 구성에 따라 다릅니다.
구문
service_type: host hostname: HOST01 addr: IP_ADDRESS01 labels: ['alertmanager', 'osd', 'installer', '_admin', 'mon', 'prometheus', 'mgr', 'grafana'] location: root: default datacenter: DC1 --- service_type: host hostname: HOST02 addr: IP_ADDRESS02 labels: ['osd', 'mon', 'mgr', 'rgw'] location: root: default datacenter: DC1 --- service_type: host hostname: HOST03 addr: IP_ADDRESS03 labels: ['osd', 'mon', 'mds'] location: root: default datacenter: DC1 --- service_type: host hostname: HOST04 addr: IP_ADDRESS04 labels: ['osd', '_admin', 'mon', 'mgr'] location: root: default datacenter: DC2 --- service_type: host hostname: HOST05 addr: IP_ADDRESS05 labels: ['osd', 'mon', 'mgr', 'rgw'] location: root: default datacenter: DC2 --- service_type: host hostname: HOST06 addr: IP_ADDRESS06 labels: ['osd', 'mon', 'mds'] location: root: default datacenter: DC2 --- service_type: host hostname: HOST07 addr: IP_ADDRESS07 labels: ['osd', '_admin', 'mon', 'mgr'] location: root: default datacenter: DC3 --- service_type: host hostname: HOST08 addr: IP_ADDRESS08 labels: ['osd', 'mon', 'mgr', 'rgw'] location: root: default datacenter: DC3 --- service_type: host hostname: HOST09 addr: IP_ADDRESS09 labels: ['osd', 'mon', 'mds'] location: root: default datacenter: DC3 --- service_type: mon service_name: mon placement: label: mon spec: crush_locations: HOST01: - datacenter=DC1 HOST02: - datacenter=DC1 HOST03: - datacenter=DC1 HOST04: - datacenter=DC2 HOST05: - datacenter=DC2 HOST06: - datacenter=DC2 HOST07: - datacenter=DC3 HOST08: - datacenter=DC3 HOST09: - datacenter=DC3 --- service_type: mgr service_name: mgr placement: label: mgr ------ service_type: osd service_id: osds placement: label: osd spec: data_devices: all: true --------- service_type: rgw service_id: rgw.rgw.1 placement: label: rgw ------------
OSD 및 Object Gateway의 사용자 지정 사양을 변경하는 방법에 대한 자세한 내용은 Red Hat Ceph Storage 운영 가이드의 고급 서비스 사양을 사용하여 Ceph OSD 배포 지침을 참조하십시오. * Red Hat Ceph Storage Object Gateway 가이드의 서비스 사양을 사용하여 Ceph Object Gateway 배포.
--apply-spec
옵션을 사용하여 스토리지 클러스터를 부트스트랩합니다.구문
cephadm bootstrap --apply-spec CONFIGURATION_FILE_NAME --mon-ip MONITOR_IP_ADDRESS --ssh-private-key PRIVATE_KEY --ssh-public-key PUBLIC_KEY --registry-url REGISTRY_URL --registry-username USER_NAME --registry-password PASSWORD
예
[root@host01 ~]# cephadm bootstrap --apply-spec initial-config.yaml --mon-ip 10.10.128.68 --ssh-private-key /home/ceph/.ssh/id_rsa --ssh-public-key /home/ceph/.ssh/id_rsa.pub --registry-url registry.redhat.io --registry-username myuser1 --registry-password mypassword1
중요cephadm bootstrap
명령과 함께 다른 명령 옵션을 사용할 수 있지만 항상--apply-spec
옵션을 포함하여 서비스 구성 파일을 사용하고 호스트 위치를 구성할 수 있습니다.cephadm
쉘에 로그인합니다.구문
cephadm shell
예
[root@host01 ~]# cephadm shell
서브넷을 사용하여 공용 네트워크를 구성합니다. 클러스터에 여러 공용 네트워크를 구성하는 방법에 대한 자세한 내용은 Red Hat Ceph Storage 구성 가이드에서 클러스터에 여러 공용 네트워크 구성을 참조하십시오.
구문
ceph config set global public_network "SUBNET_1,SUBNET_2, ..."
예
[ceph: root@host01 /]# ceph config global mon public_network "10.0.208.0/22,10.0.212.0/22,10.0.64.0/22,10.0.56.0/22"
선택 사항: 클러스터 네트워크를 구성합니다. 클러스터에 여러 클러스터 네트워크를 구성하는 방법에 대한 자세한 내용은 Red Hat Ceph Storage 구성 가이드에서 프라이빗 네트워크구성을 참조하십시오.
구문
ceph config set global cluster_network "SUBNET_1,SUBNET_2, ..."
예
[ceph: root@host01 /]# ceph config set global cluster_network "10.0.208.0/22,10.0.212.0/22,10.0.64.0/22,10.0.56.0/22"
선택 사항: 네트워크 구성 확인.
구문
ceph config dump | grep network
예
[ceph: root@host01 /]# ceph config dump | grep network
데몬을 다시 시작합니다. Ceph 데몬은 동적으로 바인딩되므로 특정 데몬의 네트워크 구성을 변경하는 경우 한 번에 전체 클러스터를 다시 시작할 필요가 없습니다.
구문
ceph orch restart mon
선택 사항: admin 노드에서 root 사용자로 클러스터를 다시 시작하려면
systemctl restart
명령을 실행합니다.참고클러스터의 FSID를 가져오려면
ceph fsid
명령을 사용합니다.구문
systemctl restart ceph-FSID_OF_CLUSTER.target
예
[root@host01 ~]# systemctl restart ceph-1ca9f6a8-d036-11ec-8263-fa163ee967ad.target
검증
사양 파일 세부 정보와 부트스트랩이 성공적으로 설치되었는지 확인합니다.
절차의 1 단계에 지정된 대로 모든 호스트가 예상 데이터 센터에 배치되었는지 확인합니다.
구문
ceph osd tree
root 아래에 3개의 데이터 센터가 있고 호스트가 예상되는 각 데이터 센터에 배치되었는지 확인합니다.
참고OSD가 있는 호스트는 사양 파일을 사용하여 부트스트랩 중에 OSD가 배포되는 경우에만 부트스트랩 후 표시됩니다.
예
[root@host01 ~]# ceph osd tree ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 0.87836 root default -3 0.29279 datacenter DC1 -2 0.09760 host host01-installer 0 hdd 0.02440 osd.0 up 1.00000 1.00000 12 hdd 0.02440 osd.12 up 1.00000 1.00000 21 hdd 0.02440 osd.21 up 1.00000 1.00000 29 hdd 0.02440 osd.29 up 1.00000 1.00000 -4 0.09760 host host02 1 hdd 0.02440 osd.1 up 1.00000 1.00000 9 hdd 0.02440 osd.9 up 1.00000 1.00000 18 hdd 0.02440 osd.18 up 1.00000 1.00000 28 hdd 0.02440 osd.28 up 1.00000 1.00000 -5 0.09760 host host03 8 hdd 0.02440 osd.8 up 1.00000 1.00000 16 hdd 0.02440 osd.16 up 1.00000 1.00000 24 hdd 0.02440 osd.24 up 1.00000 1.00000 34 hdd 0.02440 osd.34 up 1.00000 1.00000 -7 0.29279 datacenter DC2 -6 0.09760 host host04 4 hdd 0.02440 osd.4 up 1.00000 1.00000 13 hdd 0.02440 osd.13 up 1.00000 1.00000 20 hdd 0.02440 osd.20 up 1.00000 1.00000 27 hdd 0.02440 osd.27 up 1.00000 1.00000 -8 0.09760 host host05 3 hdd 0.02440 osd.3 up 1.00000 1.00000 10 hdd 0.02440 osd.10 up 1.00000 1.00000 19 hdd 0.02440 osd.19 up 1.00000 1.00000 30 hdd 0.02440 osd.30 up 1.00000 1.00000 -9 0.09760 host host06 7 hdd 0.02440 osd.7 up 1.00000 1.00000 17 hdd 0.02440 osd.17 up 1.00000 1.00000 26 hdd 0.02440 osd.26 up 1.00000 1.00000 35 hdd 0.02440 osd.35 up 1.00000 1.00000 -11 0.29279 datacenter DC3 -10 0.09760 host host07 5 hdd 0.02440 osd.5 up 1.00000 1.00000 14 hdd 0.02440 osd.14 up 1.00000 1.00000 23 hdd 0.02440 osd.23 up 1.00000 1.00000 32 hdd 0.02440 osd.32 up 1.00000 1.00000 -12 0.09760 host host08 2 hdd 0.02440 osd.2 up 1.00000 1.00000 11 hdd 0.02440 osd.11 up 1.00000 1.00000 22 hdd 0.02440 osd.22 up 1.00000 1.00000 31 hdd 0.02440 osd.31 up 1.00000 1.00000 -13 0.09760 host host09 6 hdd 0.02440 osd.6 up 1.00000 1.00000 15 hdd 0.02440 osd.15 up 1.00000 1.00000 25 hdd 0.02440 osd.25 up 1.00000 1.00000 33 hdd 0.02440 osd.33 up 1.00000 1.00000
- cephadm 쉘에서 프로세스의 1단계에 지정된 대로 mon 데몬이 CRUSH 위치에 배포되었는지 확인합니다.
구문
ceph mon dump
+ 모든 mon 데몬이 출력에 있고 올바른 CRUSH 위치가 추가되었는지 확인합니다.
+ .example ---[root@host01 ~]# ceph mon dump epoch 19 fsid b556497a-693a-11ef-b9d1-fa163e841fd7 last_changed 2024-09-03T12:47:08.419495+0000 생성 2024-09-02T14:50:51.49810000 min_mon_release 19 (squid) election_strategy: 3 0: [v2:10.0.67.43:3300/0, v1:10.0.67.43:6789/0] mon.host01-installer; crush_location {datacenter=DC1} 1: [v2:10.0.67.67.20:10.0.67.20:6789/0] mon.host02; crush_location {datacenter=DC1} 2: [v2:10.0.67.67.20:6789/0] mon.host02; [v2:10.0.30024. v1:10.0.64.242:6789/0] mon.host03; crush_location {datacenter=DC1} 3: [v2:10.0.66.17:3300/0,v1:66.17:6789/0] mon.host06; crush_location {datacenter=DC2} 4: [v2:10.0.66.17:6789/0] 4: [v2:10.0.66.17:6789/0] v1:10.0.66.228:6789/0] mon.host09; crush_location {datacenter=DC3} 5: [v2:10.0.65.65.1300/0,v1:10.0.65.125:6789/0] mon.host05; crush_location {datacenter=DC2}: [v2:10.0.65.65.125:6789/0] mon.host. v1:10.0.66.252:6789/0] mon.host07; crush_location {datacenter=DC3} 7: [v2:10.0.64.145:0:10.0.64.145:6789/0] mon.host08; crush_location {datacenter=DC3} 8: [v2:10.0.64.64.145.145.6789/0] mon.h_location {datacenter=DC3} v1:10.0.64.125.125:6789/0] mon.host04; crush_location {datacenter=DC2} 덤프된 monmap epoch 19 ---
서비스 사양 및 모든 위치 속성이 올바르게 추가되었는지 확인합니다.
ceph orch ls
명령을 사용하여 클러스터에서 mon 데몬의 서비스 이름을 확인합니다.예
[root@host01 ~]# ceph orch ls NAME PORTS RUNNING REFRESHED AGE PLACEMENT alertmanager ?:9093,9094 1/1 8m ago 6d count:1 ceph-exporter 9/9 8m ago 6d * crash 9/9 8m ago 6d * grafana ?:3000 1/1 8m ago 6d count:1 mds.cephfs 3/3 8m ago 6d label:mds mgr 6/6 8m ago 6d label:mgr mon 9/9 8m ago 5d label:mon node-exporter ?:9100 9/9 8m ago 6d * osd.all-available-devices 36 8m ago 6d label:osd prometheus ?:9095 1/1 8m ago 6d count:1 rgw.rgw.1 ?:80 3/3 8m ago 6d label:rgw
ceph orch ls mon --export
명령을 사용하여 mon 데몬 서비스를 확인합니다.예
[root@host01 ~]# ceph orch ls mon --export service_type: mon service_name: mon placement: label: mon spec: crush_locations: host01-installer: - datacenter=DC1 host02: - datacenter=DC1 host03: - datacenter=DC1 host04: - datacenter=DC2 host05: - datacenter=DC2 host06: - datacenter=DC2 host07: - datacenter=DC3 host08: - datacenter=DC3 host09: - datacenter=DC3
-
cephadm shell
ceph -s
명령을 실행하여 부트스트랩이 성공적으로 설치되었는지 확인합니다. 자세한 내용은 클러스터 설치 확인을 참조하십시오.