CATEGORY
TECH STACK
퍼블릭 클라우드 비용과 데이터 주권 사이에서 고민하던 중소기업을 위해, GUNIQ는 자체 클라우드(사설 클라우드)를 Proxmox VE로 구축했습니다. 오픈소스라 코어당 라이선스 비용이 없고, Ceph 분산 스토리지와 PBS 백업이 내장되어 별도 SAN·백업 솔루션 없이 엔터프라이즈급 기능을 확보할 수 있었기 때문입니다.
구조는 HCI(하이퍼컨버지드) — 컴퓨트와 스토리지를 같은 3대 노드에 융합했습니다. 별도 스토리지 장비 없이 노드들이 Ceph로 하나의 공유 스토리지를 이루고, 그 위에서 VM이 자유롭게 이동·복구됩니다. 앞서 만든 K3s 클러스터도 바로 이 Proxmox 위에서 돌아갑니다 — 네트워크 → 가상화 → 쿠버네티스로 인프라가 층층이 쌓입니다.

컴퓨트와 스토리지를 동일한 3대 노드에 융합해 별도 스토리지 장비(SAN) 없이 공유 스토리지를 구성했습니다. 노드 수는 홀수 3대 — Corosync 쿼럼이 2/3로 유지되어 1노드가 죽어도 클러스터는 정상 동작하고, 2노드 손실 시에는 데이터를 지키기 위해 안전모드(읽기 전용)로 내려갑니다. 홀수 구성으로 스플릿브레인을 원천 차단했습니다.
트래픽 성격에 따라 물리 링크를 분리했습니다. 관리망(1G), VM 서비스망(1G, vmbr0), 그리고 복제 트래픽이 무거운 Ceph망은 10G로 격리했습니다. Corosync 하트비트는 Ring0(관리) + Ring1(Ceph) 이중화로 깔아, 한쪽 링크가 끊겨도 자동으로 다른 링으로 넘어갑니다. ‘Ceph 폭주가 클러스터 하트비트를 막는’ 최악의 연쇄 장애를 설계로 차단한 것입니다.
노드당 6개씩 총 18개 OSD를 Ceph로 묶고, 3× 복제(min_size 2)에 CRUSH 규칙을 host 단위로 걸어 복제본이 항상 서로 다른 물리 노드에 흩어지게 했습니다. 한 노드가 빠져도 2벌이 남아 읽기·쓰기가 계속되고, 노드가 복귀하면 자동으로 리밸런싱됩니다. 모든 노드가 같은 풀을 바라보는 공유 스토리지라, 값비싼 SAN 없이도 HA와 라이브 마이그레이션이 가능해집니다.
백업은 클러스터 외부의 별도 물리 서버(PBS)에 저장합니다. 운영 클러스터가 통째로 무너져도 백업은 살아남아야 하기 때문입니다. 스냅샷 기반 증분 백업 + 중복제거로 저장 효율을 확보하고, 일·주·월(7d/4w/12m) 보존 정책을 자동 적용했습니다. HA가 하드웨어 장애를, 백업이 데이터 손상·실수·랜섬웨어를 막는 — 서로 다른 위험에 대한 두 겹의 방어입니다(3-2-1 원칙).
디스크가 이미 Ceph 공유 스토리지에 있으므로, 노드 장애 시 다른 노드에서 VM을 재기동하는 것만으로 복구됩니다(디스크 복사 불필요). 무정지 이전인 라이브 마이그레이션은 디스크는 그대로 두고 RAM 상태만 전송해, 실측 다운타임 23ms로 사용자가 체감하지 못하는 수준입니다. 복구 후 자동 되돌림을 막는 nofailback과 watchdog 자동 재부팅으로 안정성을 높였습니다.
HA는 실제로 부숴봐야 믿을 수 있습니다. 운영 전환 전에 노드를 강제로 내려 자동 재기동·쿼럼 유지·Ceph 리밸런싱을 눈으로 확인했습니다. 이 과정에서 클라우드-init 스니펫이 노드 로컬에 묶여 마이그레이션을 깨뜨리는 함정을 발견했고, 노드 의존이 없는 골든 이미지(템플릿) 방식으로 전환해 HA·마이그레이션 안전성을 확보했습니다.
도입 판단부터 노드 설치·망분리, 클러스터·Ceph 구성, 백업·HA, 장애 검증까지 전 과정을 GUNIQ가 수행했습니다.
OTHER PROJECTS