6.11. Ceph Orchestrator를 사용하여 OSD 교체
디스크가 실패하면 물리적 스토리지 장치를 교체하고 동일한 OSD ID를 재사용하여 CRUSH 맵을 재구성할 필요가 없습니다.
--replace 옵션을 사용하여 클러스터의 OSD를 교체할 수 있습니다.
단일 OSD를 교체하려면 특정 장치 및 호스트에 Ceph OSD 배포를 참조하십시오. 사용 가능한 모든 장치에 OSD를 배포하려면 사용 가능한 모든 장치에 Ceph OSD 배포를 참조하십시오.
이 옵션은 ceph orch rm 명령을 사용하여 OSD ID를 유지합니다. OSD는 CRUSH 계층에서 영구적으로 제거되지 않지만 삭제 플래그가 할당됩니다. 이 플래그는 다음 OSD 배포에서 재사용할 수 있는 OSD ID를 결정하는 데 사용됩니다. 삭제된 플래그는 다음 OSD 배포에서 재사용되는 OSD ID를 결정하는 데 사용됩니다.
rm 명령과 유사하게 클러스터에서 OSD를 교체하려면 다음 두 단계가 필요합니다.
- 클러스터에서 모든 배치 그룹(PG)을 비웁니다.
- 클러스터에서 PG가 없는 OSD 제거.
배포에 OSD 사양을 사용하는 경우 새로 추가된 디스크에 교체된 항목의 OSD ID가 할당됩니다.
OSD를 제거한 후 드라이브가 다시 사용 가능하게 되면 OSD가 다시 사용 가능하게 되면 기존 drivegroup 사양과 일치하는 경우 cephadm 에서 이러한 드라이브에 더 많은 OSD를 자동으로 배포할 수 있습니다. 사양으로 제거 중인 OSD를 배포하고 제거 후 드라이브에 새 OSD를 배포하지 않으려면 제거 전에 drivegroup 사양을 수정합니다. OSD를 배포하는 동안 --all-available-devices 옵션을 사용한 경우 unmanaged: true 를 설정하여 새 드라이브를 전혀 선택하지 않도록 합니다. 기타 배포의 경우 사양을 수정합니다. 자세한 내용은 고급 서비스 사양을 사용하여 Ceph OSD 배포를 참조하십시오.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 호스트가 클러스터에 추가됩니다.
- 모니터, 관리자 및 OSD 데몬은 스토리지 클러스터에 배포됩니다.
- 제거된 OSD를 대체하는 새 OSD는 OSD가 제거된 동일한 호스트에서 생성해야 합니다.
프로세스
Cephadm 쉘에 로그인합니다.
예
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 향후 참조를 위해 OSD 구성 매핑을 덤프하고 저장해야 합니다.
예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD를 교체해야 하는 장치 및 노드를 확인합니다.
예
[ceph: root@host01 /]# ceph osd tree
[ceph: root@host01 /]# ceph osd treeCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD를 교체합니다.
중요스토리지 클러스터에
health_warn또는 기타 오류가 연결된 경우 OSD를 교체하기 전에 오류를 확인하고 수정하여 데이터 손실을 방지합니다.구문
ceph orch osd rm OSD_ID --replace [--force]
ceph orch osd rm OSD_ID --replace [--force]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터에 지속적인 작업이 있는 경우
--force옵션을 사용할 수 있습니다.예
[ceph: root@host01 /]# ceph orch osd rm 0 --replace
[ceph: root@host01 /]# ceph orch osd rm 0 --replaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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 사양을 적용합니다.
예
[ceph: root@node /]# ceph orch pause [ceph: root@node /]# ceph orch status Backend: cephadm Available: Yes Paused: Yes
[ceph: root@node /]# ceph orch pause [ceph: root@node /]# ceph orch status Backend: cephadm Available: Yes Paused: YesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 제거된 OSD 장치를 zap합니다.
예
[ceph: root@node /]# ceph orch device zap node.example.com /dev/sdi --force zap successful for /dev/sdi on node.example.com [ceph: root@node /]# ceph orch device zap node.example.com /dev/sdf --force zap successful for /dev/sdf on node.example.com
[ceph: root@node /]# ceph orch device zap node.example.com /dev/sdi --force zap successful for /dev/sdi on node.example.com [ceph: root@node /]# ceph orch device zap node.example.com /dev/sdf --force zap successful for /dev/sdf on node.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 일시 중지 모드에서 Orcestrator를 다시 시작
예
[ceph: root@node /]# ceph orch resume
[ceph: root@node /]# ceph orch resumeCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD 교체 상태를 확인합니다.
예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
Ceph OSD가 교체되는 장치 및 노드의 세부 정보를 확인합니다.
예
[ceph: root@host01 /]# ceph osd tree
[ceph: root@host01 /]# ceph osd treeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 동일한 호스트에서 실행 중인 것과 동일한 ID가 있는 OSD를 확인할 수 있습니다.
새로 배포된 OSD의
db_device가 교체된db_device인지 확인합니다.예
[ceph: root@host01 /]# ceph osd metadata 0 | grep bluefs_db_devices "bluefs_db_devices": "nvme0n1", [ceph: root@host01 /]# ceph osd metadata 1 | grep bluefs_db_devices "bluefs_db_devices": "nvme0n1",
[ceph: root@host01 /]# ceph osd metadata 0 | grep bluefs_db_devices "bluefs_db_devices": "nvme0n1", [ceph: root@host01 /]# ceph osd metadata 1 | grep bluefs_db_devices "bluefs_db_devices": "nvme0n1",Copy to Clipboard Copied! Toggle word wrap Toggle overflow