목차
- 백업 없이 운영하다가 날린 VM, 그 뼈아픈 경험 이야기
- Proxmox 백업의 두 가지 방식: 어떤 걸 써야 할까?
- PBS(Proxmox Backup Server) 설치 및 초기 설정
- 1단계: PBS 설치
- 2단계: 데이터스토어(Datastore) 생성
- 3단계: 사용자 및 토큰 생성 (API Token)
- Proxmox VE에 PBS 스토리지 연결하기
- 웹 UI로 연결하는 방법
- CLI로 연결하는 방법
- Proxmox 스케줄 백업 설정: 자동화의 핵심
- 백업 작업(Backup Job) 생성
- 스케줄 문법 이해하기
- 백업 모드(Mode) 선택 기준
- 보존 정책(Retention Policy) 설정
- ⚠️ 실제로 겪은 트러블슈팅 모음
- 문제 1: 핑거프린트(Fingerprint) 불일치 오류
- 문제 2: 백업 중 'lock timeout' 오류
- 문제 3: 스냅샷 백업 시 디스크 공간 부족
- 문제 4: PBS 가비지 컬렉션 미실행으로 인한 공간 낭비
- 백업 검증: 백업했다고 끝이 아닙니다
- 백업 무결성 검증 (Verify)
- 복원 테스트
- VM 백업 전략: 어떻게 구성하면 좋을까?
- 제가 쓰는 3-2-1 백업 전략
- VM 중요도별 백업 주기
- 마무리: 백업은 습관입니다
- 자주 묻는 질문 (FAQ)
- Q. PBS 서버는 반드시 별도 물리 서버여야 하나요?
- Q. 백업 중 VM 성능이 저하되나요?
- Q. PBS 없이 로컬 백업만으로 충분하지 않나요?
백업 없이 운영하다가 날린 VM, 그 뼈아픈 경험 이야기
솔직하게 고백하자면, 저도 한 번 날린 적 있습니다. 홈랩에서 열심히 세팅해 둔 VM(가상 머신) 하나가 스토리지 장애로 그냥 사라져버렸거든요. 백업? 당연히 없었죠. '홈랩인데 뭐 어때' 라고 생각했던 게 화근이었습니다. 그 이후로 저는 Proxmox 백업 자동화를 진지하게 구축하기 시작했고, 지금은 매일 밤 자동으로 백업이 돌아가는 걸 보면서 마음이 편안해지는 사람이 됐습니다 ㅎㅎ.
이 글은 Proxmox VE(Virtual Environment)를 운영하면서 Proxmox 백업 자동화를 아직 제대로 구성하지 못하신 분들을 위한 실전 가이드입니다. PBS(Proxmox Backup Server)를 활용한 자동화 방법부터, 스케줄 백업 설정, 그리고 실제 운영에서 겪은 삽질까지 전부 공유해 드릴게요.
▲ Proxmox VE와 PBS(Proxmox Backup Server)가 연동된 전체 백업 아키텍처 구성도. VM과 CT(컨테이너)가 PBS로 자동 백업되는 흐름을 보여줍니다.
Proxmox 백업의 두 가지 방식: 어떤 걸 써야 할까?
Proxmox VE에서 백업을 설정할 때 처음에 헷갈리는 게 바로 이 부분이에요. 백업 저장소를 어디로 잡느냐에 따라 Proxmox 백업 자동화 방식이 완전히 달라지거든요.
| 구분 | 로컬/NFS/CIFS 백업 | PBS(Proxmox Backup Server) 백업 |
|---|---|---|
| 저장 방식 | 전체 이미지 파일 (.vma) | 증분 백업 (변경분만 저장) |
| 중복 제거 | ❌ 없음 | ✅ 청크 기반 중복 제거 |
| 암호화 | 제한적 | ✅ 클라이언트 사이드 암호화 지원 |
| 복원 속도 | 보통 | 빠름 (증분 복원 가능) |
| 스토리지 효율 | 낮음 | 매우 높음 |
| 구축 난이도 | 쉬움 | 중간 (별도 서버 필요) |
쉽게 말해서, 로컬 백업은 간단하지만 디스크를 많이 잡아먹고, PBS는 증분 백업과 중복 제거 덕분에 같은 공간에 훨씬 많은 백업 포인트를 유지할 수 있어요. 홈랩이라 스토리지가 넉넉하지 않다면 PBS가 훨씬 유리합니다.
저는 처음에 NFS 공유 폴더에 그냥 백업했다가, 한 달도 안 돼서 디스크가 꽉 차는 걸 경험했거든요. 그 이후로 Proxmox Backup Server로 갈아탔고, 같은 공간에 훨씬 오래된 백업 포인트를 유지할 수 있게 됐습니다.
PBS(Proxmox Backup Server) 설치 및 초기 설정
PBS는 Proxmox VE와는 별도의 소프트웨어입니다. 전용 ISO를 받아서 별도 머신(물리 서버든, VM이든)에 설치하는 게 기본이에요. 저는 홈랩에서 오래된 미니 PC 한 대를 PBS 전용으로 쓰고 있습니다.
1단계: PBS 설치
Proxmox 공식 사이트(proxmox.com)에서 PBS ISO를 다운받아서 설치하면 됩니다. 설치 과정은 Proxmox VE와 거의 동일해서 어렵지 않아요. 설치 후 웹 UI는 기본적으로 https://[PBS-IP]:8007로 접속합니다.
2단계: 데이터스토어(Datastore) 생성
PBS에서 백업이 실제로 저장되는 공간을 데이터스토어라고 부릅니다. 웹 UI에서 만들 수도 있고, CLI로도 만들 수 있어요.
# PBS 서버에서 실행
# /mnt/backup-pool 디렉토리를 데이터스토어로 생성
proxmox-backup-manager datastore create main /mnt/backup-pool
# 생성된 데이터스토어 목록 확인
proxmox-backup-manager datastore list
3단계: 사용자 및 토큰 생성 (API Token)
Proxmox VE가 PBS에 접속할 때 사용할 API 토큰을 만들어야 합니다. 보안상 root 계정 대신 전용 사용자를 만드는 걸 권장해요.
# PBS 서버에서 실행
# 백업 전용 사용자 생성
proxmox-backup-manager user create backup-user@pbs --password 'YourSecurePassword'
# 데이터스토어에 대한 권한 부여 (DatastoreBackup 역할)
proxmox-backup-manager acl update /datastore/main --auth-id 'backup-user@pbs' --role DatastoreBackup
# API 토큰 생성
proxmox-backup-manager user generate-token backup-user@pbs mytoken
⚠️ 중요! 토큰 값은 생성 시 한 번만 표시되니까 반드시 메모해 두세요. 저도 처음에 그냥 닫았다가 다시 만들었거든요 ㅎㅎ.
Proxmox VE에 PBS 스토리지 연결하기
이제 Proxmox VE 쪽에서 PBS를 백업 저장소로 등록해야 합니다.
웹 UI로 연결하는 방법
- Proxmox VE 웹 UI 접속 → Datacenter 선택
- 왼쪽 메뉴에서 Storage 클릭
- Add 버튼 → Proxmox Backup Server 선택
- PBS 서버 IP, 포트(8007), 앞서 만든 사용자명과 토큰 값 입력
- 데이터스토어 이름 입력 후 저장
CLI로 연결하는 방법
# Proxmox VE 노드에서 실행
# PBS 스토리지를 /etc/pve/storage.cfg에 추가
pvesm add pbs pbs-backup \
--server 192.168.1.100 \
--datastore main \
--username backup-user@pbs \
--token mytoken \
--tokenid 'backup-user@pbs!mytoken'
# 연결 확인
pvesm status
연결이 성공하면 Proxmox VE 스토리지 목록에 PBS가 표시됩니다. 여기서 핑거프린트(Fingerprint) 불일치 오류가 나는 경우가 있는데, 이건 아래 트러블슈팅 섹션에서 다룰게요.
▲ Proxmox VE 웹 UI에서 PBS 스토리지를 연결하고 백업 작업을 설정하는 화면. Storage 메뉴에서 Proxmox Backup Server 타입을 선택해 연동합니다.
Proxmox 스케줄 백업 설정: 자동화의 핵심
이제 진짜 핵심입니다. 수동으로 백업 버튼 누르는 건 언젠가 반드시 까먹게 되어 있어요. Proxmox 스케줄 백업을 설정해두면 정해진 시간에 알아서 백업이 돌아갑니다.
백업 작업(Backup Job) 생성
Proxmox VE 웹 UI에서 Datacenter → Backup 메뉴로 이동하면 백업 작업을 만들 수 있어요.
- Add 버튼 클릭
- 노드(Node), 스토리지(Storage, 아까 연결한 PBS 선택), VM 선택
- 스케줄(Schedule) 설정
- 백업 모드(Mode) 선택
- 보존 정책(Retention) 설정
스케줄 문법 이해하기
Proxmox의 스케줄은 systemd 타이머 문법을 사용합니다. 처음엔 낯설 수 있는데, 익숙해지면 굉장히 직관적이에요.
# 자주 쓰는 스케줄 예시
daily # 매일 00:00
daily 02:00 # 매일 새벽 2시
weekly # 매주 월요일 00:00
monthly # 매월 1일 00:00
sat 03:00 # 매주 토요일 새벽 3시
*/2:00 # 2시간마다
# CLI로 백업 작업 생성 예시
pvesh create /cluster/backup \
--storage pbs-backup \
--schedule 'daily 02:00' \
--mode snapshot \
--vmid 100,101,102 \
--mailnotification always \
--mailto 'admin@example.com'
백업 모드(Mode) 선택 기준
- Snapshot 모드: VM이 실행 중인 상태에서 백업. 서비스 중단 없음. 가장 많이 씀.
- Suspend 모드: 백업 중 VM을 일시 정지. 데이터 일관성이 높지만 잠깐 서비스 중단.
- Stop 모드: VM을 완전히 끄고 백업. 가장 안전하지만 다운타임 발생.
💡 팁: 데이터베이스가 돌아가는 VM이라면 Snapshot 모드만으로는 데이터 일관성이 보장되지 않을 수 있어요. 이 경우 QEMU Guest Agent를 설치하면 스냅샷 전에 파일시스템을 freeze(동결)해줘서 훨씬 안전합니다.
보존 정책(Retention Policy) 설정
백업을 얼마나 오래 보관할지 정하는 게 보존 정책입니다. PBS에서는 굉장히 세밀하게 설정할 수 있어요.
# PBS 데이터스토어에 보존 정책 설정
proxmox-backup-manager datastore update main \
--keep-last 3 \
--keep-daily 7 \
--keep-weekly 4 \
--keep-monthly 3
# 위 설정의 의미:
# keep-last 3 : 최신 백업 3개는 무조건 보관
# keep-daily 7 : 일별 백업을 7일치 보관
# keep-weekly 4 : 주별 백업을 4주치 보관
# keep-monthly 3: 월별 백업을 3개월치 보관
이 설정 덕분에 같은 스토리지 공간으로 훨씬 오랜 기간의 백업 히스토리를 유지할 수 있습니다. 증분 백업 + 중복 제거 + 보존 정책, 이 세 가지가 Proxmox Backup Server의 핵심 강점이에요.
⚠️ 실제로 겪은 트러블슈팅 모음
이론은 이론이고, 실제로 설정하다 보면 별의별 문제가 다 생기더라고요. 제가 겪은 것들을 공유합니다.
문제 1: 핑거프린트(Fingerprint) 불일치 오류
PBS 스토리지를 추가할 때 이런 오류가 나는 경우가 있어요.
TASK ERROR: fingerprint 'XX:XX:...' does not match
PBS 서버에서 핑거프린트를 직접 확인해서 Proxmox VE 설정에 넣어주면 해결됩니다.
# PBS 서버에서 실행
proxmox-backup-manager cert info | grep Fingerprint
# 출력된 핑거프린트를 복사해서
# Proxmox VE의 스토리지 설정에 fingerprint 항목에 붙여넣기
문제 2: 백업 중 'lock timeout' 오류
VM 여러 개를 동시에 백업할 때 간혹 발생합니다. 기본적으로 Proxmox는 VM당 하나의 백업만 허용하는데, 이전 백업이 비정상 종료되면 락(Lock) 파일이 남아있을 수 있어요.
# 특정 VM의 락 파일 확인 (VM ID 100 예시)
ls /run/lock/qemu-server/lock-100.conf
# 락 파일 제거 (백업이 실제로 안 돌아가고 있을 때만!)
rm /run/lock/qemu-server/lock-100.conf
문제 3: 스냅샷 백업 시 디스크 공간 부족
Snapshot 모드로 백업할 때 임시 스냅샷을 위한 여유 공간이 필요합니다. 스토리지가 꽉 차있으면 백업이 실패해요. 저장소에 최소 20% 정도 여유 공간을 확보해 두는 게 좋습니다.
문제 4: PBS 가비지 컬렉션 미실행으로 인한 공간 낭비
PBS에서 오래된 백업을 삭제해도 실제 디스크 공간이 바로 회수되지 않아요. 가비지 컬렉션(Garbage Collection)을 주기적으로 실행해야 합니다.
# PBS 서버에서 가비지 컬렉션 수동 실행
proxmox-backup-manager garbage-collection start main
# 스케줄 설정 (매주 일요일 새벽 4시)
proxmox-backup-manager datastore update main \
--gc-schedule 'sun 04:00'
저도 이걸 몰라서 한동안 PBS 디스크가 예상보다 빨리 차는 걸 보고 의아했었는데, 가비지 컬렉션 설정하고 나서 해결됐습니다.
▲ PBS 웹 대시보드에서 백업 작업 현황, 스토리지 사용량, 보존 정책 적용 결과를 한눈에 확인할 수 있습니다.
백업 검증: 백업했다고 끝이 아닙니다
이게 진짜 중요한데 많이들 놓치는 부분이에요. 백업은 복원이 되어야 의미가 있습니다. 백업 파일이 존재한다는 것과, 그 백업으로 실제로 복원이 된다는 건 다른 얘기거든요.
백업 무결성 검증 (Verify)
PBS는 백업 데이터의 무결성을 검증하는 기능을 내장하고 있습니다.
# PBS 서버에서 특정 데이터스토어 검증
proxmox-backup-manager verify-job create \
--store main \
--schedule 'weekly' \
--ignore-verified true \
--outdated-after 30
# 수동 검증 실행
proxmox-backup-manager verify-job run verify-job-id
복원 테스트
저는 분기에 한 번씩은 실제로 VM을 복원해보는 테스트를 합니다. Proxmox VE 웹 UI에서는 간단하게 할 수 있어요.
- Proxmox VE 웹 UI → 해당 노드 → PBS 스토리지 선택
- 복원하고 싶은 백업 포인트 선택
- Restore 버튼 클릭
- 복원할 VM ID와 스토리지 지정 후 실행
CLI로도 복원할 수 있습니다.
# VM 백업 복원 (VM ID 100, 새 VM ID 200으로 복원)
qmrestore pbs-backup:vm/100/2024-01-15T02:00:00Z 200 \
--storage local-lvm \
--force
# CT(LXC 컨테이너) 백업 복원
pct restore 201 pbs-backup:ct/101/2024-01-15T02:00:00Z \
--storage local-lvm \
--force
VM 백업 전략: 어떻게 구성하면 좋을까?
마지막으로 제가 실제로 운영 중인 VM 백업 전략을 공유할게요. 홈랩 기준이지만 소규모 운영 환경에도 참고하실 수 있을 거예요.
▲ VM 중요도에 따라 차등화된 백업 전략 인포그래픽. 중요 서비스는 매일, 개발/테스트 VM은 주 단위로 백업 주기를 다르게 설정합니다.
제가 쓰는 3-2-1 백업 전략
- 3: 데이터 복사본 3개 유지
- 2: 2가지 다른 미디어/스토리지에 저장
- 1: 1개는 오프사이트(다른 물리적 위치)에 보관
홈랩에서 완전한 3-2-1을 구현하기 어렵다면, 최소한 PBS 백업 + 외장 하드 또는 클라우드 스토리지(B2, S3 등)에 추가 백업을 유지하는 것을 권장합니다.
VM 중요도별 백업 주기
- 중요 서비스 VM (홈서버, NAS 등): 매일 새벽 2시, 7일치 보관
- 일반 서비스 VM: 매일 새벽 3시, 3일치 보관
- 개발/테스트 VM: 주 1회, 2주치 보관
마무리: 백업은 습관입니다
여기까지 따라오셨다면, 이제 Proxmox 백업 자동화의 기본 틀은 완성됐습니다. 🎉
정리하자면:
- ✅ PBS를 설치하고 Proxmox VE와 연동했습니다
- ✅ 증분 백업과 중복 제거로 스토리지를 효율적으로 사용합니다
- ✅ 스케줄 백업으로 매일 자동으로 백업이 돌아갑니다
- ✅ 보존 정책으로 오래된 백업을 자동 정리합니다
- ✅ 검증과 복원 테스트로 백업의 신뢰성을 확인합니다
백업은 한 번 설정했다고 끝이 아니에요. 주기적으로 백업이 제대로 돌아가고 있는지, 복원은 실제로 되는지 확인하는 습관이 중요합니다. 저도 매월 PBS 대시보드를 한 번씩 들여다보고, 분기에 한 번은 복원 테스트를 하고 있어요.
다음 글에서는 Proxmox VE 클러스터 구성과 고가용성(HA) 설정에 대해 다룰 예정입니다. PBS 백업이 잘 되어 있으면 클러스터 구성도 훨씬 마음 편하게 할 수 있거든요. 기대해주세요!
혹시 설정하다가 막히는 부분이 있으시면 댓글로 남겨주세요. 같이 해결해봐요 😊
자주 묻는 질문 (FAQ)
Q. PBS 서버는 반드시 별도 물리 서버여야 하나요?
꼭 그렇지는 않습니다. Proxmox VE 위에 VM으로 PBS를 올릴 수도 있어요. 다만 해당 노드가 장애가 나면 백업 서버도 같이 다운된다는 단점이 있어서, 가능하면 별도 머신을 추천합니다.
Q. 백업 중 VM 성능이 저하되나요?
Snapshot 모드는 백업 중 성능 영향이 거의 없습니다. 다만 스토리지 I/O는 백업 중 증가할 수 있어요. 그래서 새벽 시간대에 스케줄을 잡는 게 좋습니다.
Q. PBS 없이 로컬 백업만으로 충분하지 않나요?
단순한 환경이라면 로컬 백업도 괜찮습니다. 하지만 VM이 5개 이상이거나, 스토리지 공간이 넉넉하지 않다면 Proxmox Backup Server의 증분 백업과 중복 제거 기능이 확실히 유리합니다.
'IT > Proxmox' 카테고리의 다른 글
| [Proxmox] VE 8.2 네트워크 고급 설정: VLAN, 브릿지, nftables 방화벽 완벽 가이드 (0) | 2026.05.03 |
|---|---|
| [Proxmox] Proxmox VE 설치 후 필수 초기 설정: 8단계 완벽 가이드 (0) | 2026.05.03 |
| [Proxmox VE] VM 백업 및 복구 완벽 가이드: 데이터 손실 방지 전략 (1) | 2026.05.01 |
| [Proxmox] Proxmox VE Ceph 클러스터 구축 및 관리 완벽 가이드 (0) | 2026.04.26 |
| [Proxmox] Proxmox VE 백업 및 복원 전략: 안전한 가상 환경 운영 가이드 (1) | 2026.04.19 |
| [Proxmox] Proxmox VE ZFS 스토리지 최적화: 성능과 안정성 동시 확보 가이드 (2) | 2026.04.19 |