13년차의 서버실

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

[태그:] 홈랩 백업

  • [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의 고급 설정이나 복구 시뮬레이션에 대해 좀 더 깊이 다뤄볼까 합니다. 기대해주세요!