Proxmox VE 고급 실무: 클러스터·HA·Ceph·API

5 min read

환경이 한 대의 머신에서 여러 대의 머신으로 바뀌면 운영의 핵심이 "돌기만 하면 돼"에서 "가용성·확장성·자동화"로 이동합니다. 이 글은 솔로 던전에서 레이드로 업그레이드입니다.

클러스터 구축

적용 시나리오: 중앙 관리·크로스 노드 스케줄링·마이그레이션을 하려면 클러스터부터 구축.

# 첫 번째 노드에서 클러스터 만들기
pvecm create my-cluster
 
# 다른 노드가 참가 (마스터 IP로 변경)
pvecm add <cluster-master-ip>
 
# 상태 확인
pvecm status

클러스터 구축 후 노드 호스트명 변경을 최대한 피하세요; 참가 전에 DNS·시간 동기화·네트워크가 모두 정상인지 확인 — 그렇지 않으면 온갖 이상한 문제가 생깁니다.

HA (고가용성) 설정

적용 시나리오: 어떤 노드가 다운되면 VM이 다른 노드에서 자동으로 시작되어 서비스가 중단되지 않음.

전제 조건:

  • 클러스터가 존재
  • VM 디스크가 공유 스토리지에 있음
  • 올바른 fencing 메커니즘 — 스플릿 브레인 방지 (양쪽이 자신이 리더라고 생각하는 상황)
# VM 100을 HA 관리하에 두기
ha-manager add vm:100 --maxrestart 3 --maxrelocate 5

HA가 올바르게 설정되면 단일 노드 장애 시 사용자는 거의 알아차리지 못합니다 — 고양이가 항상 대체 수면 장소를 확보해 두는 것처럼.

Ceph 하이퍼컨버지드 스토리지

적용 시나리오: 여러 노드에서 공유 스토리지와 고가용성 모두 필요 — Ceph로 함께 해결.

권장 전제 조건:

  • 최소 3개 노드 (Ceph는 단일 지점을 싫어함)
  • 각 노드에 복수의 전용 디스크
  • 전용 스토리지 네트워크가 있으면 더 좋음
# Ceph 초기화
pveceph init --network 10.0.0.0/24
 
# 각 데이터 디스크에 OSD 만들기
pveceph osd create /dev/sdX
 
# Pool 만들고 PVE에 연결
pveceph pool create vm-data --add_storages

Ceph는 베어 디스크를 직접 관리하는 것을 권장 — 하드웨어 RAID를 위에 쌓지 마세요. 그렇게 하면 Ceph의 데이터 보호와 관측성이 절반으로 줄어듭니다.

스토리지 복제

적용 시나리오: 크로스 노드 이중화, 장애 시 빠른 인계.

pvesr create-local-job 100 local-zfs remote-zfs --schedule "0 2 * * *"

API와 자동화 통합

적용 시나리오: 스크립트로 운영·CI/CD·다른 플랫폼과 통합. API 토큰 사용 권장 — root 비밀번호를 여기저기 붙여넣지 마세요.

# API 토큰으로 VM 목록 가져오기
curl -k \
  -H "Authorization: PVEAPIToken=user@realm!tokenid=secret" \
  "https://<PVE-IP>:8006/api2/json/nodes/<node>/qemu"

자동화가 갖춰지면 반복 작업은 스크립트에 맡기고, 여러분은 커피와 고양이에 집중하면 됩니다.

다음 단계

고급 기능을 갖췄다면 운영 규범으로 위험을 줄이세요: 👉 베스트 프랙티스