본문 바로가기

미분류/SIDE

INTRO TO CEPH

Ceph Storage Cluster의 배포는 각 Ceph Node, Network, Ceph Storage Cluster 설정으로 시작된다.  Ceph Storage Cluster는 최소 1개의 Ceph Monitor, Ceph Manager, Ceph OSD (Object Storage Daemon)을 필요로 한다. Ceph File System Client를 실행할 때 Ceph Metadata Server도 필요하다. 

- Monitors : Ceph Monitor(ceph-mon)는 Monitor, Manager, OSD, MDS, CRUSH의 맵을 포함하여 클러스터의 상태 맵을 유지한다. 맵은 Ceph 데몬들이 서로 상태를 유지 할 때 필요하다. Monitor는 데몬과 클라이언트 간의 인증을 담당하다. 중복성 및 고가용성을 위해 최소 3개의 모니터가 필요하다. 

- Managers : Ceph Manager(ceph-mgr)는 스토리지 사용률, 현재 성능 및 시스템 로드를 포함하여 ceph 클러스터의 현재 상태를 추적한다. Ceph Manager는 웹 기반 Ceph Dashboard 및 REST API를 포함하고 있어 Python 기반의 모듈을 호스팅한다. 고가용성을 위해 두 개 이상의 관리자가 필요하다.

- Ceph OSDs : Ceph OSD는 다른 Ceph OSD 데몬에서 하트 비트를 검사하여 데이터를 저장하고 데이터의 복제, 복구, 밸런싱을 처리한다. Ceph 모니터 및 관리자에게 모니터링 정보도 제공한다. 중복성 및 고가용성을 위해서 일반적으로 최소 3개의 Ceph OSD가 필요하다.

- MDSs : Ceph Metadata Server(MDS, ceph-mds)는 Ceph 파일 시스템을 대신하여 메타 데이터를 저장한다. (Ceph Block Devices, Object Storage는 MDS를 사용하지 않는다) Ceph MDS를 사용하면 POSIX 파일 시스템 유저는 Ceph 크러스터에 큰 부담을 주지 않으면서 ls, find와 같은 명령어를 실행할 수 있다.

 Ceph는 논리적인 스토리지 풀에서 오브젝트로 데이터를 저장한다. Ceph는 CRUSH 알고리즘을 사용하여 어떤 위치에 개체가 포함되어야 하는지, OSD 데몬이 얼마나 더 필요한지 계산한다. CRUSH 알고리즘을 사용하여 Ceph Storage Cluster는 동적으로 확장, 재조정 및 복구가 가능하다.