목차
[Proxmox] Ceph 스토리지 성능 벤치마크: HDD vs SSD, 홈랩에서 직접 해보니
안녕하세요, 13년차 서버실 지킴이입니다. 오늘은 제가 홈랩에서 직접 겪고 실험해 본 Proxmox Ceph 스토리지 성능 벤치마크 이야기를 풀어볼까 합니다. 특히 많은 분이 궁금해하시는 HDD와 SSD OSD의 성능 차이에 대해 집중적으로 다뤄볼 거예요.
분산 스토리지(Distributed Storage)하면 역시 Ceph가 떠오르죠? 고가용성(High Availability)과 확장성(Scalability) 덕분에 엔터프라이즈 환경은 물론, 저처럼 홈랩을 운영하는 인프라 엔지니어들에게도 매력적인 솔루션입니다. 그런데 Ceph를 막상 구축하고 나면 이런 고민에 빠지게 됩니다. '과연 어떤 디스크를 써야 최적의 성능을 낼 수 있을까?' 특히 가상 머신(VM)이나 데이터베이스(DB)처럼 랜덤 I/O가 많은 워크로드에서는 스토리지 성능이 정말 중요하거든요.
그래서 제가 직접 Proxmox Ceph 환경에서 HDD와 SSD OSD의 성능을 비교 벤치마크 해봤습니다. 여러분의 Ceph 스토리지 구축에 도움이 되셨으면 좋겠네요! 💡
Proxmox Ceph 클러스터 아키텍처 다이어그램: 3개의 Proxmox 노드가 Ceph OSD를 구성하고 VM에 스토리지를 제공하는 모습입니다.
Ceph 스토리지, 그리고 OSD의 역할
먼저, Ceph와 OSD(Object Storage Daemon)가 무엇인지 간단하게 짚고 넘어갈게요. Proxmox VE (Virtual Environment)는 오픈소스 가상화 플랫폼이고, 이 Proxmox 환경 위에서 Ceph는 강력한 분산 스토리지 시스템으로 동작합니다. Ceph의 핵심은 바로 OSD인데요, 쉽게 말해 Ceph 클러스터의 '일꾼'이라고 보시면 됩니다. 실제 데이터를 저장하고 관리하는 디스크 하나하나가 OSD가 되는 거죠. OSD 하나의 성능이 전체 클러스터의 성능을 결정합니다.
특히 Ceph의 최신 스토리지 엔진인 BlueStore를 사용하면, 데이터와 별도로 메타데이터(Metadata)와 쓰기-선행 로그(Write-Ahead Log, WAL), RocksDB 같은 내부 DB를 관리하는데요. 이들을 고성능 디스크로 분리해주면 OSD 성능이 크게 올라갑니다. 이번 벤치마크에서는 OSD 전체를 HDD 또는 SSD로 구성해서 비교해봤습니다.
홈랩 Ceph 클러스터 실전 구현
제 홈랩 환경은 Proxmox 노드 3개로 구성되어 있습니다. 이 3개의 노드에 각각 Ceph OSD를 하나씩 생성해서 클러스터를 구성했어요. Proxmox VE의 웹 UI(User Interface)는 Ceph 설치와 OSD 생성을 정말 쉽고 직관적으로 할 수 있게 해줍니다. 처음엔 이게 뭔가 싶었는데, 클릭 몇 번으로 클러스터 구성이 끝나더라고요. 정말 편합니다!
1. Ceph OSD 생성
- HDD OSD 구성: 각 노드에 장착된 일반 3.5인치 HDD를 Ceph OSD로 추가했습니다.
- SSD OSD 구성: 그리고 테스트를 위해 SATA SSD를 각 노드에 추가하여 Ceph OSD로 구성했습니다. BlueStore도 당연히 사용했고요.
OSD가 제대로 생성되었는지 확인하는 명령어는 다음과 같습니다.
ceph status
ceph osd tree
Proxmox VE 웹 UI에서 Ceph OSD를 생성하는 화면입니다. 디스크 선택, BlueStore 엔진 사용 여부 등을 설정할 수 있습니다.
2. 벤치마크 VM 준비
성능 벤치마크는 FIO (Flexible I/O Tester) 도구를 썼습니다. FIO는 다양한 I/O 패턴(Random Read/Write, Sequential Read/Write 등)과 블록 사이즈(Block Size), 큐 깊이(Queue Depth)를 조절하여 실제 워크로드와 유사한 환경을 만들 수 있어서 아주 유용하거든요. Proxmox에서 VM을 하나 만들고, Ceph RBD(RADOS Block Device) 스토리지를 붙여준 다음 그 VM 안에서 FIO를 실행했어요.
간단한 FIO 명령어 예시입니다.
fio --name=randwrite --ioengine=libaio --iodepth=64 --rw=randwrite --bs=4k --direct=1 --size=1G --numjobs=1 --runtime=60 --group_reporting
⚠️ 삽질 경험담: 주의사항 및 트러블슈팅
이런 벤치마크를 진행하다 보면 꼭 삽질을 하게 되죠. 저도 예외는 아니었습니다. ㅎㅎ
- 네트워크 대역폭의 중요성: Ceph는 분산 스토리지 시스템인 만큼, 노드 간 통신이 매우 중요합니다. 처음엔 1GbE(기가비트 이더넷)로 테스트했는데, 아무리 SSD OSD를 써도 성능이 기대 이하였습니다. Ceph 성능의 병목(Bottleneck)이 바로 네트워크였던 거죠. 결국 10GbE 환경으로 바꾸고 나서야 제대로 된 성능을 뽑아낼 수 있었습니다. 혹시 Ceph 성능이 안 나온다면, 제일 먼저 네트워크 대역폭을 의심해보세요!
- 디스크 속도 편차: Ceph 클러스터는 가장 느린 OSD의 속도에 맞춰지는 경향이 있습니다. 모든 OSD 디스크의 성능이 균일해야 클러스터 전체의 성능을 최대로 끌어올릴 수 있습니다. 이 점도 꼭 기억해주세요.
- FIO 설정의 중요성: FIO 옵션을 어떻게 주느냐에 따라 결과가 천차만별입니다. 실제 사용하려는 워크로드가 랜덤 I/O인지 순차(Sequential) I/O인지, 블록 사이즈는 어떤지, 큐 깊이는 어느 정도인지 등을 잘 고려해서 설정해야 의미 있는 벤치마크 결과를 얻을 수 있습니다. 무작정 높은 수치만 쫓기보다는, '우리 환경에 맞는' 벤치마크를 하는 게 중요하거든요.
Ceph 스토리지 성능 벤치마크 결과: HDD vs SSD
자, 이제 가장 궁금해하실 벤치마크 결과입니다. 제가 설정한 FIO 시나리오(블록 사이즈 4k, 큐 깊이 64)에서 HDD OSD와 SSD OSD의 IOPS (Input/Output Operations Per Second), Throughput (처리량), Latency (지연 시간)를 측정했습니다.
HDD OSD 성능 결과
- 랜덤 읽기/쓰기 IOPS: 500 ~ 1,000 IOPS 수준
- 순차 읽기/쓰기 Throughput: 80 ~ 150 MB/s 수준
- 평균 Latency: 10 ~ 30 ms (밀리초)
역시 HDD는 랜덤 I/O 성능이 많이 떨어지는 것을 볼 수 있습니다. 순차 I/O는 그나마 괜찮은 편이지만, 현대적인 가상화 환경에서는 부족함이 많죠.
SSD OSD 성능 결과
- 랜덤 읽기/쓰기 IOPS: 10,000 ~ 20,000 IOPS 수준 (HDD 대비 10배 이상!)
- 순차 읽기/쓰기 Throughput: 400 ~ 500 MB/s 수준
- 평균 Latency: 0.5 ~ 1 ms (밀리초)
결과는 압도적이었습니다. 특히 랜덤 I/O 성능에서는 HDD와 비교할 수 없는 수준을 보여줬습니다. Latency 또한 매우 낮아서, 가상 머신이나 데이터베이스처럼 지연 시간에 민감한 워크로드에 SSD OSD가 얼마나 중요한지 다시 한번 깨달았네요.
FIO 벤치마크를 통해 얻은 HDD OSD와 SSD OSD의 IOPS, Throughput, Latency 비교 그래프입니다.
| 지표 | HDD OSD (대략적) | SSD OSD (대략적) | 비고 |
|---|---|---|---|
| 랜덤 I/O IOPS | 500 ~ 1,000 | 10,000 ~ 20,000 | SSD가 약 10~20배 우위 |
| 순차 I/O Throughput | 80 ~ 150 MB/s | 400 ~ 500 MB/s | SSD가 약 3~5배 우위 |
| 평균 Latency | 10 ~ 30 ms | 0.5 ~ 1 ms | SSD가 훨씬 낮은 지연 시간 |
마무리하며: Ceph 스토리지, 현명한 선택을 위한 가이드
이번 벤치마크로 HDD와 SSD의 성능 차이가 정말 큰 걸 다시 한번 느꼈습니다. 특히 가상화 환경에서 VM을 운영하거나, 데이터베이스, 웹 서비스 등 랜덤 I/O가 많고 지연 시간에 민감한 서비스에는 SSD OSD가 필수라는 결론을 내릴 수 있어요.
물론 HDD OSD도 장점이 있습니다. 단위 용량당 가격이 저렴해서 대용량 아카이빙(Archiving) 스토리지, 백업(Backup) 스토리지, 또는 순차 I/O 위주의 워크로드에는 여전히 좋은 선택이 될 수 있거든요. 하지만 고성능을 요구하는 메인 스토리지로는 이제 SSD를 대체하기 어렵습니다. 예산과 서비스의 목적에 맞춰서 현명하게 디스크를 선택하는 것이 중요하겠죠.
저도 이번 벤치마크를 진행하면서 많은 걸 배웠습니다. 특히 네트워크의 중요성이나 FIO 설정의 디테일까지 다시 한번 되새기게 되었네요. 다음번에는 NVMe SSD로 OSD를 구성해서 성능이 얼마나 나올지, 그리고 WAL/DB를 분리했을 때의 효과는 어떨지 한번 파헤쳐 볼까 합니다. 기대해주세요! 🎉
Ceph 스토리지에서 HDD와 SSD OSD의 장단점 및 각각의 활용 시나리오를 요약한 인포그래픽입니다.
'IT > Proxmox' 카테고리의 다른 글
| [Proxmox] Proxmox 클러스터 1년 사용 후기: 안정성, 성능, 그리고 예상치 못한 문제들 (0) | 2026.06.17 |
|---|---|
| [Proxmox] Proxmox API 자동화: 홈랩 운영 비용 절감 및 효율 극대화 전략 (0) | 2026.06.17 |
| [Proxmox] Proxmox Backup Server vs Veeam Agent: 홈랩 VM 백업 솔루션 성능 벤치마크 (0) | 2026.06.16 |
| [Proxmox] Proxmox LXC 컨테이너 보안 강화 체크리스트: 프로덕션 필수 설정 (1) | 2026.06.13 |
| [Proxmox] Proxmox 보안 강화: 1년 운영 후 발견한 취약점과 대응책 (0) | 2026.06.12 |
| [네트워크] Proxmox 방화벽 규칙: 복잡한 홈랩 네트워크 보안 최적화 (0) | 2026.06.10 |