Proxmox 백업(스냅샷/백업/복구) 전략: 홈서버에서 제일 안전한 조합

Proxmox 홈서버에서 스냅샷·백업·복구 3종을 어떻게 조합해야 안전한가. PBS, zstd 압축, 원격 보관, LXC와 VM의 차이까지 실전 체크리스트로 정리한 백업 전략 가이드.

서론: 왜 Proxmox 백업이 어려운가

홈서버를 Proxmox로 굴리다 보면 “스냅샷을 찍었으니 백업 끝”이라고 착각하기 쉽습니다. 하지만 스냅샷은 같은 스토리지/같은 호스트에 남는 경우가 많아, 디스크/호스트 장애에는 무력합니다.

이 글은 아래 상황의 사람에게 맞습니다. – Proxmox에 VM/LXC가 늘어났고, 장애 시 복구 시간(RTO)데이터 손실(RPO) 을 관리하고 싶다 – ZFS/디렉토리 스토리지 등 환경이 섞여 있다 – “백업은 했는데 복구를 안 해봐서” 불안하다

핵심 목표는 하나입니다: 복구 가능한 백업(restore-tested backup) 을 루틴으로 만드는 것.

준비물 / 전제

  • Proxmox VE (버전 상관 없음. UI/메뉴 명칭은 버전에 따라 조금 다를 수 있음)
  • 백업 저장소 1개 이상
    • 권장: NAS(SMB/NFS) 또는 외장디스크, 별도 서버
    • 최소 권장: Proxmox 호스트와 물리적으로 분리된 스토리지
  • (선택) ZFS 사용 시: 스냅샷/복제 개념에 대한 최소 이해
  • 운영 기준 2개 정의
    • RPO: 몇 시간/몇 일까지 데이터 유실을 허용하는가
    • RTO: 장애 시 몇 분/몇 시간 안에 복구해야 하는가

용어 정리 (헷갈리면 여기서부터)

  • 스냅샷(Snapshot): “현재 상태를 되돌릴 수 있는 체크포인트”. 보통 같은 스토리지에 남습니다.
  • 백업(Backup): 다른 위치(다른 스토리지)에 보관되는 복구용 아카이브.
  • 복구(Restore): 백업에서 실제로 VM/LXC를 되살리는 과정.

추천 구성 1) 기본형: 백업 저장소 + 정기 백업 + 주간 복구 테스트

1단계: 백업 스토리지(Backup Storage)부터 분리

  • Proxmox와 같은 디스크/같은 풀에 백업을 두지 않습니다.
  • 권장 조합
    • Proxmox(로컬 SSD) + NAS(NFS/SMB) 백업
    • Proxmox(로컬) + 외장 HDD(정기 연결) + 오프사이트(월 1회)

체크: – 네트워크 마운트가 끊겼을 때 백업이 “성공”으로 표시되는지(경고/실패 처리되는지) – 백업 파일이 실제로 증가하는지(용량/시간 확인)

2단계: 백업 정책을 “3줄”로 문서화

예시(초안): – 매일 새벽 2시: 전체 VM/LXC 증분/압축 백업 – 보관: 일간 7개 + 주간 4개 – 월 1회: 랜덤 1개를 다른 노드/임시 스토리지에 복구 테스트

3단계: Proxmox 백업 작업(Job) 만들기

  • 대상: 중요한 VM/LXC부터 시작(모두를 한 번에 하지 말고)
  • 시간: 사용량이 낮은 시간대
  • 보관: 스토리지 용량 대비 안전한 선으로(일단 짧게 시작 후 늘리기)

운영 팁: – DB/서비스가 있는 VM은 가능하면 서비스 레벨 백업(예: MariaDB dump, Nextcloud 내장 백업)도 병행 – 백업 시간/용량이 급증하면 변경량이 큰 워크로드(로그, 미디어)를 분리

추천 구성 2) ZFS 사용 시: 스냅샷은 “빠른 롤백”, 백업은 “재난 대비”로 분리

1단계: ZFS 스냅샷은 짧게, 자주

  • 스냅샷은 빠른 실수 복구(업데이트 실패, 설정 망가짐)에 강합니다.
  • 보관 기간은 길게 잡지 말고(용량/복잡도 증가), 목적에 맞게.

2단계: 스냅샷만으로 끝내지 말고 “다른 스토리지로” 백업

  • 같은 ZFS 풀 장애 → 스냅샷도 같이 날아갈 수 있습니다.
  • 결론: 스냅샷은 백업이 아닙니다.

단계별 가이드: 오늘 당장 적용하는 최소 루틴

Step 1. 중요한 서비스 3개만 선정

  • 예: 홈오토메이션, 블로그(WordPress), DB 서버

Step 2. 백업 주기/보관 설정

  • 일단은 “매일 1회 + 7개 보관”처럼 단순하게 시작

Step 3. 복구 테스트(가장 중요)

  • 월 1회만 해도 효과가 큼
  • 테스트 방법(예):
    1. 백업 1개 선택
    2. 임시 이름으로 Restore
    3. 네트워크 분리된 상태에서 부팅 확인
    4. 서비스 로그인/헬스체크
    5. 테스트 VM/LXC 삭제

자주 하는 실수 / 트러블슈팅

  • (실수) 스냅샷을 백업으로 착각함 → 장애 유형별로 복구 경로를 분리해서 설계
  • (실수) 백업은 성공인데 복구가 실패함 → 백업 포맷/압축 옵션/스토리지 권한 문제 가능
  • (실수) 백업 스토리지가 가득 찼는데 알림이 없음 → Telegram/메일 등 알림을 반드시 연결
  • (실수) 백업 윈도우가 길어져 서비스 영향 발생 → 대상 분리, 주기 조정, 변경량 큰 데이터 분리

체크리스트 (운영용)

  • 백업 저장소가 Proxmox 호스트/디스크와 물리적으로 분리돼 있다
  • 일간/주간 보관 개수가 문서화돼 있다
  • 중요한 VM/LXC는 최소 1일 1회 백업된다
  • 월 1회 이상 복구 테스트를 했다(로그가 남아 있다)
  • 백업 실패/용량 부족 알림이 Telegram 등으로 온다

다음 글 제안 (2개)

  1. “Synology Hyper Backup으로 홈서버 백업을 ‘복구 가능’하게 만드는 체크리스트” (NAS 백업/버전/복원 테스트)
  2. “MariaDB(Docker) 백업/복구 실전: dump + gzip + 보관 + 무결성 검사” (DB 레벨 백업 루틴)

관련 글

@welltip

정리를 위해 작성하는 개인노트