[Ceph Storage] 주요 아키텍처와 개념
Ceph는 분산 파일 시스템으로, 대용량 데이터를 저장하고 관리할 수 있는 솔루션입니다. Ceph는 안정성, 가용성, 확장성, 성능, 유연성 등의 장점을 가지고 있으며, 이러한 장점들은 Ceph의 아키텍처와 주요 개념에서 비롯됩니다. 이 글에서는 Ceph Storage의 아키텍처와 주요 개념에 대해 설명합니다.
Ceph의 아키텍처
Ceph의 아키텍처는 크게 3가지로 나눌 수 있습니다.
1. RADOS
Ceph의 기본 저장 시스템은 Reliable Autonomic Distributed Object Store (RADOS)입니다. RADOS는 클러스터 내에 저장된 오브젝트들을 관리하고, 안정성과 가용성을 유지하기 위한 분산 알고리즘을 구현합니다.
각 오브젝트는 고유한 이름으로 식별되며, RADOS는 각 오브젝트를 클러스터 내의 다수의 노드에 분산 저장합니다. 각 노드는 Object Storage Device (OSD) 데몬을 실행하고, 오브젝트를 저장하고 관리합니다. RADOS는 OSD 데몬을 이용하여 오브젝트의 복제, 부분 복제, 스트라이핑 등의 기능을 구현합니다.
2. RBD
RADOS Block Device (RBD)는 Ceph에서 제공하는 블록 스토리지입니다. RBD는 Ceph 클러스터의 오브젝트를 블록 디바이스로 제공하며, 이를 이용하여 가상 머신, 컨테이너 등에 스토리지를 제공할 수 있습니다.
3. CephFS
Ceph File System (CephFS)는 POSIX 호환 파일 시스템으로, 클러스터 내의 저장 공간을 파일 시스템으로 제공합니다. CephFS는 각 노드에서 실행되는 Metadata Server (MDS) 데몬으로 구성됩니다. MDS 데몬은 파일 시스템의 메타데이터를 관리하고, 파일 시스템 클라이언트의 요청을 처리합니다.
Ceph의 주요 개념
Ceph에서 사용되는 주요 개념은 다음과 같습니다.
1. OSD
Object Storage Device (OSD)는 Ceph 클러스터 내의 저장 노드입니다. 각 OSD 데몬은 오브젝트의 저장, 검색, 관리 등을 수행합니다. OSD 데몬은 데이터를 복제하여 안정성과 가용성을 유지합니다.
2. PG
Placement Group (PG)는 OSD의 그룹으로, 각 PG는 하나 이상의 오브젝트를 저장합니다. PG는 오브젝트의 복제, 스트라이핑 등을 수행하며, 각 PG는 다수의 OSD에 걸쳐 분산됩니다.
3. CRUSH
Controlled Replication Under Scalable Hashing (CRUSH)는 Ceph에서 사용되는 분산 알고리즘입니다. CRUSH는 클러스터 내의 OSD와 PG를 동적으로 관리하며, 안정성과 가용성을 유지합니다. CRUSH는 데이터를 저장할 OSD를 선택하는 방식을 결정하고, 데이터의 복제, 부분 복제, 스트라이핑 등을 구현합니다.
4. MON
Monitor (MON)는 Ceph 클러스터의 상태를 모니터링하고, 각 노드의 OSD와 MDS 데몬을 관리합니다. MON은 클러스터의 구성 정보를 관리하며, OSD, PG, MDS 등의 정보를 추적합니다.
5. MDS
Metadata Server (MDS)는 CephFS에서 사용되는 메타데이터 서버입니다. MDS는 파일 시스템의 디렉토리 구조, 파일 이름, 권한 등의 정보를 관리하며, 파일 시스템 클라이언트의 요청을 처리합니다.
6. RADOS Gateway
RADOS Gateway는 Ceph에서 제공하는 오브젝트 스토리지 서비스입니다. RADOS Gateway는 클라우드 스토리지와 같은 RESTful 인터페이스를 제공하며, S3, Swift 등의 프로토콜을 지원합니다.
결론
Ceph는 안정성, 가용성, 확장성, 성능, 유연성 등의 장점을 가지고 있는 분산 파일 시스템입니다. Ceph의 아키텍처와 주요 개념들을 이해하면, Ceph의 구성과 동작 방식을 이해하는 데 큰 도움이 됩니다. Ceph는 다양한 분야에서 사용될 수 있는 유연한 솔루션으로, 대용량 데이터를 저장하고 관리하는 데 있어서 매우 유용한 도구입니다.