Ceph는 오픈소스 分산 스토리지 시스템으로, 확장성과 안정성을 제공하는 현대적인 스토리지 솔루션입니다. 이 가이드는 2025年 最新 バージョン(Reef/Squid)을 기준으로 最初 설치하는 分들도 簡単に 따라할 수 있도록 구성되었습니다.

English: Ceph is an open-source distributed storage system that provides scalability and reliability as a modern storage solution. This guide is designed for easy installation of the latest 2025 version (Reef/Squid) even for beginners.

🎯 Ceph 설치 가이드 개요

💡 이 가이드에서 배우는 것:
  • Ceph 클러스터 하드웨어 요구사항
  • 운영체제 준비 및 設定
  • Ceph 설치 및 秒기 設定
  • 모니터, OSD, MDS 구성
  • 클러스터 상태 確認 및 테스트

🖥️ 하드웨어 요구사항

💻 最小 시스템 요구사항

구성 요소 最小 사양 권장 사양
CPU 4 Core 8 Core 이상
메모리 8GB 32GB 이상
ネットワーク 1Gbps 10Gbps 이상
스토리지 3개 노드, 각 2개 디스크 5개 노드, 각 4개 디스크

🏗️ 클러스터 구성 例

테스트 환경 구성:
┌─────────────────────────────────────────────────────────────┐
│ Node 1 (ceph-node01) - 192.168.1.10                       │
│ ├─ Monitor (MON)                                            │
│ ├─ Manager (MGR)                                            │
│ ├─ OSD.0 (/dev/sdb)                                        │
│ └─ OSD.1 (/dev/sdc)                                        │
├─────────────────────────────────────────────────────────────┤
│ Node 2 (ceph-node02) - 192.168.1.11                       │
│ ├─ Monitor (MON)                                            │
│ ├─ OSD.2 (/dev/sdb)                                        │
│ └─ OSD.3 (/dev/sdc)                                        │
├─────────────────────────────────────────────────────────────┤
│ Node 3 (ceph-node03) - 192.168.1.12                       │
│ ├─ Monitor (MON)                                            │
│ ├─ OSD.4 (/dev/sdb)                                        │
│ └─ OSD.5 (/dev/sdc)                                        │
└─────────────────────────────────────────────────────────────┘

🐧 운영체제 준비

1단계: 운영체제 설치

サポート되는 운영체제를 설치합니다:

  • Ubuntu 20.04 LTS / 22.04 LTS
  • CentOS 8 / Rocky Linux 8
  • Red Hat Enterprise Linux 8/9

2단계: ホスト명 設定

# 각 노드에서 ホスト명 設定
sudo hostnamectl set-hostname ceph-node01
sudo hostnamectl set-hostname ceph-node02
sudo hostnamectl set-hostname ceph-node03

# /etc/hosts 파日 修正 (모든 노드)
sudo cat >> /etc/hosts << EOF
192.168.1.10 ceph-node01
192.168.1.11 ceph-node02
192.168.1.12 ceph-node03
EOF

3단계: 방화벽 設定

# Ubuntu/Debian
sudo ufw allow 6789/tcp
sudo ufw allow 6800:7300/tcp
sudo ufw allow 3300/tcp

# CentOS/RHEL
sudo firewall-cmd --permanent --add-port=6789/tcp
sudo firewall-cmd --permanent --add-port=6800-7300/tcp
sudo firewall-cmd --permanent --add-port=3300/tcp
sudo firewall-cmd --reload

🔧 Ceph 설치

4단계: Ceph 保存소 追加

# Ubuntu/Debian
curl -fsSL https://download.ceph.com/keys/release.asc | sudo apt-key add -
echo "deb https://download.ceph.com/debian-squid/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ceph.list
sudo apt update

# CentOS/RHEL
sudo dnf install -y centos-release-ceph-squid
sudo dnf update

5단계: Cephadm 설치

# Ubuntu/Debian
sudo apt install -y cephadm

# CentOS/RHEL
sudo dnf install -y cephadm

# 설치 確認
cephadm version
⚠️ 注意사항: 모든 노드에서 동日한 バージョン의 Ceph를 설치해야 합니다. バージョン 불日치는 클러스터 문제를 야기할 수 있습니다.

🚀 클러스터 부트스트랩

6단계: 첫 번째 노드에서 클러스터 リセット

# 첫 번째 노드에서 실행
sudo cephadm bootstrap --mon-ip 192.168.1.10 --initial-dashboard-user admin --initial-dashboard-password admin123

# 出力 例:
# Ceph Dashboard is now available at:
#      URL: https://ceph-node01:8443/
#      User: admin
#      Password: admin123

7단계: Ceph CLI 설치

# 첫 번째 노드에서
sudo cephadm install ceph-common

# 클러스터 상태 確認
sudo ceph -s

📡 追加 노드 연결

8단계: SSH 키 コピー

# 첫 번째 노드에서 키 生成
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""

# 다른 노드들에 키 コピー
ssh-copy-id root@ceph-node02
ssh-copy-id root@ceph-node03

9단계: 노드 追加

# 두 번째, 歳 번째 노드 追加
sudo ceph orch host add ceph-node02 192.168.1.11
sudo ceph orch host add ceph-node03 192.168.1.12

# ホスト 목록 確認
sudo ceph orch host ls

💽 OSD 生成

10단계: 使用 可能한 디스크 確認

