ceph - Jaram2018/openstack-study GitHub Wiki
Ceph
Ceph
은 object, block 및 file storage를 제공하는 단일 통합 시스템
RADOS
- Reliable Autonomic Distributed Object Store(신뢰할 수 있는 자동 분산 오브젝트 스토어)의 줄임말
- 가변 길이의 오브젝트에 대한 극도(extremely)로 스케일 가능한 스토리지 서비스
RADOS 특징
- Reliable: Multiple Replicas
- Autonomous: Self Healing; auto Recovering, maintain every single piece of data
- Distributed: Data / Replicas spread across nodes/racks/DataCenters
- Scalable: CERN(유럽 물리 입자 연구소)에서 10,000 vm가 돌고 있음. 꽤 scalable.
- Client는 Data에 바로 접근가능
- Copy-on-write로 공간을 절약함
Install
Daemons
- Cluster monitors -
ceph-mon
: 말그대로 모니터
- Metadata servers -
ceph-mds
: inode와 directory의 메타데이터를 저장
- Object Storage Devices -
ceph-osd
: disk storage를 사용하거나 파일 시스템의 파일의 컨텐츠를 저장
- Restful gateway -
ceph-rgw
: Amazon S3와 Openstack swift와 호환되는 object storage layer interface
ARCHITECTURE

RADOS Block Device
, RADOS Gateway
및 Ceph File System
을 제공
Ceph FS
은 직접적으로 RADOS에 접근이 가능하지만 RADOS gateway
와 RBD
는 librados
를 통해서 접근 해야함
librados
- C, C++, JAVA, Python 사용 가능하며 TCP/IP 통신을 기반한 raw socket를 사용하여 통신이 이루어진다. HTTP를 사용하지 않고 direct로 연결이 되기 때문에 HTTP overhead를 가지지 않는다.
Rados GW
- S3나 Swift을 통해서 Rados cluster에 저장
- RestAPI
RBD
- RADOS의 이미지 저장소
- Openstack interface with RADOS
Object Storage
- RADOS Block Device, RADOS Gateway 및 Ceph File System을 제공
librados
는 C, C++, JAVA, Python으로 구현되어있음
참고