중소기업 Proxmox VE 자체 클라우드 구축 — 3노드 HCI 인프라

Proxmox 3노드 HCI 자체 클라우드 — Ceph 분산 스토리지 · 쿼럼 · HA · 라이브 마이그레이션 · PBS 백업

CATEGORY

인프라

TECH STACK

Proxmox VE · Ceph · Corosync · ZFS · KVM/QEMU · LXC · HA · PBS · 라이브 마이그레이션

CLIENT

중소기업 (익명)

PERIOD

퍼블릭 클라우드 비용과 데이터 주권 사이에서 고민하던 중소기업을 위해, GUNIQ는 자체 클라우드(사설 클라우드)Proxmox VE로 구축했습니다. 오픈소스라 코어당 라이선스 비용이 없고, Ceph 분산 스토리지와 PBS 백업이 내장되어 별도 SAN·백업 솔루션 없이 엔터프라이즈급 기능을 확보할 수 있었기 때문입니다.

구조는 HCI(하이퍼컨버지드) — 컴퓨트와 스토리지를 같은 3대 노드에 융합했습니다. 별도 스토리지 장비 없이 노드들이 Ceph로 하나의 공유 스토리지를 이루고, 그 위에서 VM이 자유롭게 이동·복구됩니다. 앞서 만든 K3s 클러스터도 바로 이 Proxmox 위에서 돌아갑니다 — 네트워크 → 가상화 → 쿠버네티스로 인프라가 층층이 쌓입니다.

3개 물리 노드(Node1/2/3)의 HCI 구성 — 각 노드별 컴퓨트(KVM/LXC)·스토리지(6 OSD)·관리망(1G)·VM서비스망(1G)·Ceph망(10G) 분리 · 18 OSD를 Ceph 풀로 3x 복제 · Corosync Ring0(관리)·Ring1(Ceph) 이중화 쿼럼 · 클러스터 외부 PBS 백업 서버
전체 논리 구성도 — 3노드 HCI · 공유 Ceph 스토리지 · 망분리 · 쿼럼/HA · 클러스터 외부 PBS 백업
3
노드 HCI 클러스터
18
Ceph OSD (3× 복제)
1
노드 장애 허용
23ms
라이브 마이그레이션 다운타임

핵심 구현

① 3노드 HCI + 쿼럼

컴퓨트와 스토리지를 동일한 3대 노드에 융합해 별도 스토리지 장비(SAN) 없이 공유 스토리지를 구성했습니다. 노드 수는 홀수 3대 — Corosync 쿼럼이 2/3로 유지되어 1노드가 죽어도 클러스터는 정상 동작하고, 2노드 손실 시에는 데이터를 지키기 위해 안전모드(읽기 전용)로 내려갑니다. 홀수 구성으로 스플릿브레인을 원천 차단했습니다.

② 네트워크 망분리

트래픽 성격에 따라 물리 링크를 분리했습니다. 관리망(1G), VM 서비스망(1G, vmbr0), 그리고 복제 트래픽이 무거운 Ceph망은 10G로 격리했습니다. Corosync 하트비트는 Ring0(관리) + Ring1(Ceph) 이중화로 깔아, 한쪽 링크가 끊겨도 자동으로 다른 링으로 넘어갑니다. ‘Ceph 폭주가 클러스터 하트비트를 막는’ 최악의 연쇄 장애를 설계로 차단한 것입니다.

③ Ceph 분산 스토리지

노드당 6개씩 총 18개 OSD를 Ceph로 묶고, 3× 복제(min_size 2)에 CRUSH 규칙을 host 단위로 걸어 복제본이 항상 서로 다른 물리 노드에 흩어지게 했습니다. 한 노드가 빠져도 2벌이 남아 읽기·쓰기가 계속되고, 노드가 복귀하면 자동으로 리밸런싱됩니다. 모든 노드가 같은 풀을 바라보는 공유 스토리지라, 값비싼 SAN 없이도 HA와 라이브 마이그레이션이 가능해집니다.

④ PBS 백업 — 독립 장애 도메인

