13년차의 서버실

서버, 인프라, 홈랩 기술 블로그

[태그:] Proxmox Backup Server

  • [Proxmox] Proxmox 백업 전략 비교: PBS, NAS, 클라우드 중 무엇을 선택할까?

    [Proxmox] Proxmox 백업 전략 비교: PBS, NAS, 클라우드 중 무엇을 선택할까?

    Proxmox 백업 전략 비교: PBS, NAS, 클라우드 중 무엇을 선택할까?

    안녕하세요, 13년차의 서버실 주인장입니다. 홈랩에서 Proxmox VE(Virtual Environment)를 운영하시는 분들이라면 한 번쯤은 ‘내 소중한 가상 머신(VM)이랑 컨테이너(LXC) 데이터, 어떻게 안전하게 백업해야 할까?’ 하는 고민을 해보셨을 거예요. 저도 처음엔 대수롭지 않게 생각했다가, 디스크 장애로 모든 데이터를 날릴 뻔한 아찔한 경험을 하고 나서 백업의 중요성을 뼈저리게 느꼈거든요. 그때부터 백업 전략에 진심이 됐죠. 오늘은 Proxmox 환경에서 가장 많이 고려하는 세 가지 백업 전략, 바로 Proxmox Backup Server (PBS), NAS (Network Attached Storage), 그리고 클라우드 백업을 제 경험을 바탕으로 비교 분석해 드릴게요. 어떤 선택이 여러분의 홈랩에 딱 맞을지 함께 고민해 봅시다!

    Proxmox 환경에서 백업 데이터가 여러 저장소로 이동하는 전체적인 아키텍처 다이어그램입니다.

    1. Proxmox 백업, 왜 중요할까요?

    솔직히 백업은 평소엔 귀찮고 비용만 드는 일처럼 느껴질 때가 많잖아요? 저도 그랬습니다. 하지만 데이터 손실은 언제든 일어날 수 있는 현실이에요. 하드웨어 고장, 소프트웨어 오류, 심지어는 실수로 인한 삭제까지요. 특히 Proxmox는 여러 VM과 LXC를 한데 모아 운영하는 만큼, 하나의 장애가 전체 서비스 중단으로 이어질 수 있습니다. 그래서 정기적인 백업과 복구 계획은 선택이 아니라 필수거든요. 백업은 단순히 데이터를 저장하는 것을 넘어, 비상 상황 시 서비스를 빠르게 복구하고 비즈니스 연속성(Business Continuity)을 확보하는 핵심 과정이에요.

    2. Proxmox 백업 전략, 세 가지 주요 선택지

    Proxmox 백업을 위한 다양한 방법 중, 가장 대표적인 세 가지를 설명해 드릴게요.

    2.1. Proxmox Backup Server (PBS) – Proxmox에 최적화된 백업 솔루션

    PBS는 Proxmox VE 개발팀이 직접 만든 백업 솔루션이에요. 쉽게 말해, Proxmox VE 백업을 위해 태어난 전용 서버라고 보시면 됩니다. 얘의 가장 큰 장점은 바로 블록 레벨 중복 제거(Block-level Deduplication)와 증분 백업(Incremental Backup)이에요. 처음 백업할 때는 모든 데이터를 다 저장하지만, 다음 백업부터는 변경된 블록만 저장해서 백업 공간을 엄청나게 절약해 줍니다. 게다가 데이터 무결성 검사(Data Integrity Checks) 기능도 있어서 백업된 데이터가 손상되지 않았는지 주기적으로 확인해 주니 얼마나 든든한지 몰라요. 제가 직접 써보니, 여러 Proxmox VE 호스트를 운영하는 경우 중앙에서 효율적으로 백업을 관리할 수 있어서 정말 편하더라고요.

    2.2. NAS (Network Attached Storage) – 쉽고 친숙한 로컬 백업

    NAS는 이름 그대로 네트워크에 연결된 저장 장치를 의미합니다. 시놀로지(Synology)나 큐냅(QNAP) 같은 제품들이 대표적이죠. Proxmox VE에서 NFS(Network File System)나 SMB/CIFS(Server Message Block/Common Internet File System) 프로토콜을 이용해 NAS를 백업 저장소로 연결하는 방식이에요. 특별한 소프트웨어 설치 없이 Proxmox VE 자체 백업 기능을 활용할 수 있다는 게 장점입니다. 접근성이 좋고 사용법이 직관적이라 홈랩에서 많이들 사용하시죠. 저도 처음엔 NAS에 백업을 많이 했었는데, 설정만 잘하면 가장 빠르게 백업을 시작할 수 있는 방법이거든요.

    2.3. 클라우드 백업 – 안전한 오프사이트(Offsite) 저장소

    클라우드 백업은 아마존 S3(Amazon S3), 구글 클라우드 스토리지(Google Cloud Storage), 백블레이즈 B2(Backblaze B2), 혹은 마이크로소프트 애저 블롭 스토리지(Microsoft Azure Blob Storage) 같은 원격 클라우드 저장소에 백업 데이터를 올리는 방식입니다. 가장 큰 장점은 지리적 분산(Geographical Distribution)이에요. 만약 홈랩에 화재나 도난 같은 큰 재해가 발생해도 클라우드에 저장된 데이터는 안전하죠. 주로 rclone 같은 도구를 사용해서 Proxmox VE에서 생성된 백업 파일을 클라우드로 동기화하는 방식으로 많이 사용합니다. 백업 속도는 인터넷 회선에 따라 달라지지만, 재해 복구(Disaster Recovery) 관점에서 보면 최고의 선택지 중 하나거든요.

    3. 실전 구현: Proxmox 백업 저장소 구성 및 백업 명령어

    각 전략별로 Proxmox VE에서 어떻게 백업 저장소를 구성하고 백업을 실행하는지 간단한 예시를 보여드릴게요.

    3.1. Proxmox Backup Server (PBS) 연결 및 백업

    PBS를 별도의 서버에 설치하고 나면, Proxmox VE 웹 GUI에서 Datacenter > Storage > Add > Proxmox Backup Server를 선택해서 연결할 수 있습니다. 필요한 정보는 PBS 서버의 IP 주소, 포트(기본 8007), 사용자 이름, 비밀번호, 그리고 인증서 지문(Fingerprint)이에요. 연결 후에는 일반 스토리지처럼 백업 작업을 스케줄링할 수 있습니다.

    CLI에서 특정 VM을 PBS로 백업하려면 다음과 같이 명령을 사용해요:

    # Proxmox VE 호스트에서 실행
    qm backup <VMID> --storage <PBS_Storage_ID> --mode snapshot --compress zstd
    # 예시: VM 101을 'pbs-backup'이라는 스토리지 ID로 스냅샷 모드, zstd 압축을 사용하여 백업
    qm backup 101 --storage pbs-backup --mode snapshot --compress zstd
    

    <VMID>는 백업할 가상 머신의 ID이고, <PBS_Storage_ID>는 Proxmox VE에 등록한 PBS 저장소의 ID입니다. --mode snapshot은 VM이 실행 중인 상태에서 백업하는 방식이고, --compress zstd는 Zstandard 압축을 사용하겠다는 의미예요. PBS는 이 압축률이 상당히 좋더라고요.

    3.2. NAS (NFS) 연결 및 백업

    NAS를 NFS로 연결하는 방법은 Proxmox VE 호스트에 직접 마운트하는 방식이 일반적입니다. 먼저 SSH로 Proxmox VE에 접속해서 마운트 포인트를 만들고, NAS의 NFS 공유를 마운트합니다.

    # Proxmox VE 호스트에서 실행
    mkdir -p /mnt/pve/nasbackup
    mount -t nfs 192.168.1.100:/volume1/proxmox_backup /mnt/pve/nasbackup
    # 부팅 시 자동 마운트를 위해 /etc/fstab에 추가 (주의: 반드시 테스트 후 적용!)
    # 192.168.1.100:/volume1/proxmox_backup /mnt/pve/nasbackup nfs defaults 0 0
    

    마운트가 성공하면, Proxmox VE 웹 GUI에서 Datacenter > Storage > Add > Directory를 선택하고, Directory 경로에 /mnt/pve/nasbackup을 입력하여 저장소로 추가합니다. Content에는 백업(VZDump backup file)을 꼭 선택해 주세요.

    3.3. 클라우드 백업 (rclone 사용)

    클라우드 백업은 Proxmox VE에서 직접 클라우드 저장소를 연결하기보다는, NAS로 백업된 파일이나 로컬 저장소에 백업된 파일을 rclone 같은 도구를 이용해 클라우드로 동기화하는 방식을 추천해요. 저는 보통 NAS로 1차 백업을 하고, 그 NAS의 백업 폴더를 rclone으로 클라우드에 2차 백업하는 방식을 선호합니다.

    # rclone 설치 및 설정 (설정은 `rclone config` 명령어로 대화형으로 진행)
    # rclone config 설정 시, 원격 저장소 이름 (예: 'b2_proxmox')과 자격 증명을 입력합니다.
    
    # Proxmox VE 백업 디렉토리에 있는 파일을 Backblaze B2 (b2_proxmox)로 동기화
    rclone sync /var/lib/vz/dump/ b2_proxmox:proxmox-backups/ --fast-list --progress --log-file /var/log/rclone_sync.log
    

    rclone sync 명령어는 소스 디렉토리와 대상 클라우드 저장소를 동기화합니다. --fast-list는 큰 디렉토리에서 빠르게 목록을 가져오고, --progress는 진행 상황을 보여주며, --log-file은 로그를 파일로 기록합니다. 이 명령어를 cron에 등록해서 주기적으로 실행하면 클라우드 백업이 자동화돼요.

    Proxmox VE 웹 인터페이스에서 성공적으로 완료된 백업 작업 로그 스크린샷

    Proxmox VE 웹 GUI에서 성공적으로 완료된 백업 작업의 로그 화면입니다.

    4. 주의사항 및 삽질 경험 공유: NAS NFS 권한 문제

    제가 NAS를 백업 저장소로 사용하면서 가장 많이 삽질했던 부분이 바로 NFS 권한 문제였어요. 분명히 마운트는 됐는데, Proxmox VE에서 백업을 시작하면 ‘permission denied’ 오류가 뜨는 겁니다. 처음엔 Proxmox VE 호스트의 사용자 권한 문제인 줄 알고 여러 설정을 바꿔봤는데, 알고 보니 NAS 쪽 NFS 공유 설정 문제였더라고요. Proxmox VE는 백업 파일을 생성할 때 root 권한으로 접근하려고 하는데, NAS의 NFS 공유 설정에서 root squash가 활성화되어 있으면 root 권한이 일반 사용자 권한으로 매핑되어 버립니다. 그래서 쓰기 권한이 없어져 버리는 거죠.

    해결 방법: NAS의 NFS 공유 설정에서 해당 공유 폴더에 대해 ‘root squash’를 ‘no_root_squash’로 변경해야 합니다. 시놀로지 NAS의 경우 제어판 > 파일 서비스 > NFS > NFS 고급 설정 > 루트와 동일한 권한으로 모든 클라이언트에게 액세스 허용 (또는 유사한 옵션)을 체크하거나, 특정 IP에 대해 ‘root squash’ 설정을 변경하는 옵션을 찾아보세요. 이 설정을 변경하고 나니 백업이 드디어 성공하더라고요! 🥳

    5. Proxmox 백업 전략 비교: 무엇을 선택할까?

    세 가지 전략의 장단점을 정리한 비교표를 보면서 어떤 선택이 여러분의 상황에 가장 적합할지 함께 고민해 봅시다.

    구분 Proxmox Backup Server (PBS) NAS (NFS/SMB) 클라우드 백업 (rclone)
    장점
    • Proxmox VE에 최적화된 성능
    • 블록 레벨 중복 제거로 공간 효율 극대화
    • 증분 백업 지원
    • 데이터 무결성 검사
    • Proxmox VE GUI 통합 및 쉬운 관리
    • 빠른 복구 속도 (로컬 네트워크)
    • 설정 간편 (친숙한 NAS 인터페이스)
    • 비교적 저렴한 초기 비용
    • 로컬 네트워크 내 빠른 백업/복구
    • 다목적 사용 가능 (파일 서버 등)
    • 최고의 재해 복구 능력 (오프사이트)
    • 무제한에 가까운 확장성
    • 물리적 재해로부터 안전
    • 관리 부담 적음 (인프라)
    단점
    • 별도 서버 또는 VM 필요 (하드웨어 자원 소모)
    • 초기 설정 학습 필요
    • 로컬 저장소에 의존 (오프사이트 백업 필요)
    • 중복 제거 기능 미약 (Proxmox 자체 기능 사용 시)
    • 데이터 무결성 검사 부족
    • 오프사이트 백업 미지원
    • 성능이 NAS 자체에 따라 제한적
    • 인터넷 대역폭에 따른 백업/복구 속도 제한
    • 지속적인 운영 비용 발생
    • 복잡한 rclone 설정 (초심자에게)
    • 데이터 유출 위험 (보안 고려 필요)
    적합한 경우
    • 다수의 Proxmox VE 호스트 운영
    • 백업 공간 효율이 중요한 경우
    • 빠른 복구와 데이터 무결성 중시
    • 전용 백업 솔루션 도입 의지
    • 단일 Proxmox VE 호스트 운영
    • 간단하고 빠른 백업 구성 선호
    • 초기 비용 절감 중요
    • 다른 용도로 NAS를 이미 사용 중
    • 강력한 재해 복구 계획 필요
    • 오프사이트 백업이 필수인 경우
    • 물리적 저장 공간 제약
    • 백업 데이터 보안에 대한 이해
    Proxmox 백업 전략 (PBS, NAS, 클라우드) 핵심 특징 및 장단점 비교 인포그래픽

    Proxmox 백업 전략별 주요 특징과 고려사항을 요약한 인포그래픽입니다.

    6. 결론: 당신의 홈랩에 맞는 백업 전략은?

    각 백업 전략은 고유한 장단점이 있기 때문에, 어떤 것이 ‘최고’라고 단정하기는 어렵습니다. 중요한 것은 여러분의 홈랩 규모, 예산, 그리고 가장 중요하게 생각하는 가치(속도, 공간 효율, 재해 복구 등)에 따라 최적의 조합을 찾는 것이에요.

    제 경험을 바탕으로 몇 가지 시나리오를 제안해 드릴게요.

    • 작은 홈랩 (Proxmox VE 1대, 예산 제한적): NAS 백업만으로도 충분히 시작할 수 있습니다. 이미 가지고 있는 NAS가 있다면 가장 저렴하고 빠르게 백업 환경을 구축할 수 있죠. 다만, 오프사이트 백업은 꼭 고려해 주세요.
    • 성장하는 홈랩 (Proxmox VE 2대 이상, 백업 데이터 많음): PBS를 적극 추천합니다. 중복 제거와 증분 백업 기능으로 백업 공간을 효율적으로 사용하고, 중앙에서 백업 관리가 정말 편리하거든요. 별도의 서버가 부담된다면, Proxmox VE 호스트 중 하나에 VM으로 PBS를 설치하는 방법도 고려해 볼 수 있어요 (물론, 백업 서버와 원본 서버가 동일 호스트에 있으면 재해 발생 시 위험이 커지니 추천하지는 않습니다. 가능하면 별도 물리 서버에 구축하는 것이 좋아요).
    • 최고의 안정성 (재해 복구 필수): PBS + 클라우드 백업 조합이 가장 이상적입니다. PBS로 빠르고 효율적인 로컬 백업을 하고, 이 백업 데이터를 rclone 등을 통해 클라우드에 2차로 동기화하는 거죠. 이중 백업 전략(3-2-1 Rule: 3개의 복사본, 2가지 미디어, 1개 오프사이트)을 충족시켜 최고의 안정성을 확보할 수 있습니다. 초기 설정은 복잡하지만, 한번 구축해두면 마음이 정말 편안하더라고요.

    결론적으로, 저는 홈랩 규모가 커질수록 Proxmox Backup Server(PBS)의 도입을 강력히 권장합니다. 그리고 어떤 전략을 선택하시든, 오프사이트 백업은 반드시 병행하시라고 말씀드리고 싶어요. 백업은 단순히 데이터를 저장하는 것을 넘어, 언젠가 찾아올지 모르는 재앙에 대비하는 보험과도 같으니까요.

    다음 글에서는 PBS를 직접 설치하고 설정하는 방법에 대해 더 자세히 다뤄볼 예정이니 기대해주세요! 백업은 꾸준함이 생명입니다. 여러분의 소중한 데이터를 안전하게 지키세요! 💪

  • [Proxmox] Proxmox Backup Server 1년 후기: 홈랩 백업 전략 어떻게 달라졌나

    [Proxmox] Proxmox Backup Server 1년 후기: 홈랩 백업 전략 어떻게 달라졌나

    1년 전으로 돌아가 보겠습니다

    솔직히 말씀드리면, 저도 한동안 백업을 대충 해왔습니다. Proxmox VE(이하 PVE)에서 VM 스냅샷 찍어두는 게 전부였거든요. 홈랩이라 어차피 실서비스도 아니고, “뭐 날아가면 다시 만들지” 하는 마인드였어요. 근데 딱 한 번, NVMe SSD가 조용히 죽으면서 제 생각이 완전히 바뀌었습니다. 그날 이후로 Proxmox Backup Server를 알아보기 시작했고, 결국 1년 넘게 운영하면서 정말 많은 걸 배웠어요.

    이 글은 PBS를 처음 도입한 분들이나, 지금 홈랩 백업 전략을 고민 중인 분들께 제 1년 경험을 그대로 공유하는 글입니다. 완벽한 가이드라기보다는, 삽질하면서 쌓인 경험담이라고 봐주시면 좋겠어요.

    ▲ 현재 제 홈랩 PBS 아키텍처 구성도. PVE 노드 2대가 단일 PBS 서버로 백업되는 구조입니다.

    Proxmox Backup Server가 뭔가요? (PBS 개념 이해)

    PBS는 Proxmox에서 만든 전용 백업 솔루션이에요. PVE와 별도로 설치하는 독립 서버입니다. 쉽게 말해서, PVE가 “VM 돌리는 서버”라면 PBS는 “그 VM들을 안전하게 저장하는 창고” 역할이라고 보시면 됩니다.

    일반 파일 복사 백업이랑 다르게, PBS는 몇 가지 핵심 기술을 씁니다.

    • 청크 기반 중복 제거(Chunk-based Deduplication): 같은 데이터 블록은 한 번만 저장. VM 10개가 동일한 Ubuntu 베이스 이미지를 쓴다면, 그 베이스 부분은 1개만 저장
    • 증분 백업(Incremental Backup): 변경된 부분만 전송해서 네트워크 부하와 시간을 확 줄여줌
    • zstd 압축: 저장 공간을 효율적으로 활용
    • 클라이언트 사이드 암호화(Client-side Encryption): 데이터가 PBS에 도달하기 전에 암호화

    처음엔 이게 뭔가 복잡해 보였는데, 실제로 써보니까 그냥 “그냥 돌아가는” 느낌이더라고요. 설정 한 번만 잘 잡아두면 나머지는 자동으로 돌아갑니다.

    PBS 초기 설치 및 설정 방법

    PBS는 Proxmox 공식 사이트에서 ISO를 받아서 별도 머신에 설치합니다. 저는 오래된 인텔 NUC에 설치했어요. 설치 과정 자체는 PVE랑 거의 비슷해서 어렵지 않았습니다.

    데이터스토어(Datastore) 생성

    설치 후 첫 번째로 할 일은 백업이 저장될 데이터스토어(Datastore) 만들기입니다. PBS 웹 UI에서 몇 번 클릭으로 가능해요.

    # PBS 웹 UI 접속: https://PBS-IP:8007
    # 또는 CLI로 데이터스토어 생성
    proxmox-backup-manager datastore create backup-store /mnt/backup-disk

    PVE에서 PBS 연결하기

    PVE 웹 UI에서 Datacenter → Storage → Add → Proxmox Backup Server를 선택하면 됩니다. 여기서 PBS의 IP, 포트(기본 8007), 사용자 계정, 데이터스토어 이름을 넣으면 끝이에요. 핑거프린트(Fingerprint)는 PBS 웹 UI 대시보드에서 확인할 수 있습니다.

    # CLI로 PVE에 PBS 스토리지 추가하는 방법 (PVE 노드에서)
    pvesm add pbs pbs-backup \
      --server 192.168.1.100 \
      --datastore backup-store \
      --username backup-user@pbs \
      --password 'YourSecurePassword' \
      --fingerprint XX:XX:XX:... # PBS 대시보드에서 확인

    백업 작업(Backup Job) 스케줄 설정

    PVE에서 Datacenter → Backup → Add로 백업 작업을 만듭니다. 저는 이런 식으로 잡아뒀어요.

    • 중요 VM(서비스용): 매일 새벽 3시, 주 7회 보관
    • 테스트용 VM: 주 2회, 4주 보관
    • 개발 환경 CT(Container): 매일 새벽 4시, 2주 보관
    Proxmox Backup Server 웹 UI 데이터스토어 설정 및 백업 작업 스케줄 화면

    ▲ PBS 웹 UI에서 데이터스토어와 백업 작업을 관리하는 화면 예시. 직관적인 인터페이스가 장점입니다.

    1년 실제 운영하며 겪은 것들

    중복 제거 효과가 진짜로 체감됩니다

    처음 한 달쯤 됐을 때, PBS 데이터스토어 사용량을 보고 깜짝 놀랐어요. VM 원본 데이터 합산이 2TB 정도였는데, PBS에 저장된 실제 데이터는 400GB 수준이더라고요. 중복 제거와 압축이 이 정도로 효과가 있을 줄은 몰랐습니다.

    특히 비슷한 OS를 쓰는 VM이 많을수록 효과가 극대화되더라고요. Ubuntu 22.04 베이스로 만든 VM이 7~8개 있었는데, 그 공통 부분이 한 번만 저장되니까 공간 절약이 확실하게 됩니다.

    검증(Verify) 작업의 중요성

    PBS에는 검증 작업(Verify Job)이 있어요. 저장된 백업 데이터가 실제로 멀쩡한지 주기적으로 체크해주는 기능인데, 처음엔 그냥 넘겼다가 나중에야 필수로 켜게 됐습니다.

    💡 팁: 백업이 있다고 안심하지 마세요. 검증하지 않은 백업은 “있는 것 같은” 백업일 뿐입니다. Verify Job을 주 1회 정도 설정해두는 걸 강력 추천드려요.

    가비지 컬렉션(Garbage Collection)도 꼭 설정하세요

    프루닝(Pruning, 오래된 백업 제거) 후에 실제 디스크 공간이 안 줄어서 한참 헤맸습니다. PBS는 청크 기반 저장 방식이라, 프루닝만으로는 공간이 바로 반환되지 않아요. 가비지 컬렉션(Garbage Collection)을 별도로 돌려야 합니다. 저는 매주 일요일 새벽에 GC 작업을 스케줄로 걸어뒀어요.

    # CLI로 가비지 컬렉션 수동 실행
    proxmox-backup-manager garbage-collection start backup-store
    
    # 진행 상태 확인
    proxmox-backup-manager task list | grep garbage

    ⚠️ 삽질 모음: 이건 미리 알았으면 좋았을 텐데

    문제 1: 백업은 되는데 복구가 안 되는 공포

    초기에 암호화를 켜고 백업을 쌓았는데, 키 파일 관리를 제대로 안 했어요. 나중에 테스트 복구를 해보려니 키가 어디 있는지 헷갈리는 상황이 발생했습니다. 정말 식은땀 흘렸어요.

    해결책: 암호화 키는 반드시 별도 안전한 곳에 백업해두세요. USB, 클라우드 보관함, 비밀번호 매니저 등 최소 2곳 이상에.

    # 암호화 키 백업하는 방법 (클라이언트 측)
    proxmox-backup-client key create --kdf scrypt
    # 생성된 키 파일을 반드시 안전한 위치에 복사
    cp ~/.config/proxmox-backup/encryption-keys/default /path/to/safe/backup/

    문제 2: 네트워크 속도와 백업 시간

    처음엔 PBS를 기가비트 스위치에서 다른 VLAN에 뒀더니 실효 백업 속도가 너무 느렸어요. 큰 VM 하나 백업하는 데 몇 시간씩 걸리더라고요. 근데 여기서 중요한 포인트! 증분 백업이 자리를 잡으면 첫 백업 이후에는 훨씬 빠릅니다. 실제로 안정화된 이후에는 변경량이 적은 VM은 1~2분 안에 백업이 끝나더라고요.

    문제 3: 디스크 용량 계획

    중복 제거 효과를 너무 믿고 작은 디스크를 썼다가 6개월쯤에 용량 부족 경보가 떴습니다. 중복 제거 비율은 VM 구성에 따라 편차가 크거든요. 보수적으로 예상 데이터량의 1.5~2배 정도는 확보해두시길 추천드립니다.

    데이터 보호 전략이 어떻게 바뀌었나

    PBS 도입 전후로 제 홈랩 백업 전략이 확 달라졌어요. 비교해보면 이렇습니다.

    항목 PBS 도입 전 PBS 도입 후
    백업 방식 PVE 로컬 스냅샷 PBS 증분 백업 + 로컬 스냅샷 병행
    보관 정책 최신 1~2개 일간 7개, 주간 4개, 월간 3개
    복구 검증 안 함 (😅) 분기별 복구 테스트 + 주간 Verify Job
    저장 효율 용량 그대로 중복 제거로 실효 70~80% 절약
    암호화 없음 클라이언트 사이드 암호화 적용
    모니터링 수동 확인 이메일 알림 + 작업 로그 자동화

    가장 큰 변화는 “백업했다”에서 “백업이 됐는지 확인한다”로 마인드가 바뀐 것이에요. PBS의 Verify Job과 정기 복구 테스트가 이 습관을 만들어줬습니다. 이전엔 솔직히 복구 테스트 같은 건 귀찮아서 안 했거든요 ㅎㅎ.

    PBS 도입 전후 홈랩 데이터 보호 전략 비교 인포그래픽

    ▲ PBS 도입 전후 데이터 보호 전략 비교. 단순 스냅샷에서 체계적인 3-2-1 백업 전략으로 발전했습니다.

    ✅ 1년 후 실제 결과 및 검증

    가장 의미 있는 건 실제로 복구를 써봤다는 거예요. 테스트가 아니라 진짜로요. 개발 VM 하나에서 잘못된 설정 변경으로 서비스가 망가진 적이 있었는데, PBS에서 3일 전 백업으로 10분 만에 복구했습니다. 이때 진짜 PBS 도입한 보람을 느꼈어요.

    1년간 운영하면서 체감한 PBS 장점을 정리하면:

    • ✅ 중복 제거 + 압축으로 실제 저장 공간 대폭 절약 (환경마다 다르지만 체감 효과 있음)
    • ✅ 증분 백업 안정화 이후 백업 속도 매우 빠름
    • ✅ PVE 네이티브 연동으로 별도 에이전트 없이 바로 사용
    • ✅ 웹 UI가 직관적이어서 CLI 없이도 대부분 관리 가능
    • ✅ 3-2-1 백업 전략 구현에 딱 맞는 구조

    아쉬운 점도 있습니다:

    • ⚠️ Proxmox VE 환경에 최적화되어 있어서, 다른 하이퍼바이저 백업은 한계 있음
    • ⚠️ 별도 하드웨어(또는 VM)가 필요해서 소규모 홈랩엔 진입 장벽이 약간 있음
    • ⚠️ GC, Verify, Prune 등 개념을 어느 정도 이해해야 제대로 운영 가능
    PBS 백업 통계 대시보드 - 중복 제거 효율 및 저장 공간 절약 현황 시각화

    ▲ PBS 대시보드에서 확인할 수 있는 백업 현황 및 중복 제거 효율. 안정적인 백업 운영이 수치로 확인됩니다.

    자주 묻는 질문 (FAQ)

    PBS는 별도 서버가 꼭 필요한가요?

    공식적으로는 PVE와 분리된 환경을 권장합니다. 실제로 PVE VM 안에 PBS를 설치해서 쓰는 분들도 있긴 한데, PVE 호스트에 문제가 생기면 백업 서버도 같이 영향받을 수 있어서 별도 물리 장비나 독립 시스템 사용을 추천드려요.

    홈랩 규모에서 PBS가 과한 선택 아닌가요?

    저도 처음엔 그렇게 생각했어요. 근데 막상 써보니 홈랩 규모에서도 충분히 가치가 있더라고요. 특히 여러 VM/CT를 운영한다면 중복 제거 효과와 자동화 스케줄링이 큰 도움이 됩니다.

    오프사이트 백업은 어떻게 하시나요?

    현재는 PBS 원격 동기화(Remote Sync) 기능을 활용해서 별도 위치의 PBS로 복제하는 방식을 테스트 중입니다. 이 부분은 다음 글에서 자세히 다룰 예정이에요.

    마무리: 데이터는 잃고 나서 후회합니다

    1년간 Proxmox Backup Server를 운영하면서 배운 가장 큰 교훈은, 백업은 “있다”가 아니라 “복구된다”가 기준이라는 점이에요. PBS가 완벽한 솔루션은 아니지만, Proxmox 환경에서 홈랩 백업을 제대로 구축하고 싶다면 진지하게 고려할 만합니다.

    처음 도입이 어렵게 느껴지실 수 있는데, 기본 설정만 잡아두면 나머지는 정말 편하게 돌아가거든요. 혹시 이 글 읽고 PBS 도입을 고민 중이시라면, 제 경험이 조금이라도 도움이 됐으면 합니다.

    다음 글에서는 PBS의 원격 동기화(Remote Sync)와 테이프 백업 설정을 다뤄볼 예정이에요. 진정한 3-2-1 백업 전략을 홈랩에서 구현하는 방법, 기대해주세요. 이전 글에서 다룬 Proxmox VE 초기 설정도 참고하시면 전체 그림이 잡힐 거예요.

    궁금한 점이나 삽질 경험이 있으신 분들은 댓글로 공유해주세요. 같이 고민해봐요! 🎉

  • [Proxmox] Proxmox Backup Server vs Veeam Agent: 홈랩 VM 백업 솔루션 성능 벤치마크

    [Proxmox] Proxmox Backup Server vs Veeam Agent: 홈랩 VM 백업 솔루션 성능 벤치마크

    안녕하세요, 13년차 서버실 지킴이입니다. 오늘도 제 홈랩에서 겪었던 삽질과 그 결과물을 공유해드리려고 합니다. 홈랩을 운영하다 보면 가장 중요하면서도 소홀하기 쉬운 부분이 바로 ‘백업’이더라고요. 소중한 설정 파일, 직접 구축한 서비스 데이터, 자식 같은 VM들… 한순간에 날아갈 수도 있다는 생각에 늘 불안하죠. 그래서 오늘은 제가 직접 Proxmox Backup Server (PBS)와 Veeam Agent for Linux 두 가지 백업 솔루션을 비교하고 성능을 벤치마크해본 경험을 이야기해보려고 합니다. 홈랩 VM 백업 솔루션 선택에 고민이 많으셨다면, 이 글이 좋은 가이드가 될 거예요.

    Proxmox Backup Server와 Veeam Agent를 활용한 홈랩 VM 백업 아키텍처 다이어그램

    홈랩 환경에서 Proxmox VE 호스트, Proxmox Backup Server VM, NAS 스토리지, 그리고 Veeam Agent가 설치된 게스트 VM들이 서로 연결되어 백업이 진행되는 전체 아키텍처 다이어그램입니다.

    1. Proxmox Backup Server와 Veeam Agent, 뭐가 다른가요?

    먼저 오늘 비교할 두 주인공에 대해 간단히 알아볼까요? 제가 직접 써보니 각각의 특징이 아주 명확하더라고요.

    1.1. Proxmox Backup Server (PBS)

    Proxmox Backup Server (PBS)는 이름에서 알 수 있듯이 Proxmox VE(Virtual Environment) 생태계에 최적화된 백업 솔루션입니다. Proxmox VE를 사용하신다면 마치 한 몸처럼 연동되는 걸 느낄 수 있을 거예요. 주요 특징은 다음과 같습니다.

    • 블록 수준 중복 제거 (Block-level Deduplication): 백업 데이터에서 중복되는 블록을 찾아 제거해서 스토리지 공간을 엄청나게 절약해줍니다. 제가 써보니 이 기능이 정말 압권이더라고요!
    • 증분 백업 (Incremental Backup): 변경된 데이터만 백업해서 백업 시간을 줄여줍니다.
    • 압축 (Compression): 백업 데이터를 압축하여 스토리지 효율을 높여줍니다.
    • 웹 기반 GUI: Proxmox VE와 유사하게 직관적인 웹 인터페이스를 제공해서 관리하기 정말 편합니다.
    • 통합 백업 스케줄링: Proxmox VE에서 직접 PBS로 VM 백업 스케줄을 설정할 수 있어요.

    1.2. Veeam Agent for Linux

    Veeam Agent for Linux는 Veeam에서 제공하는 리눅스용 백업 에이전트입니다. Proxmox VE 환경뿐만 아니라, 일반 물리 서버나 다른 하이퍼바이저의 게스트 OS 등 다양한 리눅스 환경에서 유연하게 사용할 수 있다는 장점이 있어요. 특히 Free (무료) 버전도 기본적인 백업/복구 기능이 강력해서 홈랩 백업 솔루션으로 많이들 사용하시더라고요.

    • 에이전트 기반 (Agent-based): 백업 대상 리눅스 VM 내부에 직접 에이전트를 설치해서 동작합니다.
    • 다양한 백업 대상: 전체 시스템 (Entire System), 볼륨 (Volume), 파일 수준 (File-level) 백업을 지원합니다.
    • 유연한 복구 옵션: 베어 메탈 복구 (Bare-metal Recovery), 파일 복구 등을 지원합니다.
    • Free 버전의 강력함: 무료 버전으로도 훌륭한 백업 기능을 제공해서 저 같은 홈랩 유저들에게 인기가 많죠.

    2. 제 홈랩에서 직접 구현해 본 과정

    이론은 여기까지 하고, 이제 제가 직접 어떻게 구성했는지 설명해 드릴게요. 제 홈랩은 Proxmox VE 호스트 한 대와 NAS (Network Attached Storage)로 구성되어 있습니다. 백업 대상은 Proxmox VE 위에 올라간 데비안(Debian) 기반의 리눅스 VM이었어요.

    2.1. Proxmox Backup Server (PBS) 설치 및 구성

    저는 별도의 VM에 PBS를 설치했습니다. 물론 물리 서버에 설치해도 되지만, 홈랩에서는 VM도 충분하거든요.

    1. PBS VM 생성: Proxmox VE에서 새로운 VM을 만들고, PBS ISO 파일을 마운트해서 설치했습니다. 설치 과정은 Proxmox VE와 비슷해서 어렵지 않더라고요. 최소 4GB RAM과 2코어 CPU, 그리고 백업 데이터를 저장할 디스크를 할당해줬습니다.
    2. 저장소 설정: PBS 웹 GUI에 접속해서 백업 데이터를 저장할 디스크를 Datastore(데이터스토어)로 설정했습니다. 저는 NAS의 NFS 마운트 경로를 여기에 연결했어요.
    3. Proxmox VE에 PBS 추가: Proxmox VE 웹 GUI에서 Datacenter > Storage > Add > Proxmox Backup Server를 선택하고, PBS의 IP 주소와 Datastore 이름, 사용자 인증 정보를 입력했습니다.
    4. 백업 작업 생성: 이제 Proxmox VE에서 백업할 VM을 선택하고 ‘Backup’ 버튼을 누르면, 스토리지 옵션에 PBS 서버가 뜨는 것을 확인할 수 있습니다. 스케줄링과 리텐션(Retention, 보존 정책)까지 설정해주면 끝! 정말 편하더라고요.
    Proxmox Backup Server 웹 GUI의 백업 성공 및 스토리지 중복 제거율 화면

    Proxmox Backup Server의 웹 인터페이스에서 백업 작업이 성공적으로 완료된 목록과 데이터스토어의 중복 제거율 및 압축률을 보여주는 화면입니다.

    2.2. Veeam Agent for Linux 설치 및 구성

    이제 백업 대상 리눅스 VM에 Veeam Agent를 설치할 차례입니다. 저는 데비안 기반 VM에 설치했어요.

    1. Veeam Repository 추가: 먼저 Veeam 리포지토리를 추가해야 합니다.
    2. wget -qO - https://download.veeam.com/veeam-release-key.gpg | sudo apt-key add -
      echo "deb https://download.veeam.com/linux-repository-x64 stable" | sudo tee /etc/apt/sources.list.d/veeam.list
      sudo apt update
    3. Veeam Agent 설치: 리포지토리를 추가했으니, 이제 에이전트를 설치합니다.
    4. sudo apt install veeam
    5. 설정 및 백업 저장소 마운트: Veeam Agent는 백업 데이터를 저장할 위치가 필요합니다. 저는 NAS의 SMB 공유 폴더를 VM 내부에 마운트해서 사용했어요.
    6. # /etc/fstab 에 추가
      //NAS_IP/share /mnt/veeam_backup cifs credentials=/root/.smbcredentials,uid=1000,gid=1000 0 0
      # .smbcredentials 파일 내용: username=myuser,password=mypass
      
      sudo mount -a
    7. 백업 작업 생성: Veeam Agent는 CLI (Command Line Interface)로 백업 작업을 생성하고 관리합니다.
    8. sudo veeamconfig job create --name "My_VM_Backup" --type "volume" --volumes "/" --repository "/mnt/veeam_backup" --schedule "daily" --retention "7" --full-backup-period "weekly"

      위 명령어는 ‘/’ 볼륨 전체를 매일 백업하고 7일간 보존하며, 매주 전체 백업을 수행하는 작업을 생성하는 예시입니다.

    Veeam Agent for Linux의 CLI 명령어를 사용하여 백업 작업 생성 및 상태를 확인하는 리눅스 터미널 화면

    백업 대상 리눅스 VM의 터미널에서 `veeamconfig` 명령어를 사용하여 백업 작업을 생성하거나 상태를 확인하는 CLI 실행 화면입니다.

    3. 삽질 경험: 주의사항과 트러블슈팅

    홈랩에서 새로운 기술을 도입하면 늘 예상치 못한 삽질의 연속이죠. 저도 예외는 아니었습니다. 😅

    3.1. Proxmox Backup Server (PBS)에서 겪은 문제

    • 초기 백업 시간: 처음 전체 백업을 할 때, Dedup 인덱싱 때문에 생각보다 시간이 좀 걸리더라고요. 특히 데이터 양이 많을수록 초기 부담이 있었습니다. 물론 그 이후의 증분 백업은 매우 빨라졌지만요. 💡 팁: 처음부터 충분한 리소스 (RAM, CPU)를 할당해주면 좋습니다.
    • 스토리지 공간 관리: Dedup이 강력해서 공간 절약은 좋지만, 오래된 백업을 제대로 프루닝(Pruning, 정리)하지 않으면 나중에 공간이 부족해질 수 있습니다. 리텐션 정책을 꼼꼼히 설정하고 주기적으로 확인하는 게 중요합니다.

    3.2. Veeam Agent for Linux에서 겪은 문제

    • 커널 업데이트와 DKMS: 리눅스 커널이 업데이트될 때마다 Veeam Agent의 커널 모듈이 재컴파일되어야 합니다. DKMS (Dynamic Kernel Module Support)가 잘 작동하면 문제가 없지만, 가끔 수동으로 개입해야 할 때가 있더라고요. ⚠️ 커널 업데이트 후 백업이 실패한다면 이 부분을 먼저 확인해보세요.
    • NFS/SMB 마운트 권한: 백업 저장소로 NAS를 사용하면서 마운트 권한 문제로 한참을 씨름했습니다. `uid`, `gid` 옵션과 `.smbcredentials` 파일 설정을 잘못해서 백업 파일을 쓸 수 없었던 거죠. 결국 `veeamconfig`를 실행하는 유저의 권한과 마운트 옵션을 정확히 맞춰주니 해결되더라고요.
    • 파일 시스템 스냅샷: Veeam Agent는 백업 시 파일 시스템 스냅샷을 활용하는데, 특정 파일 시스템에서는 문제가 될 수 있습니다. LVM (Logical Volume Manager)을 사용하면 안정적인 스냅샷을 생성할 수 있어서 백업 신뢰도가 높아집니다. 저는 처음엔 LVM 없이 하다가 나중에 LVM으로 전환했네요.

    4. 드디어 결과: 홈랩 VM 백업 솔루션 성능 벤치마크

    여러 번의 테스트와 삽질 끝에 드디어 두 솔루션의 성능을 비교해볼 수 있었습니다. 제가 직접 동일한 VM과 데이터 세트를 가지고 테스트해본 결과는 다음과 같습니다. (정확한 수치보다는 제가 체감한 경향성을 위주로 말씀드릴게요.)

    항목 Proxmox Backup Server (PBS) Veeam Agent for Linux
    백업 속도 (초기 전체) 매우 빠름 (VM 스냅샷 기반, 블록 직접 접근) 보통 (VM 내부에서 파일 시스템 스캔)
    백업 속도 (증분) 압도적으로 빠름 (변경 블록만 백업) 빠름 (변경된 파일/블록 스캔)
    스토리지 효율성 최상 (블록 수준 Dedup + 압축, 중복 제거율 매우 높음) 보통 (일반적인 파일 압축, Dedup 없음)
    복구 속도 및 편의성 매우 편리 (전체 VM 복구, 파일 단위 복구도 가능) 편리 (전체 시스템/볼륨/파일 단위 복구)
    관리 편의성 최상 (Proxmox VE와 통합된 중앙 집중식 GUI) 보통 (각 VM에 에이전트 설치 및 CLI 관리)
    지원 환경 Proxmox VE 환경에 특화 다양한 리눅스 환경 (물리/가상/클라우드)
    Proxmox Backup Server와 Veeam Agent for Linux의 백업 성능 및 기능 비교 인포그래픽

    Proxmox Backup Server와 Veeam Agent for Linux의 백업 속도, 스토리지 효율성, 관리 편의성 등을 시각적으로 비교한 인포그래픽입니다.

    제가 직접 써보니 PBS의 블록 수준 중복 제거는 정말 엄청난 기능이더라고요. 여러 VM을 백업해도 중복되는 OS 파일이나 라이브러리 같은 것들은 한 번만 저장되니, 스토리지 공간이 기하급수적으로 절약됩니다. 백업 시간도 Proxmox VE와 긴밀하게 연동되어 VM 스냅샷 기반으로 동작하기 때문에 훨씬 빨랐습니다. Veeam Agent도 훌륭한 솔루션이지만, VM 내부에서 동작하는 특성상 PBS만큼의 통합된 성능과 효율을 보여주지는 못했어요.

    5. 마무리: 어떤 솔루션이 당신의 홈랩에 적합할까요?

    결론적으로 제 홈랩 백업 환경에서는 Proxmox Backup Server가 압도적인 우위를 보였습니다. Proxmox VE를 메인 하이퍼바이저로 사용하고 있다면, PBS는 선택이 아닌 필수라고 해도 과언이 아닐 정도예요. 정말 이거 진짜 편하더라고요! 🎉

    하지만 만약 여러분의 홈랩이나 실제 운영 환경이 Proxmox VE 외에 다른 하이퍼바이저 (예: VMware, Hyper-V)나 물리 서버, 혹은 클라우드 VM이 섞여 있다면, Veeam Agent for Linux는 여전히 매우 강력한 선택지가 될 수 있습니다. 다양한 환경을 아우르는 범용성과 강력한 복구 기능은 무시할 수 없거든요. 특히 무료 버전도 워낙 훌륭해서 예산 제약이 있는 홈랩에서는 충분히 고려해볼 만합니다.

    어떤 솔루션을 선택하든, 가장 중요한 건 정기적인 백업과 복구 테스트입니다. 백업은 했는데 복구가 안 되면 아무 소용 없잖아요? 제가 겪었던 삽질 경험을 바탕으로 여러분은 좀 더 수월하게 백업 환경을 구축하시길 바랍니다. 혹시 더 궁금한 점이나 다른 백업 솔루션에 대한 경험이 있으시다면 댓글로 공유해주세요! 다음 글에서는 Proxmox Backup Server의 고급 설정이나 복구 시뮬레이션에 대해 좀 더 깊이 다뤄볼까 합니다. 기대해주세요!

  • [Proxmox] Proxmox Backup Server (PBS) vs. 스크립트 백업: 홈랩 비용 효율성 비교

    [Proxmox] Proxmox Backup Server (PBS) vs. 스크립트 백업: 홈랩 비용 효율성 비교

    홈랩 백업, 정말 고민되시죠? Proxmox Backup Server (PBS) vs. 스크립트 백업 비용 효율성 비교

    안녕하세요, 13년차의 서버실 주인장입니다. 홈랩을 운영하면서 가장 중요하게 생각하는 것 중 하나가 바로 백업(Backup)입니다. 아니, 중요하게 생각해야만 하는 것이죠. 처음엔 저도 ‘설마 내 데이터가 날아가겠어?’ 하는 안일한 생각으로 버텼습니다. 그러다 한 번 크게 데이터 유실(Data Loss)을 겪고 나서야 정신을 차렸죠. 그 이후로 백업은 제 홈랩 운영의 제1원칙이 되어 버렸습니다.

    특히 Proxmox VE(Virtual Environment)를 사용하시는 분들이라면, 가상 머신(VM)이나 컨테이너(LXC) 백업에 대한 고민이 많으실 거예요. 스냅샷(Snapshot)만 믿고 계신 건 아니겠죠? 스냅샷은 편리하지만, 물리적 저장 장치에 문제가 생기면 함께 날아간다는 치명적인 단점이 있습니다. 그래서 별도의 백업 솔루션이 필수적인데, 여기서 많은 분들이 Proxmox Backup Server (PBS)를 쓸지, 아니면 스크립트 기반의 백업을 직접 구현할지 고민하시더라고요. 저도 그랬거든요!

    오늘은 13년차 인프라 엔지니어의 경험을 바탕으로 이 두 가지 Proxmox 백업 전략의 비용 효율성(Cost Efficiency)을 비교 분석해보고, 홈랩 환경에서 어떤 선택이 더 현명할지 함께 이야기해보려 합니다. 특히 Proxmox Backup Server 비용에 대한 오해도 풀어드릴게요!

    Proxmox Backup Server와 스크립트 백업 아키텍처 비교 다이어그램

    Proxmox Backup Server와 기존 스크립트 백업 솔루션을 비교하는 개략적인 아키텍처 다이어그램입니다. 각 방식의 데이터 흐름과 구성 요소를 시각적으로 보여줍니다.

    Proxmox Backup Server (PBS)와 스크립트 백업, 뭐가 다를까요?

    우선 두 가지 방식의 핵심 개념부터 간단히 짚고 넘어가겠습니다. 쉽게 말해 이렇습니다.

    • Proxmox Backup Server (PBS): Proxmox 개발사에서 공식적으로 제공하는 전용 백업 솔루션이죠. Proxmox VE와 완벽하게 통합되어 VM, LXC 백업 및 복원을 쉽고 효율적으로 처리할 수 있도록 설계되었습니다.
    • 스크립트 백업 (Script Backup): rsync, dd, tar 같은 리눅스 명령어나 Proxmox VE 자체의 vzdump 명령어를 활용하여 직접 스크립트를 짜서 백업을 수행하는 방식입니다. 특정 백업 스토리지를 마운트해서 데이터를 밀어 넣는 형태가 되겠죠.

    PBS의 가장 큰 장점은 바로 중복 제거(Deduplication)와 증분 백업(Incremental Backup)입니다. 예를 들어, 제가 Ubuntu VM을 여러 개 돌리고 있는데, 얘네들이 대부분 비슷한 OS 파일을 가지고 있잖아요? PBS는 이 중복되는 블록을 한 번만 저장하고, 변경된 부분만 추가로 저장해서 저장 공간을 엄청나게 절약해줍니다. 그리고 백업 데이터의 무결성 검사(Data Integrity Check) 기능도 강력해서, 백업 데이터가 손상되지 않았는지 주기적으로 확인해주는 점도 정말 마음이 놓이더라고요.

    반면 스크립트 백업은 모든 것을 직접 제어할 수 있다는 장점이 있습니다. 원하는 대로 커스터마이징(Customizing)이 가능하고, 이미 있는 리소스(Resource)를 활용해서 추가적인 소프트웨어 설치 없이 바로 사용할 수 있거든요. 하지만 중복 제거 같은 고급 기능은 직접 구현하기 어렵고, 백업 데이터의 관리가 번거로울 수 있습니다.

    PBS, 직접 써보니 이렇더라고요! (실전 구현)

    제가 PBS를 처음 써봤을 때 느꼈던 감정은 ‘와, 이거 진짜 편하네!’ 였습니다. 사실 처음엔 PBS를 위한 별도의 서버나 VM을 구성해야 한다는 생각에 약간의 진입 장벽을 느꼈거든요. ‘그냥 vzdump로 NAS에 밀어 넣으면 안 되나?’ 싶었죠. 근데 PBS를 설치하고 Proxmox VE에 백업 스토리지로 연결해보니, 그 편리함에 금세 빠져들었습니다.

    설치 자체는 Proxmox VE와 마찬가지로 ISO 이미지를 통해 쉽게 할 수 있습니다. 혹은 기존 리눅스 서버에 패키지로 설치하는 것도 가능하더라고요. 저는 홈랩에서 쓰지 않는 미니 PC에 PBS를 설치하거나, Proxmox VE 위에 하나의 VM으로 올려서 사용하기도 했습니다. (물론 이 경우 백업 대상 VM과 동일한 물리 서버에 있으면 안 되겠죠?)

    # PBS 설치 후 Proxmox VE에서 백업 스토리지 추가하는 예시
    # Datacenter -> Storage -> Add -> Proxmox Backup Server 선택
    # ID: pbs-backup
    # Server: [PBS 서버 IP 또는 도메인]
    # Port: 8007 (기본값)
    # Username: root@pam
    # Password: [PBS root 비밀번호]
    # Datastore: [PBS 데이터스토어 이름, 예: mybackup]
    

    이렇게 PBS 스토리지를 Proxmox VE에 연결하고 나면, 백업 스케줄(Backup Schedule)을 설정하는 게 정말 간단해집니다. 웹 UI에서 몇 번의 클릭만으로 특정 VM이나 모든 VM을 원하는 주기로 백업하도록 설정할 수 있어요. 압축(Compression) 알고리즘 선택부터 보존 정책(Retention Policy) 설정까지 GUI(Graphical User Interface)로 모든 걸 처리할 수 있다는 게 가장 큰 장점이죠. 백업이 성공적으로 완료되면 Proxmox VE 로그에도 잘 남고요. ✅

    Proxmox Backup Server 웹 인터페이스 백업 스케줄 설정

    Proxmox Backup Server의 웹 인터페이스에서 백업 스케줄을 설정하는 화면입니다. 직관적인 GUI를 통해 쉽게 백업 정책을 관리할 수 있습니다.

    스크립트 백업, 장단점 명확합니다 (실전 구현)

    PBS가 나오기 전, 그리고 지금도 많은 분들이 스크립트 백업을 사용하고 계십니다. 저 역시 PBS를 알기 전에는 주로 vzdump 명령어를 활용한 스크립트 백업을 애용했었죠. 다음은 간단한 스크립트 백업 예시입니다.

    #!/bin/bash
    
    # 백업 대상 VM/LXC ID
    VM_IDS="100 101 102"
    
    # 백업 저장 경로 (NFS 또는 SMB 마운트된 디렉토리)
    BACKUP_DIR="/mnt/pve/nas_backup/vzdump"
    
    # 백업 파일 보존 일수
    RETENTION_DAYS=7
    
    # 백업 실행
    for VM_ID in $VM_IDS;
    do
      echo "$(date '+%Y-%m-%d %H:%M:%S') - Starting backup for VM/LXC $VM_ID..."
      vzdump $VM_ID --mode snapshot --compress zstd --storage local-lvm --dumpdir $BACKUP_DIR
      if [ $? -eq 0 ]; then
        echo "$(date '+%Y-%m-%d %H:%M:%S') - Backup for VM/LXC $VM_ID completed successfully."
      else
        echo "$(date '+%Y-%m-%d %H:%M:%S') - Backup for VM/LXC $VM_ID failed!" >&2
      fi
    done
    
    # 오래된 백업 파일 삭제 (보존 정책)
    echo "$(date '+%Y-%m-%d %H:%M:%S') - Cleaning up old backup files..."
    find $BACKUP_DIR -type f -name "vzdump-*.vma.zst" -mtime +$RETENTION_DAYS -delete
    
    echo "$(date '+%Y-%m-%d %H:%M:%S') - Backup script finished."
    

    이 스크립트를 cron에 등록해서 주기적으로 실행하면, 원하는 VM들을 백업할 수 있습니다. 장점은 명확해요. 자유로운 커스터마이징이 가능하고, 별도의 소프트웨어 설치 없이 Proxmox VE에 내장된 기능만으로 백업을 구현할 수 있다는 점이죠. 기존에 가지고 있던 NAS나 여분의 하드디스크를 마운트해서 백업 저장소로 활용하기도 좋습니다.

    하지만 단점도 있습니다. ⚠️

    • 중복 제거 기능 부재: VM이 많아질수록 백업 공간을 비효율적으로 사용하게 됩니다.
    • 수동 관리의 번거로움: 스크립트 오류, 저장 공간 부족, 백업 성공 여부 확인 등을 직접 관리하고 모니터링해야 합니다.
    • 복원 과정의 복잡성: PBS처럼 웹 UI에서 클릭 몇 번으로 복원하는 것이 아니라, 명령어를 사용해야 합니다.
    • 데이터 무결성 검사 부재: 백업 파일이 손상되었는지 주기적으로 확인하는 기능이 없습니다.

    특히 중복 제거 기능이 없다는 것은 Proxmox Backup Server 비용 측면에서 간과할 수 없는 부분입니다. 백업 데이터가 늘어나면 늘어날수록 더 많은 저장 장치(Storage)를 구매해야 할 수도 있거든요.

    스크립트 기반 백업 구성도 및 데이터 흐름

    스크립트 기반 백업의 구성도와 데이터 흐름을 보여주는 다이어그램입니다. Proxmox VE에서 백업 스크립트가 실행되어 외부 저장소로 데이터를 전송하는 과정을 나타냅니다.

    비용 효율성, 과연 어떤 선택이 현명할까요?

    자, 그럼 가장 중요한 비용 효율성 측면에서 PBS와 스크립트 백업을 비교해볼까요? 여기서 말하는 ‘비용’은 단순히 하드웨어 구매 비용뿐만 아니라, 시간(Time)과 노력(Effort)까지 포함한 개념입니다. 홈랩에서는 이 ‘시간’ 비용이 생각보다 훨씬 중요하거든요. 제 경험상 삽질하는 시간은 곧 기회비용입니다.

    기준 Proxmox Backup Server (PBS) 스크립트 백업
    초기 설정 시간 별도 서버/VM 구성 필요, Proxmox VE와 연동 용이 (중간) 스크립트 작성 및 테스트 필요 (중간~높음)
    운영 및 관리 시간 웹 UI 기반, 자동화된 스케줄, 모니터링 기능 (낮음) 스크립트 유지보수, 수동 모니터링 필요 (높음)
    저장 공간 효율성 강력한 중복 제거, 증분 백업으로 공간 절약 (매우 높음) 일반적인 압축만 가능, 중복 제거 부재 (낮음)
    하드웨어 비용 별도의 서버/VM 필요 (낮은 사양으로도 충분) (중간) 기존 저장 장치 활용 가능 (낮음)
    데이터 무결성 정기적인 무결성 검사 기능 내장 (매우 높음) 수동 검증 필요, 오류 시 발견 어려움 (낮음)
    복구 편의성 웹 UI에서 쉽고 빠르게 복원 가능 (매우 높음) 명령어 기반, 복잡할 수 있음 (낮음)

    결론부터 말씀드리면, 장기적인 관점에서 Proxmox Backup Server 비용은 스크립트 백업보다 더 효율적일 가능성이 높습니다.

    • 저장 공간 절약: PBS의 중복 제거 기능은 시간이 지남에 따라 엄청난 저장 공간을 절약해줍니다. 이는 곧 추가적인 하드디스크 구매 비용을 줄여준다는 의미입니다. 홈랩에서 데이터가 늘어나는 속도는 상상 이상이더라고요.
    • 시간 절약: 백업 스케줄 설정, 모니터링, 복원 과정의 편리함은 제 소중한 시간을 아껴줍니다. 이 시간을 새로운 기술을 배우거나, 다른 홈랩 프로젝트에 투자할 수 있죠. 삽질 경험을 줄여주는 것이 진정한 비용 절감입니다!
    • 안정성: 데이터 무결성 검사와 쉬운 복구는 만약의 사태에 대비한 훌륭한 보험입니다. 데이터 유실로 인한 정신적, 시간적 손실을 생각하면 PBS의 가치는 더욱 빛을 발합니다.

    물론 PBS를 위한 최소한의 하드웨어(저전력 미니 PC나 라즈베리 파이 같은 SBC에 외장 HDD 연결)는 필요합니다. 하지만 이 초기 투자는 위에서 언급한 장점들로 충분히 상쇄된다고 저는 확신합니다. 특히 홈랩 백업 솔루션을 고민하고 계시다면, PBS는 정말 훌륭한 선택지입니다. 💡

    Proxmox Backup Server와 스크립트 백업의 핵심 장단점 및 장기적인 비용 효율성을 비교하는 인포그래픽입니다.

    삽질 피하기! 제가 겪은 트러블슈팅 경험

    제가 PBS와 스크립트 백업을 사용하면서 겪었던 몇 가지 삽질 경험과 그 해결책을 공유해드릴게요. ⚠️

    1. 스크립트 백업의 저장 공간 부족 알림 부재: 처음 스크립트 백업을 쓸 때는 공간이 부족해지는 걸 모르고 있다가 백업이 실패하는 경우가 많았습니다. 해결책은 간단하더라고요. 디스크 사용량을 체크하는 스크립트를 추가하고, 특정 임계치(Threshold)를 넘으면 제게 이메일이나 메신저로 알림을 보내도록 설정했습니다.
    2. PBS 데이터스토어 용량 부족: PBS는 중복 제거가 강력하지만, 그래도 물리적인 용량은 한계가 있습니다. 특히 백업 데이터를 장기간 보존(Long-term Retention)하다 보면 용량이 차오르죠. PBS 웹 UI에서 데이터스토어 용량을 주기적으로 확인하고, 필요 없는 오래된 백업 스냅샷을 Prune(가지치기) 작업으로 정리해줘야 합니다.
    3. 네트워크 대역폭 문제: 백업은 생각보다 네트워크 자원을 많이 사용합니다. 특히 무거운 VM을 백업할 때, 홈랩 네트워크가 느려지거나 다른 서비스에 영향을 주는 경우가 있었어요. 백업 스케줄을 사용량이 적은 새벽 시간대로 조절하거나, PBS 서버와 Proxmox VE 간의 네트워크를 분리(Dedicate)하는 방법을 사용했습니다.
    4. 권한 문제: 스크립트 백업 시 vzdump 명령어가 특정 디렉토리에 접근하지 못하거나, 마운트된 NAS에 쓰기 권한이 없는 경우가 있었습니다. sudo 권한이나 파일 시스템 권한(chmod, chown)을 꼼꼼하게 확인하는 것이 중요합니다. PBS는 Proxmox VE와의 통합이 잘 되어있어서 이런 권한 문제는 거의 발생하지 않더라고요.

    이런 삽질들을 겪으면서 느낀 건, 결국 자동화되고 안정적인 시스템이 장기적으로 훨씬 이득이라는 점입니다. PBS는 이런 면에서 훌륭한 해결책을 제공해주더군요.

    Proxmox Backup Server 대시보드: 백업 성공률 및 데이터스토어 상태

    Proxmox Backup Server 대시보드에서 백업 성공률과 데이터스토어 상태를 한눈에 확인할 수 있는 스크린샷입니다.

    마무리: 나에게 맞는 백업 전략 찾기

    지금까지 Proxmox Backup Server (PBS)와 스크립트 백업의 장단점, 그리고 비용 효율성을 제 경험을 바탕으로 비교해봤습니다. 어떤 방식이 ‘절대적으로 좋다’고 단정하기는 어렵습니다. 홈랩 환경은 저마다 다르니까요.

    • 나는 최소한의 비용으로 바로 백업을 시작하고 싶다!
      : 기존에 여분의 저장 장치나 NAS가 있고, 스크립트 작성 및 관리에 익숙하시다면 스크립트 백업도 좋은 시작이 될 수 있습니다. 하지만 장기적인 관리 비용과 데이터 무결성에는 더 많은 노력을 기울여야 할 거예요.
    • 나는 백업에 시간을 많이 쓰고 싶지 않다. 안정적이고 효율적인 솔루션을 원한다!
      : PBS는 초기 설치에 약간의 리소스가 필요하지만, 일단 구축하고 나면 백업 관리의 대부분을 자동화해주고, 저장 공간을 효율적으로 사용하며, 강력한 데이터 무결성 검사 기능을 제공합니다. 장기적인 관점에서 Proxmox Backup Server 비용은 시간과 노력 측면에서 훨씬 합리적입니다.

    결론적으로 저는 PBS를 강력하게 추천합니다. 특히 홈랩에서 여러 VM과 LXC를 운영하며 VM 백업의 중요성을 느끼고 계시다면, PBS는 여러분의 소중한 데이터를 지켜주는 든든한 파트너가 될 것입니다. 🎉

    다음 글에서는 PBS를 처음 설치하고 Proxmox VE와 연동하는 구체적인 방법에 대해 다뤄볼 예정입니다. 기대해주세요!

  • [Proxmox] Proxmox Backup Server (PBS) 완벽 가이드: 설치부터 백업/복구 전략까지

    [Proxmox] Proxmox Backup Server (PBS) 완벽 가이드: 설치부터 백업/복구 전략까지

    [Proxmox] Proxmox Backup Server (PBS) 완벽 가이드: 설치부터 백업/복구 전략까지

    13년차 인프라 엔지니어의 Proxmox Backup Server (PBS) 삽질 & 활용기

    안녕하세요, 13년차 서버실 지킴이입니다. 오늘은 Proxmox Backup Server (PBS), 줄여서 PBS에 대한 이야기를 해보려고 합니다. 사실 인프라 엔지니어에게 백업(Backup)은 아무리 강조해도 지나치지 않은 핵심 업무 중 하나잖아요? 저도 수많은 시스템을 운영하면서 “아차!” 싶었던 순간이 한두 번이 아니었습니다. 특히 홈랩에서 Proxmox VE(Virtual Environment)를 쓰면서 가상 머신(VM)이나 컨테이너(Container) 백업이 늘 고민이었는데, 이 PBS를 만나고 나서 드디어 마음의 평화를 찾았지 뭐예요? 🎉

    Proxmox VE를 사용하시는 분들이라면 기본적으로 제공되는 백업 기능도 꽤 유용하다는 걸 아실 거예요. 근데 이게 스케일이 커지거나, 데이터 중복 제거(Deduplication)나 증분 백업(Incremental Backup) 같은 고급 기능이 필요해지면 한계에 부딪히거든요. 그때 PBS가 진가를 발휘합니다. 오늘은 제가 직접 PBS를 설치하고, Proxmox VE와 연동해서 백업/복구 전략까지 세워본 경험을 솔직하게 공유해 드릴게요. 삽질 과정과 해결 팁도 아낌없이 풀어놓을 테니, 끝까지 함께해 주시면 분명 큰 도움이 되실 겁니다!

    Proxmox Backup Server의 전체 아키텍처는 Proxmox VE에서 PBS로 데이터를 보내고, PBS가 중복 제거 및 압축하여 백업 스토리지에 저장하는 과정을 시각적으로 보여줍니다.

    Proxmox Backup Server (PBS)란 무엇인가요?

    Proxmox Backup Server (PBS)는 Proxmox VE 환경에 최적화된 엔터프라이즈급 백업 솔루션입니다. 쉽게 말해, Proxmox VE 위에 돌아가는 수많은 VM이나 컨테이너의 데이터를 효율적으로 저장하고 관리하기 위해 태어난 녀석이라고 보시면 됩니다. 단순히 데이터를 복사해서 저장하는 것을 넘어, 여러 가지 똑똑한 기능들을 제공하죠.

    • 데이터 중복 제거 (Deduplication): 이게 PBS의 가장 강력한 기능 중 하나인데요. 동일한 데이터 블록이 여러 백업 이미지에 존재하더라도, PBS는 딱 한 번만 저장하고 나머지는 참조만 합니다. 덕분에 저장 공간을 엄청나게 절약할 수 있어요. 제가 직접 써보니, 특히 비슷한 OS 이미지로 여러 VM을 돌릴 때 그 효과가 대단하더라고요!
    • 증분 백업 (Incremental Backup): 첫 백업 이후에는 변경된 데이터 블록만 백업합니다. 이는 백업 시간을 단축시키고, 다시 한 번 저장 공간 효율성을 높여줍니다.
    • 데이터 무결성 검증 (Data Integrity Verification): 백업된 데이터가 손상되지 않았는지 정기적으로 검사할 수 있습니다. 백업은 저장하는 것만큼 ‘제대로 저장되었는지’ 확인하는 게 중요하잖아요? 이 기능 덕분에 안심하고 데이터를 맡길 수 있습니다.
    • 클라이언트-사이드 암호화 (Client-side Encryption): 백업 데이터는 클라이언트(Proxmox VE)에서 암호화되어 PBS로 전송됩니다. 덕분에 민감한 데이터도 안전하게 보관할 수 있죠.
    • 원격 동기화 (Remote Sync): 백업 데이터를 다른 PBS 서버로 동기화할 수 있어, 재해 복구(Disaster Recovery) 전략을 수립하는 데 아주 유용합니다.

    처음엔 그냥 NAS에 백업하면 되지 않나 싶었는데, PBS의 이런 기능들을 경험하고 나니 왜 전용 백업 솔루션이 필요한지 절실히 깨달았네요. 특히 중복 제거는 진짜 혁명적입니다. 💡

    Proxmox Backup Server 설치하기

    자, 그럼 이제 본격적으로 PBS를 설치해 볼까요? 저는 별도의 물리 서버나 가상 머신에 Proxmox Backup Server ISO 파일을 이용해서 설치하는 방법을 선호합니다. 안정적이고 깔끔하거든요. 여기서는 ISO를 이용한 설치 과정을 간략하게 설명해 드릴게요. (Proxmox VE 위에 컨테이너로 설치하는 방법도 있지만, 안정성을 위해 전용 OS 설치를 추천합니다.)

    1. ISO 다운로드 및 부팅: Proxmox 공식 웹사이트에서 PBS ISO 이미지를 다운로드하고, USB에 굽거나 VM에 마운트하여 부팅합니다.
    2. 설치 마법사 진행: 부팅 후 나타나는 설치 마법사를 따라 진행합니다.
      • Target Harddisk (대상 하드디스크): PBS가 설치될 디스크를 선택합니다. 저는 보통 OS용으로 작은 SSD 하나, 백업 데이터 저장용으로 큰 HDD/SSD를 따로 구성합니다.
      • Country (국가), Time zone (시간대): 대한민국, 서울을 선택해 줍니다.
      • Root Password (루트 비밀번호) & Email address (이메일 주소): 관리자 비밀번호를 설정하고, 알림을 받을 이메일 주소를 입력합니다.
      • Management Network Configuration (네트워크 설정): IP 주소, 넷마스크, 게이트웨이, DNS 서버를 설정합니다. 나중에 Proxmox VE에서 접근해야 하니, 고정 IP로 설정하는 것이 좋습니다.
    3. 설치 완료 및 재부팅: 모든 설정이 끝나면 설치가 시작되고, 완료되면 재부팅하라는 메시지가 나옵니다. 재부팅 후에는 웹 인터페이스에 접속할 수 있습니다.

    웹 인터페이스는 https://[PBS 서버 IP]:8007로 접속할 수 있습니다. 사용자 이름은 root이고, 비밀번호는 설치 시 설정한 비밀번호를 사용하면 됩니다. 처음 접속하면 왠지 모르게 뿌듯하더라고요! 🎉

    Proxmox Backup Server 웹 인터페이스에 로그인한 후의 대시보드 화면입니다. 시스템 상태와 저장소 현황을 한눈에 확인할 수 있습니다.

    Proxmox VE와 PBS 연동하기

    PBS를 설치했으니, 이제 Proxmox VE에서 이 녀석을 백업 저장소로 추가해야겠죠? 이 과정도 정말 간단합니다.

    1. Proxmox VE 웹 인터페이스 접속: 평소처럼 Proxmox VE 웹 관리 화면에 로그인합니다.
    2. 데이터센터(Datacenter) > 스토리지(Storage) 이동: 왼쪽 메뉴에서 Datacenter를 클릭하고, 그 아래의 Storage 탭으로 이동합니다.
    3. ‘추가(Add)’ 버튼 클릭 > ‘Proxmox Backup Server’ 선택: ‘Add’ 드롭다운 메뉴에서 ‘Proxmox Backup Server’를 선택합니다.
    4. 정보 입력: 다음 정보를 입력해 줍니다.
      • ID: 이 저장소의 이름을 지정합니다. (예: pbs-backup-storage)
      • Server: PBS 서버의 IP 주소 또는 도메인 이름을 입력합니다.
      • Username: root@pam (PBS의 기본 관리자 계정)
      • Password: PBS 설치 시 설정한 root 비밀번호
      • Datastore: PBS에서 생성된 데이터스토어 이름을 입력합니다. 기본값은 datastore1입니다. (PBS 웹 인터페이스의 ‘Datastore’ 메뉴에서 확인할 수 있습니다.)
      • Fingerprint (지문): PBS 서버의 SSH 지문입니다. 처음 연결할 때 자동으로 채워지거나, PBS 웹 인터페이스에서 확인할 수 있습니다. 보안을 위해 꼭 확인해 주세요.
    5. ‘추가(Add)’ 버튼 클릭: 모든 정보를 입력하고 ‘Add’ 버튼을 누르면 끝!

    제대로 연결되었다면, Proxmox VE의 스토리지 목록에 PBS가 나타나고, ‘Status’가 ‘Active’로 표시될 거예요. 이제 Proxmox VE의 VM이나 컨테이너를 백업할 때, 대상 저장소로 PBS를 선택할 수 있게 됩니다. ✅

    Proxmox VE에 Proxmox Backup Server를 스토리지로 추가하는 설정 화면입니다. Server IP, Username, Datastore 등의 정보를 입력하는 창이 보입니다.

    백업 전략 수립 및 실행

    저장소를 연결했으니, 이제 어떤 VM을 언제, 어떻게 백업할지 전략을 세울 차례입니다. Proxmox VE에서는 백업 스케줄을 아주 유연하게 설정할 수 있습니다.

    1. Datacenter > Backup (백업) 메뉴 이동: Proxmox VE 웹 인터페이스에서 ‘Datacenter’를 클릭하고 ‘Backup’ 탭으로 이동합니다.
    2. ‘Add (추가)’ 버튼 클릭: 새로운 백업 작업을 생성합니다.
    3. 백업 작업 설정:
      • Storage (저장소): 방금 추가한 PBS 저장소를 선택합니다. (예: pbs-backup-storage)
      • Schedule (스케줄): 백업이 실행될 시간을 설정합니다. 매일 새벽 2시, 매주 일요일 자정 등 원하는 대로 설정할 수 있습니다. (예: daily, weekly)
      • VMs (VM 선택): 백업할 VM이나 컨테이너를 선택합니다. ‘All’을 선택하거나 특정 VM ID를 지정할 수 있습니다.
      • Mode (모드): Snapshot을 선택하는 것이 일반적입니다. (VM이 실행 중인 상태에서 일관성 있는 백업을 생성할 수 있습니다.)
      • Compression (압축): 백업 데이터의 압축 방식을 선택합니다. 저는 보통 Zstandard (ZSTD)를 사용합니다. 빠르고 효율적이거든요.
      • Retention (보존 정책): 백업본을 얼마나 오래 보관할지 설정합니다. 예를 들어, ‘Keep last 7’로 설정하면 최근 7개의 백업본만 유지하고 오래된 것은 자동으로 삭제됩니다. 이 정책은 데이터스토어 용량 관리에도 아주 중요합니다.
      • Email notification (이메일 알림): 백업 성공/실패 여부를 이메일로 받아볼 수 있습니다. 중요한 기능이니 꼭 설정해 두세요!
    4. ‘Create (생성)’ 버튼 클릭: 백업 작업이 생성됩니다.

    이렇게 설정해두면, 정해진 시간에 PBS로 자동 백업이 진행됩니다. PBS 웹 인터페이스의 ‘Tasks’ 메뉴나 Proxmox VE의 ‘Task Log’에서 백업 진행 상황을 확인할 수 있습니다. 처음 백업이 성공했을 때의 그 쾌감이란! 💪

    데이터 복구, 이젠 걱정 마세요!

    백업은 언제나 ‘만약의 사태’를 대비하는 것이죠. 가장 중요한 건 백업된 데이터를 성공적으로 복구(Restore)할 수 있느냐입니다. PBS는 복구 과정도 직관적이고 빠릅니다.

    1. Proxmox VE 웹 인터페이스 접속: 복구할 VM이 있던 Proxmox VE 노드에 접속합니다.
    2. VM 선택 및 ‘백업(Backup)’ 탭 이동: 복구할 VM을 선택한 다음, ‘Backup’ 탭으로 이동합니다.
    3. 복구할 백업본 선택: PBS에 저장된 백업 목록이 나타납니다. 복구하고자 하는 특정 날짜와 시간의 백업본을 선택합니다.
    4. ‘복원(Restore)’ 버튼 클릭: 복원 옵션 대화 상자가 나타납니다.
      • Storage (저장소): 복원될 VM의 디스크가 저장될 Proxmox VE 스토리지(예: local-lvm)를 선택합니다.
      • VM ID: 기존 VM ID로 복원하거나, 새로운 VM ID를 지정하여 복원할 수 있습니다. 기존 VM이 손상된 경우 같은 ID로 복원하고, 테스트 목적으로 복원할 경우 새로운 ID로 복원하는 것이 일반적입니다.
      • Overwrite (덮어쓰기): 기존 VM이 있을 경우 덮어쓸지 여부를 결정합니다. 주의해서 사용해야 합니다!
    5. ‘복원(Restore)’ 버튼 클릭: 복구가 시작됩니다.

    복구 작업이 완료되면, 해당 VM이 Proxmox VE 목록에 나타나고, 정상적으로 부팅되는 것을 확인할 수 있습니다. 제가 실제로 몇 번 복구 테스트를 해봤는데, 정말 빠르고 안정적이더라고요. 특히 중복 제거 덕분에 복구 시간도 단축되는 느낌이었습니다. 👏

    ⚠️ 삽질 경험 & 트러블슈팅 팁

    제가 PBS를 사용하면서 겪었던 몇 가지 삽질 경험과 그 해결 팁을 공유해 드릴게요. 여러분은 저처럼 고생하지 마시라고요! ㅎㅎ

    • 방화벽 문제: Proxmox VE와 PBS가 서로 통신하려면 8007번 포트가 열려있어야 합니다. PBS 서버에 UFW(Uncomplicated Firewall)나 다른 방화벽이 설치되어 있다면, 꼭 8007번 포트를 허용해 주세요.
      sudo ufw allow 8007/tcp
      sudo ufw enable
      sudo ufw status
      

      저는 처음에 포트 열어주는 걸 깜빡해서 “왜 연결이 안 되지?” 하고 한참 헤맸거든요. 😅

    • Datastore(데이터스토어) 설정 오류: PBS 설치 후 Datastore를 생성하지 않거나, Proxmox VE에서 입력하는 Datastore 이름이 PBS의 Datastore 이름과 다르면 연결이 안 됩니다. PBS 웹 인터페이스에서 ‘Datastore’ 메뉴를 확인하고 정확한 이름을 입력해야 합니다. 기본값은 datastore1이지만, 직접 이름을 바꿨다면 그 이름을 써야 해요.
    • 스토리지 용량 부족: 아무리 중복 제거가 뛰어나도 백업본이 쌓이면 결국 용량이 부족해집니다. PBS 웹 인터페이스에서 ‘Datastore’ > ‘Prune & GC’ 탭을 활용하여 가지치기(Prune)와 가비지 컬렉션(Garbage Collection) 스케줄을 설정해 주세요. Prune은 오래된 백업본을 삭제하는 정책이고, GC는 삭제된 데이터 블록을 실제로 정리해서 공간을 회수하는 작업입니다. 이걸 안 해주면 삭제된 백업본이 실제 공간을 계속 차지하고 있을 수 있습니다.
    • 네트워크 대역폭 문제: 동시에 여러 VM을 백업하거나, 대용량 VM을 백업할 경우 네트워크 대역폭이 충분하지 않으면 백업 시간이 엄청나게 길어질 수 있습니다. 1Gbps 네트워크 환경이라면 큰 문제가 없지만, 가능하다면 백업 전용 네트워크를 구성하거나 10Gbps 네트워크를 고려해볼 만합니다.

    Proxmox Backup Server의 주요 기능인 데이터 중복 제거, 압축, 암호화, 데이터 무결성 검증을 시각적으로 요약한 인포그래픽입니다.

    마무리하며: PBS, 인프라 엔지니어의 든든한 동반자

    오늘은 Proxmox Backup Server (PBS)에 대해 설치부터 Proxmox VE 연동, 백업/복구 전략, 그리고 제가 겪었던 삽질 경험까지 자세히 이야기해 드렸습니다. 13년차 인프라 엔지니어로서 여러 백업 솔루션을 경험해 봤지만, Proxmox 환경에서는 PBS만큼 효율적이고 안정적인 솔루션은 찾기 힘들다고 생각합니다.

    특히 데이터 중복 제거와 증분 백업 기능은 저장 공간을 아끼는 데 큰 도움이 되었고, 직관적인 웹 인터페이스 덕분에 관리도 정말 편했습니다. 여러분도 Proxmox VE를 사용하고 계시다면, PBS 도입을 적극적으로 고려해 보시길 강력히 추천합니다. 처음엔 좀 낯설게 느껴질 수도 있지만, 한 번 세팅해두면 든든한 백업 시스템이 될 거예요. 든든한 백업 시스템 구축으로 여러분의 소중한 데이터를 지켜내시길 바랍니다!

    다음번에는 PBS의 원격 동기화(Remote Sync) 기능을 활용한 재해 복구(DR) 전략에 대해 더 깊이 다뤄볼까 합니다. 기대해 주세요! 😉

  • [Proxmox] Proxmox 백업 자동화 완벽 가이드: 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로 연결하는 방법

    1. Proxmox VE 웹 UI 접속 → Datacenter 선택
    2. 왼쪽 메뉴에서 Storage 클릭
    3. Add 버튼 → Proxmox Backup Server 선택
    4. PBS 서버 IP, 포트(8007), 앞서 만든 사용자명과 토큰 값 입력
    5. 데이터스토어 이름 입력 후 저장

    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 메뉴로 이동하면 백업 작업을 만들 수 있어요.

    1. Add 버튼 클릭
    2. 노드(Node), 스토리지(Storage, 아까 연결한 PBS 선택), VM 선택
    3. 스케줄(Schedule) 설정
    4. 백업 모드(Mode) 선택
    5. 보존 정책(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 '[email protected]'

    백업 모드(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에서는 간단하게 할 수 있어요.

    1. Proxmox VE 웹 UI → 해당 노드 → PBS 스토리지 선택
    2. 복원하고 싶은 백업 포인트 선택
    3. Restore 버튼 클릭
    4. 복원할 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의 증분 백업과 중복 제거 기능이 확실히 유리합니다.