Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

Cloud-Native Ceph 스토리지 소개와 구현

IBM Expert Labs Subscription


Geunpil Kwon <Geunpil.Kwon@ibm.com>
목차

1. Ceph 소개
2. Rook-Ceph 소개
3. ODF (OpenShift Data Foundation) 소개
4. Rook-Ceph vs. ODF (OpenShift Data Foundation)
5. 참고 사항

IBM Automation © 2023 IBM Corporation Page 1


1. Ceph 소개
Ceph 가 무엇이며, 왜 멋진가?

● 오픈 소스 소프트웨어 정의 스토리지
● 통합 스토리지 플랫폼 (블록, 오브젝트 및 파일 스토리지)
● 범용 하드웨어에서 실행
● 자가 관리, 자가 치유
● 대규모 확장성
● 단일 장애 지점 없음
● 클라우드 인프라 및 새로운 워크로드에 맞게 설계됨

Ceph 에 대한 정보는 어디서 얻을 수 있는가?

● https://ceph.io
● https://github.com/ceph/ceph

IBM Automation © 2023 IBM Corporation Page 2


1. Ceph 소개 > 아키텍처
Ceph 아키텍처

Ceph 아키텍처:
https://docs.ceph.com/en/latest/architecture

CRUSH 알고리즘:
Controlled, Scalable, Decentralized Placement of Replicated Data

Ceph 클라이언트와 Ceph OSD 데몬은 모두 중앙


조회 테이블에 의존하지 않고 CRUSH 알고리즘을
사용하여 오브젝트 위치에 대한 정보를 효율적으로
계산합니다. CRUSH는 이전 접근 방식에 비해 더
나은 데이터 관리 메커니즘을 제공하며, 클러스터의
모든 클라이언트와 OSD 데몬에 작업을 깔끔하게
분산하여 대규모 확장을 가능하게 합니다. CRUSH는
지능형 데이터 복제를 사용해 복원력을 보장하므로
하이퍼스케일 스토리지에 더 적합합니다.

CRUSH 알고리즘에 대해 궁금하신가요?


https://ceph.io/assets/pdfs/weil-crush-sc06.pdf

IBM Automation © 2023 IBM Corporation Page 3


1. Ceph 소개 > 스토리지 서비스
Ceph는 하나의 통합된 시스템에서 오브젝트, 블록, 파일 스토리지를 제공

IBM Automation © 2023 IBM Corporation Page 4


1. Ceph 소개 > 컴포넌트
Ceph 컴포넌트 (프로세스) MON (Ceph Monitor)
● 클러스터 구성 및 노드 상태, 데이터 배치 등
전반적인 클러스터에 대한 정보를 관리
● 정족수 쿼럼을 위해 홀수개로 구성

MGR (Ceph Manager)


● 클러스터 관리를 위한 웹인터페이스 및 클러스터
상태에 대한 메트릭스 제공

OSD (Ceph Object Storage Daemon)


● 디스크 컨트롤 및 파일 데이터 관리
● 디스크 마다 1개 (또는 N개)로 구성
Ceph 클러스터는 5가지의 핵심 컴포넌트로 MDS (Ceph Metadata Server)
구성 ● CephFS 파일 시스템 내부의 아이노드와
디렉터리에 대한 메타정보를 캐싱
● 고가용성을 위해 액티브 / 스탠바이로 구성

RGW (Ceph RADOS Gateway)


● Amazon S3 및 OpenStack Swift 프로토콜 접근을
위한 웹 브로커
● 고가용성을 위해 1+N개로 구성

IBM Automation © 2023 IBM Corporation Page 5


1. Ceph 소개 > 안전성
국내 사례 (2018년)

2018년 아시아 Ceph 컨퍼런스

“넷마블은 총 8개의 Ceph 클러스터를


1900+ 이상의 디스크 (OSD)로 4 PB
이상을 OpenStack Cinder 백엔드, VM
블록 스토리지 및 S3 스토리지로 사용하며,
41개의 게임 서비스를 운영”

2023년 5월 1일

“We are excited to announce we have


reached the 1 exabyte milestone of Ceph
storage, reported through our telemetry
by more than 2,500 Ceph clusters in the
community.”

https://ceph.io/en/news/blog/2023/telemetry-cel
IBM Automation © 2023 IBM Corporation ebrate-1-exabyte Page 6
2. Rook-Ceph 소개
Rook-Ceph 가 무엇인가?

● Ceph 클러스터 관리의 부담을 Operator 가 수행


● Cloud-Native 환경으로 Ceph 클러스터를 구성 (K8S, OCP)
● Ceph 클러스터 자동 확장
● CSI (Container Storage Interface) 준수
○ CSI 프로비저너 및 CSI 드라이버 통합
○ StorageClass를 통한 동적 볼륨 프로비저닝
○ 볼륨 확장, 스냅샷, 미러링
● CNCF Graduation 프로젝트 (2020년 10월)

Rook-Ceph 에 대한 정보는 어디서 얻을 수 있는가?

