Proxmox 백업 복구

Proxmox 홈랩에서 VM/LXC를 잃지 않기 위한 백업과 복구 기준.


Proxmox 홈랩에서 VM/LXC를 잃지 않기 위한 백업과 복구 기준.

기본 원칙

백업은 “생성”보다 “복구 검증”이 더 중요하다.

권장 원칙:

  • 원본과 백업은 다른 물리 장치에 둔다.
  • 중요한 VM은 정기 백업한다.
  • 백업 실패 알림을 받는다.
  • 복구 리허설을 주기적으로 한다.
  • 스냅샷을 백업으로 착각하지 않는다.

스냅샷 vs 백업

구분스냅샷백업
속도빠름상대적으로 느림
위치같은 스토리지외부 스토리지 권장
목적변경 전 롤백장애 복구
디스크 장애 대응약함강함
보관 기간짧게정책 기반

vzdump 백업

Proxmox 기본 백업 도구는 vzdump다.

# 단일 VM/CT 백업
vzdump <vmid> --storage <backup-storage>

# 모든 VM/CT 백업
vzdump --all --storage <backup-storage>

# snapshot mode
vzdump <vmid> --mode snapshot --storage <backup-storage>

백업 모드:

모드특징
snapshot중단 적음, storage 지원 필요
suspend잠시 중단 후 백업
stopVM/CT 정지 후 백업, 일관성 좋음

Proxmox Backup Server

PBS는 Proxmox 백업 전용 서버다.

장점:

  • 중복 제거
  • 증분 백업
  • 암호화
  • 검증 작업
  • 보존 정책
  • VM/LXC 복원 통합

홈랩에서도 가능하면 PBS를 별도 장비나 NAS VM이 아닌 독립 스토리지에 두는 것이 좋다. 같은 Proxmox 노드 안의 VM으로 PBS를 만들면 노드 장애 시 복구가 어려워진다.

백업 정책 예시

대상주기보관
핵심 인프라 VM매일7일
Kubernetes 노드주 1회4주
테스트 VM수동필요 시
설정 파일변경 시Git 또는 별도 백업

Kubernetes 노드는 VM 백업보다 manifest, Helm values, etcd 백업이 더 중요할 수 있다. VM 백업은 노드 복원용, GitOps 저장소는 서비스 복원용으로 나눠 생각한다.

복구 절차

VM 복구:

qmrestore <backup-file> <new-vmid>

LXC 복구:

pct restore <new-ctid> <backup-file>

복구 후 확인:

  • VM/CT 부팅 여부
  • IP 충돌 여부
  • 서비스 상태
  • 데이터 정합성
  • 방화벽 정책
  • 백업 job 재연결

복구 리허설

정기적으로 “새 VMID로 복원”을 해봐야 한다.

  1. 최신 백업 선택
  2. 기존 VM과 다른 VMID로 복원
  3. 격리된 네트워크에 연결
  4. 서비스 부팅 확인
  5. 데이터 확인
  6. 리허설 로그 작성
  7. 테스트 VM 삭제

[!warning] 복원 주의 운영 VM과 같은 IP로 복원하면 충돌이 발생할 수 있다. 복구 리허설은 격리된 네트워크에서 진행한다.

설정 파일 백업

Proxmox 설정은 /etc/pve에 많이 모여 있다.

ls /etc/pve

중요 항목:

  • VM/CT 설정
  • storage 설정
  • user/permission 설정
  • firewall 설정
  • cluster 설정

단, /etc/pve는 클러스터 파일시스템이므로 일반 디렉터리처럼 무작정 복사/복원하면 안 된다. 설정 확인과 문서화 중심으로 접근한다.

장애 시 우선순위

  1. 전원/디스크/네트워크 상태 확인
  2. 원본 스토리지 손상 여부 확인
  3. 백업 저장소 접근 확인
  4. 복구 대상 우선순위 결정
  5. 가장 중요한 서비스부터 복원
  6. 복원 후 모니터링

관련 노트

  • 상위: 00-MOC-Proxmox
  • 스토리지: 02-02-Proxmox-스토리지-ZFS
  • 보안: 03-03-Proxmox-보안-하드닝
  • 일반 전략: 백업-복구-전략