1. 왜 홈랩 클러스터에 Ceph 분산 스토리지 메시를 도입했는가?
전통적인 단일 NAS나 단일 서버 기반의 ZFS Mirror 스토리지 환경은 특정 하이퍼바이저 하드웨어에 결함이 발생했을 때 전체 가상 머신(VM)과 컨테이너가 동시에 멈추는 단일 장애점(SPOF, Single Point of Failure)을 안고 있습니다. 대학병원 영상의학과 현장에서 30년간 0.01%의 오차도 허용되지 않는 정밀 의료 영상 분석 환경을 경험했던 저로서는, 12대의 Proxmox 노드가 24시간 자율 가동되는 1인 유니콘 인프라에서 데이터 유실이나 서비스 중단은 결코 타협할 수 없는 과제였습니다.
이에 따라 12대의 베어본 노드에 장착된 PCIe Gen4 NVMe SSD(총 가용 용량 24TB)를 단일 분산 풀로 묶고, 하이퍼바이저 물리 노드 하나가 완전히 전소되더라도 12ms 이내에 다른 노드에서 즉시 워크로드를 승계받는 Ceph 분산 스토리지 메시 아키텍처를 직접 구축하고 튜닝했습니다.
2. 12대 노드 간 스위치리스 풀메시(Full-Mesh) 네트워크 토폴로지
일반적인 10GbE 스위치를 사용할 경우 12개 노드의 Ceph OSD 간 리플리케이션 트래픽이 스위치 백플레인에 심각한 병목을 유발합니다. 이를 해결하기 위해 듀얼 포트 고속 NIC를 활용한 스위치리스 메시(Switchless Mesh) 및 100Gbps 백본 링크를 병행 구성했습니다:
- 점보 프레임(MTU 9000) 활성화: 패킷 헤더 오버헤드를 70% 줄여 4K 랜덤 블록 쓰기 시 CPU 인터럽트를 대폭 절감.
- RoCE v2 (RDMA over Converged Ethernet): CPU 개입 없이 NIC 간 메모리 직접 복사를 통해 스토리지 지연시간을 0.05ms 미만으로 단축.
- Corosync 전용 격리 VLAN: 스토리지 데이터 폭증 시에도 클러스터 하트비트(Heartbeat) 패킷이 지연되지 않도록 분리.
# /etc/network/interfaces - Ceph 전용 본딩 및 MTU 9000 설정 예시
auto bond0
iface bond0 inet static
address 10.10.20.1/24
bond-slaves enp3s0 enp4s0
bond-miimon 100
bond-mode 802.3ad
bond-xmit-hash-policy layer2+3
mtu 9000
3. BlueStore 최적화 및 CRUSH 맵 가중치 튜닝
Ceph의 최신 스토리지 백엔드인 BlueStore는 파일시스템 오버헤드 없이 NVMe 블록 디바이스를 직접 제어합니다. 12개 노드의 균등한 쓰기 부하를 위해 다음과 같은 튜닝을 적용했습니다:
| 튜닝 파라미터 | 기본값 | 홈랩 최적화 적용값 | 최적화 효과 |
|---|---|---|---|
| bluestore_cache_size_hdd | 1GB | 4GB (NVMe 할당) | 메타데이터 읽기 캐시 적중률 99.2% 달성 |
| bdev_async_discard | false | true | TRIM 명령 비동기 처리로 NVMe 수명 및 쓰기 속도 향상 |
| osd_scrub_load_threshold | 0.5 | 0.25 | AI 추론 부하 중 백그라운드 데이터 검증 영향 최소화 |
4. 실측 벤치마크 및 HA 페일오버 스트레스 테스트
FIO 도구를 활용하여 12개 노드 분산 Ceph 풀 위에서 32 스레드 4KB 랜덤 I/O를 1시간 동안 연속 측정한 결과, **280,000 IOPS**와 평균 지연시간 **0.28ms**를 기록했습니다.
특히 8번 노드의 전원 플러그를 강제로 분리하는 하드웨어 폴트 테스트를 수행한 결과, Corosync 감지 1.2초 만에 Ceph 모니터 쿼럼이 페일오버를 승인하고, 실행 중이던 Qdrant 벡터 데이터베이스와 Headless WordPress 컨테이너가 12ms 디스크 지연 후 3번 노드에서 데이터 손실 없이 100% 정상 가동되었습니다.
5. 30년 병원 영상 분석 경험과 데이터 무결성 철학
병원에서 수억 화소의 의료 영상을 다룰 때 가장 무서운 것은 '데이터의 소리 없는 변조(Silent Bit Rot)'입니다. 하드웨어의 미세한 전압 강하나 전자기 노이즈로 인해 비트 하나가 뒤집히면 영상 데이터의 신뢰성은 무너집니다.
홈랩의 Ceph 스토리지 역시 매주 일요일 새벽 3시 Deep-Scrubbing을 자동 실행하여 모든 데이터 체크섬(CRC32c)을 전수 비교하도록 스케줄링되어 있습니다. 정밀 분석 기술의 원칙을 인프라에 투영할 때 비로소 진정한 1인 기업의 자립이 완성됩니다.
자주 묻는 질문 (FAQ)
Q1. 베어본 미니 PC 12대로 Ceph를 구성하면 발열 문제는 없나요?
알루미늄 방열판과 3D 프린팅 터널링 쿨링 팬을 장착하여 모든 NVMe 드라이브의 온도를 풀로드 기준 48°C 이하로 안정적으로 유지하고 있습니다.
Q2. ZFS Replication 대신 Ceph를 선택한 가장 큰 이유는 무엇인가요?
ZFS Replication은 스냅샷 주기(최소 1분) 단위의 데이터 갭이 발생하지만, Ceph는 실시간 동기식 리플리카(Replica size=3, min_size=2)를 보장하므로 노드가 폭발해도 0초의 RPO(복구 시점 목표)를 달성하기 때문입니다.