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 | 잠시 중단 후 백업 |
| stop | VM/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로 복원”을 해봐야 한다.
- 최신 백업 선택
- 기존 VM과 다른 VMID로 복원
- 격리된 네트워크에 연결
- 서비스 부팅 확인
- 데이터 확인
- 리허설 로그 작성
- 테스트 VM 삭제
[!warning] 복원 주의 운영 VM과 같은 IP로 복원하면 충돌이 발생할 수 있다. 복구 리허설은 격리된 네트워크에서 진행한다.
설정 파일 백업
Proxmox 설정은 /etc/pve에 많이 모여 있다.
ls /etc/pve
중요 항목:
- VM/CT 설정
- storage 설정
- user/permission 설정
- firewall 설정
- cluster 설정
단, /etc/pve는 클러스터 파일시스템이므로 일반 디렉터리처럼 무작정 복사/복원하면 안 된다. 설정 확인과 문서화 중심으로 접근한다.
장애 시 우선순위
- 전원/디스크/네트워크 상태 확인
- 원본 스토리지 손상 여부 확인
- 백업 저장소 접근 확인
- 복구 대상 우선순위 결정
- 가장 중요한 서비스부터 복원
- 복원 후 모니터링
관련 노트
- 상위: 00-MOC-Proxmox
- 스토리지: 02-02-Proxmox-스토리지-ZFS
- 보안: 03-03-Proxmox-보안-하드닝
- 일반 전략: 백업-복구-전략