4.4. 스트레치 모드 사용 및 유지 관리
OSD 호스트를 추가하고, 데이터 센터 모니터 서비스 호스트를 관리하며, 쿼럼이 없는 모니터로 묶일러를 모니터로 교체하여 스트레치 모드를 사용 및 유지 관리합니다.
4.4.1. 스트레치 모드에서 OSD 호스트 추가 링크 복사링크가 클립보드에 복사되었습니다!
확장 모드에서 Ceph OSD를 추가할 수 있습니다. 절차는 스트레치 모드가 활성화되지 않은 클러스터에서 OSD 호스트를 추가하는 것과 유사합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 클러스터에서 활성화된 스트레치 모드입니다.
- 노드에 대한 루트 수준 액세스.
프로세스
OSD를 배포할 사용 가능한 장치를 나열합니다.
구문
ceph orch device ls [--hostname=HOST_1 HOST_2] [--wide] [--refresh]예
[ceph: root@host01 /]# ceph orch device ls특정 호스트 또는 사용 가능한 모든 장치에 OSD를 배포합니다.
특정 호스트의 특정 장치에서 OSD를 생성합니다.
구문
ceph orch daemon add osd HOST:DEVICE_PATH예
[ceph: root@host01 /]# ceph orch daemon add osd host03:/dev/sdb사용 가능한 사용되지 않는 장치에 OSD를 배포합니다.
중요이 명령은 배치된 WAL 및 DB 장치를 생성합니다. 공동 배치되지 않은 장치를 생성하려면 이 명령을 사용하지 마십시오.
예
[ceph: root@host01 /]# ceph orch apply osd --all-available-devices
CRUSH 버킷 아래의 OSD 호스트를 이동합니다.
구문
ceph osd crush move HOST datacenter=DATACENTER예
[ceph: root@host01 /]# ceph osd crush move host03 datacenter=DC1 [ceph: root@host01 /]# ceph osd crush move host06 datacenter=DC2참고두 사이트 모두에 동일한 토폴로지 노드를 추가해야 합니다. 호스트가 한 사이트에만 추가되면 문제가 발생할 수 있습니다.
4.4.2. 스트레치 모드에서 데이터 센터 모니터 서비스 호스트 관리 링크 복사링크가 클립보드에 복사되었습니다!
이 정보를 사용하여 스트레치 모드에서 데이터 센터 모니터 서비스(mon) 호스트를 추가하고 제거합니다. 데이터 센터 관리는 사양 파일을 사용하거나 Ceph 클러스터에서 직접 수행할 수 있습니다.
사전 요구 사항
시작하기 전에 다음 사전 요구 사항이 있는지 확인하십시오.
- 실행 중인 Red Hat Ceph Storage 클러스터
- 클러스터에서 활성화된 스트레치 모드
- 노드에 대한 루트 수준 액세스.
4.4.2.1. 서비스 사양 파일을 사용하여 mon 서비스 관리 링크 복사링크가 클립보드에 복사되었습니다!
이 단계에서는 mon 서비스를 추가하는 방법을 자세히 설명합니다. 서비스를 제거하려면 필요한 정보를 제거하여 서비스 사양 파일을 업데이트하는 동일한 단계를 사용합니다.
프로세스
mon에 대한 사양 파일을 내보내고 출력을
mon-spec.yaml에 저장합니다.구문
ceph orch ls mon --export > mon-spec.yaml파일을 내보낸 후 YAML 파일을 편집할 수 있습니다.
새 호스트 세부 정보를 추가합니다. 다음 예에서
host08이 클러스터에 DC2 데이터 센터 버킷에 추가되고 있습니다.구문
service_type: host addr: 10.1.172.225 hostname: host08 labels: - mon --- 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 host08: - datacenter=DC2사양 파일을 적용합니다.
구문
ceph orch apply -i mon-spec.yaml예
[ceph: root@host01 /]# eph orch apply -i mon-spec.yaml Added host 'host08' with addr '10.1.172.225' Scheduled mon update...
확인
ceph mon dump명령을 사용하여mon서비스가 배포되었고 적절한 CRUSH 위치가 모니터에 추가되었는지 확인합니다.예
[ceph: root@host01 /]# ceph mon dump epoch 16 fsid ff19789c-f5c7-11ef-8e1c-fa163e4e1f7e last_changed 2025-02-28T12:12:51.089706+0000 created 2025-02-28T11:34:59.325503+0000 min_mon_release 19 (squid) election_strategy: 3 stretch_mode_enabled 1 tiebreaker_mon host07 disallowed_leaders host07 0: [v2:10.0.56.37:3300/0,v1:10.0.56.37:6789/0] mon.host01; crush_location {datacenter=DC1} 1: [v2:10.0.59.188:3300/0,v1:10.0.59.188:6789/0] mon.host05; crush_location {datacenter=DC2} 2: [v2:10.0.59.35:3300/0,v1:10.0.59.35:6789/0] mon.host02; crush_location {datacenter=DC1} 3: [v2:10.0.56.189:3300/0,v1:10.0.56.189:6789/0] mon.host07; crush_location {datacenter=DC3} 4: [v2:10.0.56.13:3300/0,v1:10.0.56.13:6789/0] mon.host04; crush_location {datacenter=DC2} dumped monmap epoch 16ceph orch host ls를 사용하여 호스트가 클러스터에 추가되었는지 확인합니다.예
[ceph: root@host01 /]# ceph orch host ls HOST ADDR LABELS STATUS host01 10.0.56.37 mgr,mon,osd host02 10.0.59.35 mgr,mon,osd host03 10.0.58.106 osd,mds,rgw host04 10.0.56.13 osd,mon,mgr host05 10.0.59.188 mgr,mon,osd host06 10.0.56.223 rgw,mds,osd host07 10.0.56.189 _admin,mon 7 hosts in cluster
4.4.2.2. 명령줄 인터페이스를 사용하여 mon 서비스 관리 링크 복사링크가 클립보드에 복사되었습니다!
이 단계에서는 mon 서비스를 추가하는 방법을 자세히 설명합니다. 서비스를 제거하려면 필요한 정보를 제거하고 CLI로 업데이트하는 것과 동일한 단계를 사용합니다.
프로세스
모니터 서비스를
Unmanaged로 설정합니다.구문
ceph orch set-unmanaged mon선택 사항:
ceph orch ls명령을 사용하여 서비스가 예상대로 설정되었는지 확인합니다.예
[ceph: root@host01 /]# ceph orch host ls NAME PORTS RUNNING REFRESHED AGE PLACEMENT mon 8/8 10m ago 19s <unmanaged>mon레이블이 있는 새 호스트를 추가합니다.구문
ceph orch host add HOST_NAME IP_ADDRESS_OF_HOST [--label=LABEL_NAME_1,LABEL_NAME_2]예
[ceph: root@host01 /]# ceph orch host add host08 10.1.172.205 --labels=monCRUSH 위치로 모니터 서비스를 추가합니다.
참고현재 mon은 실행 중이 아니며 Cephadm에서 관리하지 않습니다.
구문
ceph mon add NODE:_IP_ADDRESS_ datacenter=DC2예
[ceph: root@host01 /]# ceph mon add host08:10.1.172.205 datacenter=DC2Cephadm을 사용하여 모니터 데몬을 배포합니다.
구문
ceph orch daemon add mon host08예
[ceph: root@host01 /]# ceph orch daemon add mon host08 Deployed mon.host08 on host 'host08'모니터 서비스에 대해 Cephadm 관리를 활성화합니다.
구문
ceph orch set-managed mon새로 추가된
mon데몬을 시작합니다.구문
ceph orch set-managed mgr
확인
서비스, 모니터링 및 호스트가 추가 및 실행 중인지 확인합니다.
ceph orch ls명령을 사용하여 서비스가 실행 중인지 확인합니다.예
[ceph: root@host01 /]# ceph orch host ls NAME PORTS RUNNING REFRESHED AGE PLACEMENT mon 8/8 7m ago 4d label:monceph mon dump명령을 사용하여mon서비스가 배포되었고 적절한 CRUSH 위치가 모니터에 추가되었는지 확인합니다.예
[ceph: root@host01 /]# ceph mon dump epoch 16 fsid ff19789c-f5c7-11ef-8e1c-fa163e4e1f7e last_changed 2025-02-28T12:12:51.089706+0000 created 2025-02-28T11:34:59.325503+0000 min_mon_release 19 (squid) election_strategy: 3 stretch_mode_enabled 1 tiebreaker_mon host07 disallowed_leaders host07 0: [v2:10.0.56.37:3300/0,v1:10.0.56.37:6789/0] mon.host01; crush_location {datacenter=DC1} 1: [v2:10.0.59.188:3300/0,v1:10.0.59.188:6789/0] mon.host05; crush_location {datacenter=DC2} 2: [v2:10.0.59.35:3300/0,v1:10.0.59.35:6789/0] mon.host02; crush_location {datacenter=DC1} 3: [v2:10.0.56.189:3300/0,v1:10.0.56.189:6789/0] mon.host07; crush_location {datacenter=DC3} 4: [v2:10.0.56.13:3300/0,v1:10.0.56.13:6789/0] mon.host04; crush_location {datacenter=DC2} dumped monmap epoch 16ceph orch host lscommmand를 사용하여 호스트가 클러스터에 추가되었는지 확인합니다.예
[ceph: root@host01 /]# ceph orch host ls HOST ADDR LABELS STATUS host01 10.0.56.37 mgr,mon,osd host02 10.0.59.35 mgr,mon,osd host03 10.0.58.106 osd,mds,rgw host04 10.0.56.13 osd,mon,mgr host05 10.0.59.188 mgr,mon,osd host06 10.0.56.223 rgw,mds,osd host07 10.0.56.189 _admin,mon 7 hosts in cluster
4.4.3. 쿼럼의 모니터로 tiebreaker 교체 링크 복사링크가 클립보드에 복사되었습니다!
tiebreaker 모니터가 실패하면 쿼럼의 기존 모니터로 교체하여 클러스터에서 제거할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터
- 클러스터에서 스트레치 모드 활성화
프로세스
자동화된 모니터 배포를 비활성화합니다.
예
[ceph: root@host01 /]# ceph orch apply mon --unmanaged Scheduled mon update…쿼럼의 모니터를 확인합니다.
예
[ceph: root@host01 /]# ceph -s mon: 5 daemons, quorum host01, host02, host04, host05 (age 30s), out of quorum: host07쿼럼의 모니터를 새 짝수로 설정합니다.
구문
ceph mon set_new_tiebreaker NEW_HOST예
[ceph: root@host01 /]# ceph mon set_new_tiebreaker host02중요모니터가 기존 non-tiebreaker 모니터와 동일한 위치에 있는 경우 오류 메시지가 표시됩니다.
예
[ceph: root@host01 /]# ceph mon set_new_tiebreaker host02 Error EINVAL: mon.host02 has location DC1, which matches mons host02 on the datacenter dividing bucket for stretch mode.이 경우 모니터의 위치를 변경합니다.
구문
ceph mon set_location HOST datacenter=DATACENTER예
[ceph: root@host01 /]# ceph mon set_location host02 datacenter=DC3실패한 연결 모니터를 제거합니다.
구문
ceph orch daemon rm FAILED_TIEBREAKER_MONITOR --force예
[ceph: root@host01 /]# ceph orch daemon rm mon.host07 --force Removed mon.host07 from host 'host07'모니터가 호스트에서 제거되면 모니터를 재배포합니다.
구문
ceph mon add HOST IP_ADDRESS datacenter=DATACENTER ceph orch daemon add mon HOST예
[ceph: root@host01 /]# ceph mon add host07 213.222.226.50 datacenter=DC1 [ceph: root@host01 /]# ceph orch daemon add mon host07쿼럼에 모니터 5개가 있는지 확인합니다.
예
[ceph: root@host01 /]# ceph -s mon: 5 daemons, quorum host01, host02, host04, host05, host07 (age 15s)모든 항목이 올바르게 구성되었는지 확인합니다.
예
[ceph: root@host01 /]# ceph mon dump epoch 19 fsid 1234ab78-1234-11ed-b1b1-de456ef0a89d last_changed 2023-01-17T04:12:05.709475+0000 created 2023-01-16T05:47:25.631684+0000 min_mon_release 16 (pacific) election_strategy: 3 stretch_mode_enabled 1 tiebreaker_mon host02 disallowed_leaders host02 0: [v2:132.224.169.63:3300/0,v1:132.224.169.63:6789/0] mon.host02; crush_location {datacenter=DC3} 1: [v2:220.141.179.34:3300/0,v1:220.141.179.34:6789/0] mon.host04; crush_location {datacenter=DC2} 2: [v2:40.90.220.224:3300/0,v1:40.90.220.224:6789/0] mon.host01; crush_location {datacenter=DC1} 3: [v2:60.140.141.144:3300/0,v1:60.140.141.144:6789/0] mon.host07; crush_location {datacenter=DC1} 4: [v2:186.184.61.92:3300/0,v1:186.184.61.92:6789/0] mon.host03; crush_location {datacenter=DC2} dumped monmap epoch 19모니터를 재배포합니다.
구문
ceph orch apply mon --placement="HOST_1, HOST_2, HOST_3, HOST_4, HOST_5”예
[ceph: root@host01 /]# ceph orch apply mon --placement="host01, host02, host04, host05, host07" Scheduled mon update...
4.4.4. 연결기를 새 모니터로 교체 링크 복사링크가 클립보드에 복사되었습니다!
tiebreaker 모니터가 실패하면 새 모니터로 교체하여 클러스터에서 제거할 수 있습니다.
사전 요구 사항
시작하기 전에 다음 사전 요구 사항이 있는지 확인하십시오.
- 실행 중인 Red Hat Ceph Storage 클러스터
- 클러스터에서 활성화된 스트레치 모드
프로세스
클러스터에 새 모니터를 추가합니다.
새 모니터에
crush_location을 수동으로 추가합니다.구문
ceph mon add NEW_HOST IP_ADDRESS datacenter=DATACENTER예
[ceph: root@host01 /]# ceph mon add host06 213.222.226.50 datacenter=DC3 adding mon.host06 at [v2:213.222.226.50:3300/0,v1:213.222.226.50:6789/0]참고새 모니터는 기존의 비티베이터 모니터와 다른 위치에 있어야 합니다.
자동화된 모니터 배포를 비활성화합니다.
예
[ceph: root@host01 /]# ceph orch apply mon --unmanaged Scheduled mon update…새 모니터를 배포합니다.
구문
ceph orch daemon add mon NEW_HOST예
[ceph: root@host01 /]# ceph orch daemon add mon host06
쿼럼에 6개의 모니터가 있는지 확인합니다.
예
[ceph: root@host01 /]# ceph -s mon: 6 daemons, quorum host01, host02, host04, host05, host06 (age 30s), out of quorum: host07새 모니터를 새 연결 관리자로 설정합니다.
구문
ceph mon set_new_tiebreaker NEW_HOST예
[ceph: root@host01 /]# ceph mon set_new_tiebreaker host06실패한 연결 모니터를 제거합니다.
구문
ceph orch daemon rm FAILED_TIEBREAKER_MONITOR --force예
[ceph: root@host01 /]# ceph orch daemon rm mon.host07 --force Removed mon.host07 from host 'host07'모든 항목이 올바르게 구성되었는지 확인합니다.
예
[ceph: root@host01 /]# ceph mon dump epoch 19 fsid 1234ab78-1234-11ed-b1b1-de456ef0a89d last_changed 2023-01-17T04:12:05.709475+0000 created 2023-01-16T05:47:25.631684+0000 min_mon_release 16 (pacific) election_strategy: 3 stretch_mode_enabled 1 tiebreaker_mon host06 disallowed_leaders host06 0: [v2:213.222.226.50:3300/0,v1:213.222.226.50:6789/0] mon.host06; crush_location {datacenter=DC3} 1: [v2:220.141.179.34:3300/0,v1:220.141.179.34:6789/0] mon.host04; crush_location {datacenter=DC2} 2: [v2:40.90.220.224:3300/0,v1:40.90.220.224:6789/0] mon.host01; crush_location {datacenter=DC1} 3: [v2:60.140.141.144:3300/0,v1:60.140.141.144:6789/0] mon.host02; crush_location {datacenter=DC1} 4: [v2:186.184.61.92:3300/0,v1:186.184.61.92:6789/0] mon.host05; crush_location {datacenter=DC2} dumped monmap epoch 19모니터를 재배포합니다.
구문
ceph orch apply mon --placement="HOST_1, HOST_2, HOST_3, HOST_4, HOST_5”예
[ceph: root@host01 /]# ceph orch apply mon --placement="host01, host02, host04, host05, host06" Scheduled mon update…