Ceph는 오픈 소스 Software-defined 분산 스토리지 플랫폼으로, 고성능, 확장성, 그리고 신뢰성을 제공하며 다양한 스토리지 요구사항을 충족시키기 위해 개발되었습니다. 일반 하드웨어와 이더넷 IP를 사용하여 특정 하드웨어 요구 사항 없이 데이터를 안전하게 복제하고 보관합니다. 그리고 Ceph는 복제, Erasure Coding, Snapshot, Clone등의 기술을 이용해 고가용성과 강력한 데이터 내구성을 보장합니다.
Ceph 스토리지 시스템의 주요 기능
RADOS(Reliable Autonomic Distributed Object Store)
- Ceph의 핵심 구성요소, 분산 객체 스토리지 시스템을 구현
- 모든 스토리지 서비스의 기반이 되는 저장소로, 데이터를 여러 노드에 분산 저장하여 고가용성과 확장성을 제공
- 데이터의 복제본을 주기적으로 검사하고, 필요에 따라 복제본을 복구
Ceph File System (CephFS)
- POSIX 호환 파일 시스템으로, 메타데이터 서버(MDS)가 파일 시스템의 디렉토리와 파일 이름을 RADOS 클러스터 내의 객체에 매핑
- 메타데이터 서버 클러스터는 확장 또는 축소 가능하며, 파일 시스템 메타데이터를 클러스터 호스트 간에 동적으로 재분배하여 높은 성능과 데이터의 고른 분산을 보장
RADOS Block Device (RBD)
- Ceph에서 제공하는 블록 스토리지 인터페이스
- 클라이언트에게 Thin Provisioning 기능을 갖춘 블록 디바이스를 제공
- 애플리케이션이 블록 디바이스를 사용하여 데이터를 쓸 때, Ceph는 자동으로 데이터를 스트라이핑하고 복제
- RDB는 가상화 플랫폼에서 가상 머신에 블록 스토리지를 제공할 수 있음
Object Storage
- Ceph RADOS GateWay (ceph-rgw)를 통해 분산 객체 스토리지를 구현
- 비동기 통신을 통해 클러스터 내의 객체에 직접 접근이 가능
LIBRADOS
- RADOS에 대한 클라이언트 라이브러리로, 애플리케이션이 직접 Ceph 클러스터와 상호작용할 수 있도록 지원
Ceph 스토리지 클러스터의 구성 요소
Ceph 모니터 (ceph-mon)
- 클러스터의 상태 맵을 유지하고, Ceph 클라이언트에게 클러스터 상태 맵을 제공
- 실패 또는 활성화된 클러스터 노드를 추적하며, 인증을 관리
Ceph OSD (ceph-osd)
- 데이터를 객체로 저장하며, BlueStore 백엔드를 통해 데이터를 직접 관리
Ceph 매니저 (ceph-mgr)
- 모니터링, 오케스트레이션 및 플러그인 모듈의 엔드포인트 역할
메타데이터 서버 (ceph-mds)
- CephFS 파일 시스템에서 파일 메타데이터를 관리하고 접근을 중개
HTTP 게이트웨이 (ceph-rgw)
- 객체 스토리지 계층을 Amazon S3 또는 OpenStack Swift API와 호환되는 인터페이스로 노출
데이터 저장 및 접근
- Ceph 스토리지 클러스터는 Ceph 블록 디바이스, Ceph OSD, CephFS을 통해 데이터를 수신
- 클라이언트는 데이터를 클러스터에 쓰거나 읽기 위해 Ceph 모니터와 통신하여 클러스터 맵의 최신 복사본을 얻어야 함
- 데이터는 RADOS OSD로 저장되며, OSD는 스토리지 드라이브에서 읽기, 쓰기, 복제 작업을 제어
참고
https://en.wikipedia.org/wiki/Ceph_(software)
Ceph (software) - Wikipedia
From Wikipedia, the free encyclopedia Open-source storage platform Ceph StorageOriginal author(s)Inktank Storage (Sage Weil, Yehuda Sadeh Weinraub, Gregory Farnum, Josh Durgin, Samuel Just, Wido den Hollander)Developer(s)Red Hat, Intel, CERN, Cisco, Fujits
en.wikipedia.org
https://www.techtarget.com/searchstorage/definition/Ceph
https://docs.ceph.com/en/latest/start/beginners-guide/