2025년 Ceph 클러스터 설치 완벽 가이드: 초보자도 쉽게 따라하는 단계별 구성
2025 Complete Ceph Cluster Installation Guide: Step-by-Step Setup for Beginners
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 클러스터 설치가 완료되었습니다! 이제 안정적이고 확장 가능한 분산 스토리지 시스템을 운영할 수 있습니다. 정기적인 모니터링과 백업을 통해 클러스터를 안전하게 관리하세요.
🔑 다음 단계:
- 클라이언트 설정 및 마운트
- 자동 백업 스케줄 설정
- 성능 모니터링 도구 구성
- 보안 설정 강화