● https://rook.io
● https://github.com/rook/rook

IBM Automation © 2023 IBM Corporation Page 7


2. Rook-Ceph 소개 > 아키텍처
Rook-Ceph 아키텍처

Ceph 클러스터 변경을 동적으로 재구성

CSI 프로비저너와 CSI 플러그인이 PVC (Persistent Volume Claim)


사용 컨테이너가 스케줄링 된 노드에 스토리지를 자동 마운트하여
컨테이너 내부에서 사용 가능

IBM Automation © 2023 IBM Corporation Page 8


2. Rook-Ceph 소개 > CRD (사용자 리소스 정의)
Rook-Ceph CRDs

CephCluster (Top-level CRD)

● CephBlockPool (Block Storage) ● CephNFS (Ganesha NFS)


○ CephBlockPoolRadosNamespace
○ CephRBDMirror ● CephClient (Application Client using RBD
library)
● CephFilesystem (Shared Filesystem)
○ CephFilesystemSubVolumeGroup
○ CephFileSystemMirror
Rook Ceph Custom Resource Specification:
● CephObjectStore (Object Storage) https://rook.io/docs/rook/v1.11/CRDs/Cluster/ceph-cluster-crd
○ CephObjectStoreUsers
○ CephObjectRealm
Rook Ceph Custom Resource Examples:
○ CephObjectZone
https://github.com/rook/rook/tree/master/deploy/examples
○ CephObjectZoneGroup
○ CephBucketTopic
○ CephBucketNotification

IBM Automation © 2023 IBM Corporation Page 9


3. ODF (OpenShift Data Foundation) 소개 > 아키텍처
ODF 가 무엇인가?

● 안정성이 검증된 오픈소스 버전을 Red Hat에서 패키징


● Rook-Ceph 와 함께 MCG (Multicloud Object Gateway) 기능이 추가
● 간결한 배포와 데이터 안정성 중심의 기본 설정
● OpenShift 관리 콘솔에서 통합 관리

ODF 에 대한 정보는 어디서 얻을 수 있는가?

● https://access.redhat.com/documentation/en-us/red_hat_openshift_data_foundation

IBM Automation © 2023 IBM Corporation Page 10


3. ODF (OpenShift Data Foundation) 소개
ODF 아키텍처

ODF 계층 구조
ODF Operator
● OCS Operator
○ Rook-Ceph Operator
○ MCG Operator (NooBaa)

IBM Automation © 2023 IBM Corporation Page 11


3. ODF (OpenShift Data Foundation) 소개 > CRD (사용자 리소스 정의)
ODF (OpenShift Data Foundation) CRDs

StorageSystem (ODF Top-level CRD) StorageSystem 만 정의하면, 하위 CR은 데이터 안정성


최우선의 기본 설정으로 생성
● StorageCluster (OCS CRD)
○ CephCluster (Rook-Ceph CRDs)
■ CephBlockPool
● …
■ CephFilesystem
● …
■ CephObjectStore
● …
○ BackingStore (MCG CRDs)
■ NooBaa
■ NooBaaAccount

IBM Automation © 2023 IBM Corporation Page 12


3. ODF (OpenShift Data Foundation) 소개 > MCG
MCG (Multicloud Object Gateway) - NooBaa Operator

● https://noobaa.io
● https://github.com/noobaa/noobaa-operator

IBM Automation © 2023 IBM Corporation Page 13


4. Rook-Ceph vs. ODF (OpenShift Data Foundation)
Rook-Ceph 와 ODF (OpenShift Data Foundation) 비교

지원 ● 오픈소스 커뮤니티 (무료) ● 레드햇 (유료)

설정 ● 다소 복잡 ● 매우 간단
● 상세 설정 가능 ● 상세 설정 제한
- 필요 스토리지만 선택 구성 가능 - 블록, 파일시스템, 오브젝트 스토리지가 모두 설정
- Replicated (RAID 1) / Erasure-Coding (RAID 5) - Replicated (3 Replication)

환경 ● Kubernetes & OpenShift ● OpenShift

기능 ● 엔터프라이즈 레벨 추가 기능
- Data Encryption
- Multi-Tenacy
- Multicloud Object Gateway

IBM Automation © 2023 IBM Corporation Page 14


5. 참고 사항
● Ceph 클러스터 구성을 위해서는 노드에 RAW 디스크가 필요

● RAW 디스크는 OS 레벨 RAID 구성 금지


○ 디스크 낭비 및 오버헤드 발생
○ Ceph 클러스터에서 Replicated (RAID 1) 또는 Erasure-Coding (RAID 5)로 구성 됨

● K8S & OCP 에서 구성시 스토리지 전용 노드로 구성을 권장


○ OSD 캐싱 메모리 기본 설정: 4 GB

● MDS 풀은 SSD (NVMe) 사용을 권장

● OS 레벨에서 접근을 위해서는 ceph-common 패키지 설치 필요

IBM Automation © 2023 IBM Corporation Page 15

You might also like