13년차의 서버실

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

[태그:] Proxmox 백업

  • [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 (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 VE] VM 백업 및 복구 완벽 가이드: 데이터 손실 방지 전략

    [Proxmox VE] VM 백업 및 복구 완벽 가이드: 데이터 손실 방지 전략

    [Proxmox VE] VM 백업 및 복구 완벽 가이드: 데이터 손실 방지 전략

    안녕하세요, 13년차의 서버실 주인장입니다. 오늘은 Proxmox VE(Virtual Environment) 환경에서 VM(Virtual Machine) 백업과 복구에 대한 이야기를 좀 해볼까 합니다. 서버실에서 13년을 굴러보니, 데이터만큼 중요한 게 없더라고요. 한 번의 실수로 데이터가 날아가면 정말 아찔하죠. 특히 홈랩(Home Lab)을 운영하면서 이것저것 실험하다 보니 백업의 중요성을 뼈저리게 느끼게 됩니다. 😱

    저도 예전에 백업을 소홀히 했다가 중요한 설정 파일이나 프로젝트 데이터가 통째로 날아간 경험이 있거든요. 그때의 허탈함이란… 그래서 Proxmox VE VM 백업은 선택이 아니라 필수라고 항상 강조합니다. 오늘은 제가 직접 홈랩에서 Proxmox를 운영하며 겪었던 경험을 바탕으로, 어떻게 하면 안전하게 Proxmox 백업을 설정하고, 위기 상황에서 VM 복구를 할 수 있는지, 그 데이터 손실 방지 전략을 완벽하게 알려드릴게요. 저와 함께 Proxmox 스냅샷을 포함한 다양한 데이터 보호 방법을 알아봅시다!

    Proxmox VE VM 백업 및 복구 전체 아키텍처 다이어그램

    Proxmox 백업, 진짜 왜 중요할까요? (개념 설명)

    쉽게 말해, Proxmox VE 환경에서 VM 백업은 우리 집의 귀한 물건들을 금고에 넣어두는 것과 같습니다. 언제든 문제가 생기면 금고에서 다시 꺼내 쓸 수 있도록 말이죠. Proxmox는 기본적으로 아주 강력한 백업 기능을 제공하고 있거든요.

    VZDump: Proxmox의 핵심 백업 도구

    Proxmox에는 vzdump라는 백업 툴이 내장되어 있습니다. 이 툴로 VM(QEMU/KVM)과 LXC 컨테이너를 효율적으로 백업할 수 있거든요. 백업 시점에 VM의 모든 상태(디스크 이미지, 설정 파일 등)를 하나의 파일로 만들어주고, 나중에 복구할 때 사용하죠.

    스냅샷(Snapshot)과 백업(Backup)의 차이

    여기서 많은 분들이 헷갈리시는 게 스냅샷과 백업입니다. 저도 처음엔 이게 뭔가 싶었거든요. 간단히 비유하자면:

    • 스냅샷(Snapshot): 책갈피 같은 거예요. 특정 시점의 VM 상태를 빠르게 저장하고, 문제가 생겼을 때 그 시점으로 되돌아갈 수 있게 해줍니다. 하지만 스냅샷은 원본 VM과 같은 스토리지에 존재하기 때문에, 스토리지 자체가 손상되면 스냅샷도 같이 날아갈 위험이 있어요.
    • 백업(Backup): 책 전체를 복사해서 다른 안전한 장소에 보관하는 거라고 생각하시면 됩니다. 원본 VM과는 완전히 분리된 별도의 백업 스토리지에 저장되므로, 원본 VM이 손상되더라도 안전하게 복구할 수 있죠.

    결론적으로, 스냅샷은 빠른 롤백(Rollback)에 좋고, 백업은 데이터 손실 방지와 재해 복구(Disaster Recovery, DR)에 필수적입니다.

    어떤 백업 스토리지를 사용할까?

    Proxmox는 다양한 백업 스토리지를 지원하거든요. 제가 홈랩에서 주로 쓰는 방식은 NFS(Network File System)나 SMB/CIFS(Server Message Block/Common Internet File System) 공유 스토리지를 사용하는 겁니다. 아니면 Proxmox Backup Server(PBS)를 구축해서 쓰는 방법도 있는데, 이건 정말 끝판왕이라고 할 수 있죠.

    Proxmox VE VM 백업 및 복구 실전 구현 (단계별 가이드)

    자, 이제 실전입니다. 제가 직접 쓰는 방법들을 단계별로 보여드릴게요. Proxmox 웹 GUI를 주로 활용하겠지만, CLI(Command Line Interface) 명령어 몇 가지도 함께 알아두시면 좋습니다.

    1단계: 백업 스토리지 추가하기 (NFS 예시)

    가장 먼저 백업 파일을 저장할 공간을 Proxmox에 연결해야 합니다. 저는 NAS(Network Attached Storage)에 NFS 공유 폴더를 만들어서 사용하고 있거든요.

    1. Proxmox 웹 GUI에 접속합니다.
    2. 좌측 메뉴에서 Datacenter > Storage로 이동합니다.
    3. Add 버튼을 클릭하고 NFS를 선택합니다.
    4. 다음 정보를 입력합니다:

      • ID: backup-nfs (원하는 이름)
      • Server: 192.168.1.100 (NAS IP 주소)
      • Export: /volume1/proxmox-backup (NAS의 NFS 공유 경로)
      • Content: VZDump backup file (필수!)
    5. Add 버튼을 눌러 추가를 완료합니다.

    CLI로 직접 마운트하는 방법도 있어요. 예를 들어, /etc/fstab에 추가해서 부팅 시 자동 마운트되도록 설정할 수 있습니다.

    
    # /etc/fstab
    192.168.1.100:/volume1/proxmox-backup /mnt/pve/backup-nfs nfs defaults 0 0
    

    그리고 mount -a 명령어로 바로 적용해줍니다. 그 후 Proxmox GUI에서 Storage를 추가하면 되는데, 이 방법이 좀 더 안정적이더라고요.

    Proxmox VE 웹 GUI 백업 작업 설정 화면

    2단계: 백업 작업 생성 및 스케줄링

    스토리지를 연결했으니 이제 Proxmox 백업 작업을 만들어볼까요?

    1. Datacenter > Backup으로 이동합니다.
    2. Add 버튼을 클릭하여 새 백업 작업을 생성합니다.
    3. 백업 설정:

      • Node: 백업할 VM이 있는 Proxmox 노드 선택 (All도 가능)
      • Storage: 1단계에서 추가한 backup-nfs 선택
      • Schedule: Daily (매일), Weekly (매주) 등 원하는 주기로 설정합니다. 저는 새벽 2시에 매일 돌리도록 설정해놓았어요.
      • VMs: 백업할 VM 선택 (All 또는 특정 VM ID)
      • Mode: Snapshot (가장 권장하는 방식입니다. VM 운영 중에도 백업 가능)
      • Compression: Zstd (최신 알고리즘으로 압축률과 속도 모두 좋습니다)
      • Email notification: 백업 결과 알림을 받을 이메일 주소 설정 (필수!)
      • Retention: 백업본 유지 기간. 저는 보통 7일로 설정해서 일주일치 백업본을 가지고 있습니다.
    4. Create 버튼을 눌러 백업 작업을 완료합니다.

    이렇게 하면 설정한 스케줄에 따라 자동으로 Proxmox VE VM 백업이 진행돼요. 정말 편하더라고요!

    3단계: VM 복구하기

    불의의 사고로 VM이 날아갔다거나, 특정 시점으로 되돌리고 싶을 때 VM 복구는 필수입니다. Proxmox는 복구도 아주 간단하게 할 수 있게 해줍니다.

    1. 좌측 메뉴에서 Datacenter > Storage > backup-nfs (백업 스토리지를 선택)로 이동합니다.
    2. 중앙 패널에서 백업된 파일 목록을 볼 수 있어요. 복구하려는 VM의 백업 파일을 선택합니다.
    3. Restore 버튼을 클릭합니다.
    4. 복구 설정:

      • Target Storage: VM이 복구될 스토리지 선택 (예: local-lvm)
      • VM ID: 새 VM ID를 지정하거나, 기존 VM ID로 덮어쓸 수 있습니다. 기존 ID로 덮어쓸 경우 기존 VM은 삭제되니 주의하세요!
      • Start after restore: 복구 완료 후 바로 VM을 시작할지 여부
    5. Restore 버튼을 눌러 복구를 시작합니다.

    CLI로 복구하는 방법도 있어요. 만약 웹 GUI에 접근할 수 없는 상황이라면 유용하겠죠?

    
    # 백업 파일 경로 확인 (예: /mnt/pve/backup-nfs/dump/vzdump-qemu-100-2023_10_26-02_00_01.vma.zst)
    # 새 VM ID 101로 복구 (기존 VM ID와 겹치지 않게)
    qmrestore /mnt/pve/backup-nfs/dump/vzdump-qemu-100-2023_10_26-02_00_01.vma.zst 101 --storage local-lvm
    
    # 만약 기존 VM ID 100에 덮어쓰려면 (기존 VM 삭제 후)
    # qmrestore /mnt/pve/backup-nfs/dump/vzdump-qemu-100-2023_10_26-02_00_01.vma.zst 100 --storage local-lvm --force
    

    --force 옵션은 기존 VM을 삭제하고 복구하는 거라서 정말 신중하게 사용해야 합니다!

    ⚠️ 주의사항 및 트러블슈팅: 삽질 경험 공유

    제가 13년 동안 삽질하면서 배웠던 Proxmox 데이터 보호에 대한 몇 가지 팁과 주의사항을 공유합니다. 홈랩이든 실제 서버든 똑같더라고요.

    백업 스토리지 용량 부족

    저도 처음엔 무작정 백업 돌렸다가 백업 스토리지가 꽉 차서 난리 났었죠. 😅 정기적으로 백업 스토리지 용량을 확인하고, Retention 정책을 잘 설정해서 오래된 백업본은 자동으로 삭제되도록 해야 합니다. 아니면 Proxmox Backup Server(PBS)를 쓰면 중복 제거(Deduplication) 기능 덕분에 용량 효율이 훨씬 좋아지더라고요. 이건 나중에 기회가 되면 더 자세히 다뤄볼게요.

    백업 일관성 (Consistency) 문제

    Snapshot 모드로 백업하면 VM이 실행 중인 상태에서 백업이 이루어지기 때문에 편리해요. 하지만 이 방식은 파일 시스템 일관성(Filesystem-consistent)은 보장하지만, 애플리케이션 일관성(Application-consistent)은 보장하지 못할 수 있거든요. 예를 들어, 데이터베이스 서버 같은 경우 백업 시점에 트랜잭션이 진행 중이었다면, 복구 후 데이터베이스에 문제가 생길 수도 있습니다. 중요한 서비스라면 백업 전에 잠시 서비스를 중단하거나, VM 내부에서 VSS(Volume Shadow Copy Service) 등을 활용하는 방법을 고려해야 합니다.

    네트워크 대역폭과 복구 시간

    백업이나 복구 시 네트워크 대역폭이 충분하지 않으면 시간이 오래 걸릴 수 있어요. 특히 대용량 VM을 복구할 때는 정말 답답하더라고요. 10GbE(기가비트 이더넷) 같은 고속 네트워크를 구축해두면 훨씬 쾌적합니다.

    VM ID 충돌

    복구 시 새 VM ID를 지정하지 않고, 이미 사용 중인 ID로 복구하려고 하면 에러가 발생해요. qmrestore 명령어를 쓸 때는 반드시 기존에 사용하지 않는 VM ID를 지정하거나, 정말 덮어써야 할 경우에만 --force 옵션을 사용해야 합니다.

    백업 및 복구 결과 확인 (검증)

    백업이 잘 됐는지, 복구된 VM이 제대로 작동하는지 확인하는 게 진짜 중요해요. 저는 예전에 백업은 잘 했는데, 복구 테스트를 안 해봤다가 나중에 문제가 생겨서 애먹었던 적이 있거든요. 백업만큼이나 복구 검증도 필수입니다!

    1. 백업 로그 확인: Proxmox 웹 GUI의 Datacenter > Task Log에서 백업 작업의 성공 여부를 확인할 수 있습니다. 오류가 발생했다면 로그를 자세히 살펴보세요.
    2. 복구된 VM 정상 작동 확인: 복구된 VM을 시작하고, 서비스가 정상적으로 올라오는지, 네트워크 연결은 잘 되는지, 데이터는 모두 유효한지 꼼꼼히 확인해야 합니다. 가능하다면 주기적으로 복구 테스트를 진행해보는 게 좋습니다.

    Proxmox VE 백업 작업 로그 및 성공 기록 확인 화면

    Proxmox 백업 모드별 장단점 비교

    Proxmox에서 VM 백업 시 선택할 수 있는 주요 모드들의 장단점을 정리해봤습니다. 어떤 상황에 어떤 모드를 쓰는 게 좋을지 판단하는 데 도움이 되실 거예요.

    백업 모드 (Mode) 설명 장점 단점
    Snapshot VM이 실행 중인 상태에서 스냅샷을 찍고 백업합니다. VM 서비스 중단 없음, 가장 편리함. 애플리케이션 일관성 보장 어려움, 스냅샷 생성/삭제 오버헤드.
    Suspend VM을 잠시 일시 중지(Suspend)한 후 백업합니다. 파일 시스템 일관성 보장, 스냅샷보다 안전. VM 서비스가 잠시 중단됨 (수 초 ~ 수십 초).
    Stop VM을 완전히 중지(Stop)한 후 백업합니다. 가장 높은 데이터 일관성 보장. VM 서비스가 백업 시간 동안 완전히 중단됨.

    대부분의 홈랩이나 중요도가 아주 높지 않은 서비스는 Snapshot 모드로도 충분해요. 하지만 금융 시스템처럼 데이터 일관성이 절대적으로 중요한 곳에서는 Stop 모드를 고려하거나, VM 내부에서 정교한 백업 스크립트를 돌려야 하겠죠.

    Proxmox VE 백업 모드별 장단점 비교 인포그래픽

    마무리: 데이터 보호는 기본 중의 기본입니다!

    오늘은 Proxmox VE 환경에서 VM 백업 및 복구에 대해 자세히 알아봤습니다. 제가 13년간 서버실에서 일하며 느낀 점은, 기술이 아무리 발전해도 데이터 보호의 중요성은 변치 않는다는 거예요. 백업은 주기적으로, 복구는 빠르게! 이 두 가지 원칙만 잘 지키면 소중한 데이터를 안전하게 지킬 수 있습니다.

    오늘 다룬 내용이 여러분의 Proxmox 환경 데이터 보호 전략을 세우는 데 큰 도움이 되었기를 바랍니다. 다음번에는 Proxmox Backup Server(PBS)를 활용한 더 강력한 백업 전략이나, Proxmox 클러스터 구성에 대한 이야기로 찾아올게요. 혹시 궁금한 점이나, 제가 겪었던 삽질 경험 중 더 듣고 싶은 이야기가 있다면 언제든 댓글로 남겨주세요! 😊