백업은 클러스터 외부의 별도 물리 서버(PBS)에 저장합니다. 운영 클러스터가 통째로 무너져도 백업은 살아남아야 하기 때문입니다. 스냅샷 기반 증분 백업 + 중복제거로 저장 효율을 확보하고, 일·주·월(7d/4w/12m) 보존 정책을 자동 적용했습니다. HA가 하드웨어 장애를, 백업이 데이터 손상·실수·랜섬웨어를 막는 — 서로 다른 위험에 대한 두 겹의 방어입니다(3-2-1 원칙).

⑤ HA + 라이브 마이그레이션

디스크가 이미 Ceph 공유 스토리지에 있으므로, 노드 장애 시 다른 노드에서 VM을 재기동하는 것만으로 복구됩니다(디스크 복사 불필요). 무정지 이전인 라이브 마이그레이션은 디스크는 그대로 두고 RAM 상태만 전송해, 실측 다운타임 23ms로 사용자가 체감하지 못하는 수준입니다. 복구 후 자동 되돌림을 막는 nofailbackwatchdog 자동 재부팅으로 안정성을 높였습니다.

⑥ 장애 주입 검증 (Validate by Breaking)

HA는 실제로 부숴봐야 믿을 수 있습니다. 운영 전환 전에 노드를 강제로 내려 자동 재기동·쿼럼 유지·Ceph 리밸런싱을 눈으로 확인했습니다. 이 과정에서 클라우드-init 스니펫이 노드 로컬에 묶여 마이그레이션을 깨뜨리는 함정을 발견했고, 노드 의존이 없는 골든 이미지(템플릿) 방식으로 전환해 HA·마이그레이션 안전성을 확보했습니다.

설계 원칙

융합(HCI)의 선택
SMB 비용 구조에서는 SAN 분리보다 컴퓨트·스토리지 융합이 합리적 — 단, 상관 장애 위험은 망분리로 낮춘다.
최소 3노드
HA에는 홀수 3노드가 최소. 2노드는 스플릿브레인 위험이라 선택지에서 제외한다.
망분리 규율
관리·VM·Ceph를 물리적으로 나눠, 한 트래픽의 폭주가 다른 기능을 마비시키지 못하게 한다.
백업 먼저, HA는 그 다음
HA는 하드웨어 장애용, 백업은 데이터 사고용. 둘은 대체재가 아니라 각각 필요하다.
부숴서 검증한다
장애를 주입해 실제 복구를 확인하기 전엔 HA를 신뢰하지 않는다 — 스니펫 함정도 그렇게 잡았다.
점진적 복잡도
단일 노드 → 망분리 → 클러스터 → Ceph → 백업/HA → 검증. 앞 단계를 건너뛰면 뒤에서 터진다.

기술 스택

가상화 · HCI

Proxmox VE 8.4KVM / QEMULXCZFS RAID1(OS)
분산 스토리지

CephRBD (vm-pool)CRUSH (host)3× 복제 / min_size 2
클러스터 · HA

Corosync쿼럼 2/3Ring0 · Ring1 이중화HA · watchdog
백업 · 이전

Proxmox Backup Server증분 · 중복제거라이브 마이그레이션골든 이미지 템플릿
네트워크

관리망 1GVM 서비스망(vmbr0)Ceph 10G 격리

GUNIQ의 역할

도입 판단부터 노드 설치·망분리, 클러스터·Ceph 구성, 백업·HA, 장애 검증까지 전 과정을 GUNIQ가 수행했습니다.

도입 판단
Proxmox vs VMware·Nutanix·퍼블릭 · HCI 결정
노드 · 망분리
3노드 설치 · ZFS RAID1 · 관리/VM/Ceph 분리
클러스터 구성
Corosync 쿼럼 · Ring 이중화 · 3노드 조인
Ceph 스토리지
18 OSD · 3× 복제 · CRUSH host · 공유 풀
백업 · HA
PBS 증분·보존 · HA 그룹 · nofailback · watchdog
장애 검증
노드 강제 다운 검증 · 골든 이미지 전환

OTHER PROJECTS

다른 프로젝트

비슷한 프로젝트가 필요하신가요?

기획부터 개발, 운영까지 함께 만들어 드립니다.