# 使用 可能한 디스크 목록 確認
sudo ceph orch device ls

# 出力 例:
# HOST        PATH      TYPE  SIZE  DEVICE_ID  MODEL        VENDOR
# ceph-node01 /dev/sdb  hdd   1.0T  WD1003FZEX  WD1003FZEX   ATA
# ceph-node01 /dev/sdc  hdd   1.0T  WD1003FZEX  WD1003FZEX   ATA

11단계: OSD 生成

# 자동으로 모든 使用 可能한 디스크에 OSD 生成
sudo ceph orch apply osd --all-available-devices

# 또는 특정 디스크에 OSD 生成
sudo ceph orch daemon add osd ceph-node01:/dev/sdb
sudo ceph orch daemon add osd ceph-node01:/dev/sdc

# OSD 상태 確認
sudo ceph osd tree

🔍 모니터 및 매니저 구성

12단계: 追加 모니터 배포

# 모니터를 3개 노드에 배포
sudo ceph orch apply mon --placement="3 ceph-node01,ceph-node02,ceph-node03"

# 모니터 상태 確認
sudo ceph mon stat

13단계: 매니저 구성

# 매니저를 2개 노드에 배포 (HA 구성)
sudo ceph orch apply mgr --placement="2 ceph-node01,ceph-node02"

# 매니저 상태 確認
sudo ceph mgr stat

🌐 대시보드 設定

14단계: 대시보드 모듈 활성화

# 대시보드 모듈 활성화
sudo ceph mgr module enable dashboard

# 대시보드 SSL 인증서 生成
sudo ceph dashboard create-self-signed-cert

# 대시보드 使用자 生成
sudo ceph dashboard ac-user-create admin -i password.txt administrator

15단계: 대시보드 접속

# 대시보드 URL 確認
sudo ceph mgr services

# 브라우저에서 접속:
# https://ceph-node01:8443/
# 使用자: admin
# パスワード: (設定한 パスワード)

🧪 클러스터 테스트

16단계: 클러스터 상태 確認

# 全体 클러스터 상태
sudo ceph -s

# 상세 상태 情報
sudo ceph health detail

# OSD 상태 確認
sudo ceph osd stat
sudo ceph osd tree

# 모니터 상태 確認
sudo ceph mon stat
sudo ceph quorum_status

17단계: 풀 生成 및 테스트

# 테스트 풀 生成
sudo ceph osd pool create test-pool 32 32

# 풀에 객체 保存 테스트
echo "Hello Ceph!" | sudo rados put hello-object -p test-pool

# 객체 읽기 테스트
sudo rados get hello-object -p test-pool -

# 풀 削除 (테스트 후)
sudo ceph osd pool delete test-pool test-pool --yes-i-really-really-mean-it

🎯 기본 풀 生成

18단계: RBD 풀 生成

# RBD 풀 生成
sudo ceph osd pool create rbd 32 32
sudo ceph osd pool application enable rbd rbd
sudo rbd pool init rbd

# 테스트 이미지 生成
sudo rbd create --size 1024 rbd/test-image

# 이미지 목록 確認
sudo rbd ls rbd

19단계: CephFS 設定 (オプション)

# CephFS 풀 生成
sudo ceph osd pool create cephfs-data 64 64
sudo ceph osd pool create cephfs-metadata 32 32

# 파日시스템 生成
sudo ceph fs new cephfs cephfs-metadata cephfs-data

# MDS 배포
sudo ceph orch apply mds cephfs --placement="2 ceph-node01,ceph-node02"

# 파日시스템 상태 確認
sudo ceph fs status

📊 성능 및 상태 모니터링

✅ 설치 完了 체크리스트:
  • 모든 노드가 클러스터에 연결됨
  • 모든 OSD가 up and in 상태
  • 모니터 쿼럼이 정상적으로 형성됨
  • 대시보드 접속 可能
  • 테스트 풀 生成 및 削除 成功

🔍 지속적인 모니터링 명령어

# リアルタイム 클러스터 상태 모니터링
sudo ceph -w

# 성능 통계 確認
sudo ceph osd perf
sudo ceph pg dump | grep -v "active+clean"

# 용량 使用률 確認
sudo ceph df
sudo ceph osd df

🛠️ 문제 해결 가이드

⚠️ 日반적인 문제와 해결방법

  • 클러스터 상태가 HEALTH_WARN: ceph health detail로 상세 원인 確認
  • OSD가 down 상태: 해당 노드의 디스크 및 ネットワーク 상태 確認
  • 모니터 쿼럼 문제: 모니터 간 ネットワーク 연결 및 時間 동기화 確認
  • PG 상태 이상: PG 자동 복구 대기 또는 수동 복구 진행

🔧 유용한 디버깅 명령어

# 로그 確認
sudo cephadm logs -f

# 서비스 재開始
sudo systemctl restart ceph-osd@0

# 設定 確認
sudo ceph config dump

🎯 결론

Ceph 클러스터 설치가 完了되었습니다! 이제 안정적이고 확장 可能한 分산 스토리지 시스템을 운영할 수 있습니다. 정기적인 모니터링과 백업을 を通じて 클러스터를 安全に 관리하세요.

🔑 次へ 단계:
  • 클라이언트 設定 및 마운트
  • 자동 백업 스케줄 設定
  • 성능 모니터링 ツール 구성
  • セキュリティ 設定 강화