Proxmox.pl

Proxmox Backup Server 2026 — kompletny przewodnik PL

Autor: Paweł Burzyński · Aktualizacja: 2026-05-07 · Czas czytania: ~22 min
Najkrócej (TL;DR): Proxmox Backup Server (PBS) to dedykowane rozwiązanie backupu dla maszyn wirtualnych Proxmox VE i kontenerów LXC. Dzieli dane na 4-megabajtowe chunki, deduplikuje globalnie i szyfruje AES-256. Typowa oszczędność miejsca: 70-95% w porównaniu do klasycznego vzdump. Wdrożenie zajmuje 2-4 godziny, jest open source (AGPL v3), subskrypcja od ok. 224 zł/rok jest opcjonalna. Pełna usługa wdrożenia w MŚP: od 2500 zł netto.
Spis treści
  1. Czym jest Proxmox Backup Server
  2. Architektura: chunks, deduplikacja, szyfrowanie
  3. Wymagania sprzętowe
  4. Instalacja krok po kroku
  5. Konfiguracja datastore i szyfrowania
  6. Integracja z Proxmox VE
  7. Strategia retencji GFS
  8. Weryfikacja integralności
  9. Restore — pełen VM i pojedyncze pliki
  10. Replikacja PBS-to-PBS i tape
  11. Najczęstsze błędy
  12. Kiedy warto wdrożyć PBS
  13. Cennik wdrożenia
  14. FAQ

Czym jest Proxmox Backup Server

Proxmox Backup Server (skrót: PBS) to dedykowany system backupu dla środowisk wirtualizacyjnych Proxmox VE oraz hostów Linux. Jest oddzielnym produktem od Proxmox VE — instalujesz go na osobnym serwerze albo maszynie wirtualnej, a Proxmox VE komunikuje się z nim po sieci.

Trzy główne funkcje, które odróżniają PBS od klasycznego rozwiązania vzdump (wbudowanego w Proxmox VE):

W praktyce oznacza to, że dla typowej infrastruktury MŚP (10-30 maszyn wirtualnych z bazami danych, plikami i usługami biznesowymi) zajętość datastore PBS rośnie liniowo z liczbą zmienionych danych, nie z liczbą backupów. To kluczowa różnica architektoniczna.

Kontekst rynkowy 2026: PBS w wersji 4.x jest zgodny z Debian 13 ("Trixie"), wspiera tape backup (LTO-8/9), replikację między datastore (sync-jobs), uwierzytelnianie OpenID Connect. Najnowsza wersja stabilna w momencie pisania to PBS 4.2 (kwiecień 2026).

Architektura: chunks, deduplikacja, szyfrowanie

Format danych w datastore

PBS dzieli dane wirtualnych dysków oraz kontenerów na chunki o stałym rozmiarze 4 MB. Każdy chunk jest:

  1. Kompresowany algorytmem zstandard (zstd, level 3 domyślnie)
  2. Opcjonalnie szyfrowany AES-256-GCM (jeśli klucz jest skonfigurowany)
  3. Zapisywany w datastore pod ścieżką wyznaczaną przez pierwsze 4 znaki SHA-256, np.:
    /mnt/datastore/main/.chunks/abcd/abcd1234567890...zstd

Indeks backupu (plik .fidx dla obrazów dysków, .didx dla katalogów) jest oddzielną strukturą wskazującą jakie chunki składają się na dany backup. Indeks jest mały (kilobajty), chunki są shared globally.

Deduplikacja w praktyce

Rozważmy hipotetyczny scenariusz: maszyna wirtualna z systemem operacyjnym Linux, 80 GB dysku z 30 GB realnie zajętymi. Backup wstępny:

OperacjaKlasyczny vzdumpPBS
Pierwszy backup~30 GB (zstd)~30 GB (chunks zstd)
Drugi backup po dniu pracy (np. logi, baza)~30 GB (cały dysk ponownie)~200-500 MB (tylko zmienione chunki)
Po 30 dniach (codzienne backupy)~900 GB~35-50 GB
Druga taka sama VM (clone)+30 GB+~50 MB (deduplikacja globalna)

Dla środowisk z wieloma VMami opartymi o ten sam template (np. 20 VM na bazie Debian 12) deduplikacja PBS daje spektakularne oszczędności — typowo >90% w porównaniu do plików tar.

Szyfrowanie AES-256-GCM

Klucz szyfrowania generujesz na PBS, ale szyfrowanie odbywa się po stronie KLIENTA (Proxmox VE) — czyli przed wysłaniem przez sieć. Konsekwencje:

Krytyczne: klucz szyfrowania PBS to plik JSON ~200 bajtów. Wydrukuj go (printable JSON), zapisz w 3 niezależnych miejscach (KeePass + cloud encrypted + papier w sejfie). Procedura disaster recovery powinna ZACZYNAĆ się od dostępu do tego klucza. Bez klucza backupy są tylko losową kupą bajtów.

Wymagania sprzętowe

KomponentMinimum (lab)Produkcja MŚPEnterprise
CPU2 vCPU4-8 vCPU16+ vCPU
RAM4 GB16-32 GB64+ GB (ZFS ARC)
Storage system32 GB SSD240 GB ZFS mirror2× 480 GB NVMe ZFS
Storage chunks500 GB HDD4-12 TB ZFS RAID-Z240+ TB ZFS / Ceph
Storage index(razem z chunks)240 GB SSD oddzielnyNVMe oddzielny
Sieć1 Gbps1-10 Gbps10-25 Gbps + redundancja

Dlaczego ZFS jest preferowany dla PBS

ZFS daje PBS trzy ważne właściwości:

  1. Checksumming na poziomie filesystemu — drugi poziom ochrony przed bit-rotem (PBS już ma własne checksumy chunks)
  2. Snapshoty datastore — możesz zrobić ZFS snapshot przed major operation (np. upgrade PBS) i wrócić w razie problemu
  3. Compression LZ4 — działa razem z zstd PBS, dodatkowa kompresja ~5-15%
Tuning ZFS dla PBS: atime=off (nie aktualizuj czasu dostępu), compression=lz4 (szybka kompresja), recordsize=1M (chunki 4 MB lubią duże recordsize), xattr=sa (atrybuty w inode), logbias=throughput (priorytet przepustowości).

Wymagania sieciowe

Backup pełnej VM 100 GB po sieci 1 Gbps trwa ~14 min teoretycznie (przy 100% wykorzystaniu pasma) — w praktyce 20-30 min. Dla większych infrastruktur (50+ VM) zalecane:

Instalacja krok po kroku

  1. Pobierz ISO Proxmox Backup Server

    Z oficjalnej strony proxmox.com/downloads pobierz najnowszy ISO PBS (4.x). To Debian 13 z preinstalowanym PBS — instalacja taka sama jak Debian, z dodatkowym wyborem storage system na początku.

    # Bezpośrednio na serwerze (jeśli masz tam dostęp do internetu)
    wget https://enterprise.proxmox.com/iso/proxmox-backup-server_4.2-1.iso
  2. Zainstaluj system

    Boot z ISO, instalator GUI. Wybierz storage system: ZFS RAID-Z2 dla danych chunks (jeśli masz 4+ HDD), ZFS mirror NVMe dla rpool (system + index). Skonfiguruj sieć — IP, gateway, DNS.

    # Po instalacji zaktualizuj system
    apt update && apt full-upgrade -y
  3. Skonfiguruj repozytorium

    Domyślnie PBS używa pbs-enterprise (wymaga subskrypcji). Bez subskrypcji przełącz na pbs-no-subscription:

    # Wyłącz enterprise repo
    sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pbs-enterprise.list
    
    # Dodaj no-subscription repo
    echo "deb http://download.proxmox.com/debian/pbs trixie pbs-no-subscription" \
      > /etc/apt/sources.list.d/pbs-no-subscription.list
    
    apt update && apt full-upgrade -y
  4. Otwórz GUI PBS

    Połącz się przez przeglądarkę: https://IP-PBS:8007. Zaloguj jako root@pam z hasłem ustawionym w instalacji. Pierwsze logowanie pokaże ostrzeżenie certyfikatu (self-signed) — zaakceptuj lub wgraj swój cert (ACME / Let's Encrypt można skonfigurować w GUI).

  5. Utwórz użytkownika dla zadań backupu

    Nie używaj root@pam dla backupów z PVE — utwórz dedykowanego użytkownika z minimalnymi uprawnieniami:

    # Utwórz user
    proxmox-backup-manager user create backup@pbs --password ''
    
    # Nadaj rolę DatastoreBackup tylko na konkretnym datastore
    proxmox-backup-manager acl update /datastore/main DatastoreBackup --auth-id backup@pbs
    
    # Wygeneruj API token (zalecane zamiast hasła)
    proxmox-backup-manager user generate-token backup@pbs pve-token1
    # Zapisz wyświetlony token — pokazuje się tylko raz!

Konfiguracja datastore i szyfrowania

Tworzenie datastore

Datastore to fizyczna lokalizacja gdzie PBS zapisuje chunki. Możesz mieć wiele datastore (np. fast-ssd dla DB, cold-hdd dla archiwum).

# GUI: Datastore → Add → wybierz katalog (np. /mnt/datastore/main)

# CLI:
proxmox-backup-manager datastore create main /mnt/datastore/main \
  --comment "Główny datastore produkcyjny" \
  --gc-schedule "sun 04:00" \
  --prune-schedule "daily 03:00"

Parametry:

Klucz szyfrowania

Klucz generujesz JEDEN RAZ na PBS i kopiujesz na klientów (PVE):

# Wygeneruj klucz (na PBS jako root)
proxmox-backup-client key create /root/backup-key.json \
  --kdf scrypt

# Wpisz hasło ochrony klucza (drugi czynnik) — opcjonalne ale zalecane
# Powstaje plik backup-key.json z kluczem AES-256

# Wydrukuj wersję paper-backup
proxmox-backup-client key paper-key /root/backup-key.json \
  > /root/backup-key.paper.txt
# Plik .paper.txt zawiera klucz w formie czytelnej dla człowieka — DRUKUJ I CHOWAJ W SEJFIE

Następnie kopiujesz klucz na klientów (PVE):

# Z PBS na każdy node Proxmox VE
scp /root/backup-key.json root@pve-node1:/etc/pve/priv/backup-key.json
# Plik /etc/pve/ jest replikowany w klastrze automatycznie
Najczęstszy błąd: generowanie nowego klucza po utworzeniu pierwszych backupów. Stare backupy stają się nieczytelne. Zasada: jeden klucz na cały okres życia datastore. Rotacja kluczy wymaga re-encrypt całego datastore (długie, ryzykowne).

Integracja z Proxmox VE

Dodanie PBS jako storage w PVE

W Proxmox VE: Datacenter → Storage → Add → Proxmox Backup Server. Wymagane pola:

PoleWartośćSkąd to wziąć
IDnp. pbs-maindowolne, używane w komendach
ServerIP lub FQDN PBS
Usernamebackup@pbs!pve-token1user@realm!tokenname
API TokenUUIDz wygenerowania API token
Datastoremainnazwa datastore
FingerprintSHA-256z PBS GUI: Dashboard → Show Fingerprint
Encryption(plik klucza)upload backup-key.json

Tworzenie zadania backupu

Datacenter → Backup → Add. Możesz określić:

# Konfiguracja przez CLI
pvesh create /cluster/backup \
  --id "daily-all" \
  --schedule "2:00" \
  --storage pbs-main \
  --vmid all \
  --mode snapshot \
  --compress zstd \
  --mailto biuro@firma.pl \
  --mailnotification failure
Tryb snapshot jest bezpieczny dla większości aplikacji. Dla baz danych krytycznych (PostgreSQL, MS SQL) zalecane są dodatkowe pre-backup hooki: qm guest exec wykonuje dump bazy do pliku przed snapshot, gwarantując konsystencję aplikacyjną.

Strategia retencji GFS

GFS (Grandfather-Father-Son) to klasyczna strategia retencji backupów. PBS implementuje ją natywnie przez prune:

ParametrStandard MŚPCo znaczy
keep-last3Zachowaj 3 ostatnie backupy niezależnie od daty (zabezpieczenie przed prune jeśli dziś nie było backupu)
keep-hourly0Backupy godzinowe (zalecane tylko dla baz danych)
keep-daily77 ostatnich dziennych backupów
keep-weekly4Po jednym backupie z każdego z 4 ostatnich tygodni
keep-monthly12Po jednym z każdego miesiąca przez rok
keep-yearly2Po jednym z każdego roku przez 2 lata

W praktyce daje to ~25 backupów per VM rozłożonych w czasie: ostatni tydzień szczegółowo, miesiąc miesięcznie, lata rocznie.

# Przykład: ustaw retencję dla datastore
proxmox-backup-manager datastore update main \
  --keep-last 3 \
  --keep-daily 7 \
  --keep-weekly 4 \
  --keep-monthly 12 \
  --keep-yearly 2

# Test prune (DRY-RUN — pokazuje co usunie, ale nie usuwa)
proxmox-backup-client prune --dry-run vm/100 main

Garbage Collection

Prune oznacza chunki jako nieużywane, ale nie usuwa ich z dysku. To robi Garbage Collection (GC). Cykl:

  1. Phase 1: GC mark — przegląda wszystkie indexy backupów i oznacza używane chunks
  2. Phase 2: GC sweep — usuwa chunki nieoznaczone w Phase 1, jeśli są starsze niż 24h (safety margin)
# Manualne uruchomienie GC
proxmox-backup-manager garbage-collection start main

# Status
proxmox-backup-manager garbage-collection status main
Reguła GC: jeśli prune usuwa codziennie, GC raz w tygodniu wystarczy. Dla bardzo aktywnego datastore (50+ VM, częste prune) GC raz dziennie. GC jest I/O-intensive — uruchamiaj poza godzinami backupu.

Weryfikacja integralności

Verification sprawdza czy chunki nie zostały uszkodzone (bit-rot, błąd dysku). Bez verification pierwszy raz dowiesz się o uszkodzeniu przy próbie restoru — czyli ZA PÓŹNO.

Konfiguracja verify-job

# Dodaj verify-job dla datastore main
proxmox-backup-manager verify-job create verify-main \
  --store main \
  --schedule "sat 22:00" \
  --outdated-after 30 \
  --ignore-verified true

# Parametry:
# - schedule: kiedy uruchamiać (sobota 22:00 = mało ruchu)
# - outdated-after: re-weryfikuj po 30 dniach (chunks które już były zweryfikowane)
# - ignore-verified: pomiń chunks zweryfikowane wcześniej (przyspiesza)

Verification działa na poziomie chunks (sprawdza każdy hash SHA-256). Czas pełnej weryfikacji: ~1-2 godziny per TB datastore (ZFS HDD).

Co zrobić gdy verification znajdzie błąd

  1. Sprawdź log: journalctl -u proxmox-backup-proxy | grep verify
  2. Zidentyfikuj uszkodzony chunk (hash SHA-256)
  3. Sprawdź dysk: smartctl -a /dev/sdX — jeśli dysk umiera, wymień
  4. Jeśli masz sync-job na drugi PBS — usuń uszkodzony chunk, sync przywróci go z replicy
  5. Jeśli nie masz repliki — backup VM jest stracony, ale tylko TEN konkretny snapshot. Pozostałe są bezpieczne (deduplikacja: chunk uszkodzony to często chunk wspólny dla wielu backupów, ale są też nadrabiane przy następnym backupie)

Restore — pełen VM i pojedyncze pliki

Pełen restore VM

Najprostsza droga: przez GUI Proxmox VE. Datacenter → wybierz storage PBS → Backups tab → wybierz backup → Restore. Możesz przywrócić jako:

# Restore z CLI
qmrestore /var/lib/pve/local-storage/dump/vzdump-qemu-100-2026_05_07-02_00_01.vma.zst 100 \
  --storage local-zfs \
  --unique 1

# Restore z PBS storage
qmrestore pbs-main:backup/vm/100/2026-05-07T02:00:01Z 200 \
  --storage local-zfs

Restore pojedynczych plików (file-level)

To killer feature PBS — możesz wyciągnąć pojedynczy plik z backupu VM bez restoru całej maszyny.

W GUI: wybierz backup → File Restore. PBS uruchamia tymczasową mini-VM która montuje obraz dysku tylko-do-odczytu, parsuje filesystem (ext4/xfs/ntfs/zfs) i pokazuje strukturę katalogów. Klikasz na plik → Download → dostajesz plik.zip.

Działa dla:

Wewnętrznie: PBS uruchamia tymczasową qemu VM z minimalnym kernelem Linux i twoim obrazem dysku jako block device read-only. Po zakończeniu Download VM jest niszczona. To dlatego file-restore wymaga ~30s na uruchomienie i działa tylko jeśli host PBS ma KVM (CPU z VT-x/AMD-V).

Replikacja PBS-to-PBS i tape

Sync-job (replikacja off-site)

Strategia 3-2-1 wymaga off-site. Najtańsza i najbardziej elastyczna implementacja: drugi PBS w innej lokalizacji + sync-job.

# Na PBS-A (źródło) — utwórz remote do PBS-B
proxmox-backup-manager remote create pbs-offsite \
  --host pbs-offsite.firma.pl \
  --auth-id sync@pbs!sync-token \
  --password '' \
  --fingerprint 'XX:YY:ZZ:...'

# Utwórz sync-job
proxmox-backup-manager sync-job create offsite-daily \
  --remote pbs-offsite \
  --remote-store main \
  --store main \
  --schedule "daily 06:00" \
  --transfer-last 7

Parametr transfer-last 7 oznacza: synchronizuj tylko 7 ostatnich snapshotów per VM. Oszczędza ruch sieci i miejsce na off-site.

Tape backup (PBS Tape)

Od PBS 2.1 wbudowane wsparcie LTO. Wymaga:

Tape jest tańsze niż off-site PBS dla bardzo dużych datasets (>100 TB) lub gdy compliance wymaga "air-gapped" media. Dla MŚP off-site PBS jest tańszy, prostszy i szybszy w restore.

Najczęstsze błędy

  1. Brak klucza szyfrowania off-site — w razie awarii PBS i utraty dysku z kluczem, backupy są bezużyteczne. Fix: wydrukuj paper-key, zapisz w sejfie + KeePass + zaszyfrowany cloud.
  2. Datastore na pojedynczym dysku bez RAID — utrata dysku = utrata wszystkich backupów. Fix: minimum ZFS mirror, idealnie RAID-Z2.
  3. Brak verify-job — bit-rot w chunks pozostaje niezauważony do pierwszej próby restoru. Fix: verify weekly z outdated-after 30.
  4. GC nigdy nie uruchamia się — datastore puchnie mimo prune. Fix: sprawdź gc-schedule i log journalctl -u proxmox-backup-proxy.
  5. Backup baz danych bez quiesce — snapshot jest crash-consistent ale baza może być uszkodzona. Fix: qm guest exec dump przed backup, lub wyłączenie bazy na 30s podczas snapshot.
  6. Token bez ograniczeń — token backup@pbs!token1 z prawami root. Fix: ACL DatastoreBackup tylko na konkretnym datastore, nigdy Admin.
  7. Brak monitoring — backup się nie udaje, nikt nie wie. Fix: Zabbix template dla PBS (sprawdza ostatni successful backup per VM, status sync-jobs, wolne miejsce datastore, errors verify).
  8. Datastore na slow HDD bez SSD index — prune i verify trwają długo, GC blokuje. Fix: NVMe dla rpool z indeksem, HDD dla chunks danych.
  9. Pełen backup raz w tygodniu zamiast incremental forever — niepotrzebnie zajmuje miejsce i sieć. Fix: standardowa konfiguracja PBS to incremental forever, NIE rób fulli okresowych.

Kiedy warto wdrożyć PBS

Warto:

Może nie warto:

Cennik wdrożenia PBS przez Sztorm IT

PakietSkalaCena nettoCzas
PBS Start1 PBS, 1 datastore, do 10 VM, GFS retention, dokumentacjaod 2 500 zł1-2 dni
PBS Pro1 PBS, ZFS multi-tier (NVMe+HDD), 30+ VM, sync-job off-site, monitoring Zabbix, szkolenie 1-dnioweod 5 500 zł3-5 dni
PBS EnterpriseKlaster PBS (HA), tape backup, multi-datastore, integracja z compliance ISO 27001wycena indywidualna1-3 tygodnie

Wszystkie pakiety obejmują: wstępny audyt środowiska, instalację PBS, konfigurację datastore, klucz szyfrowania z paper-backup, integrację z PVE, ustawienie GFS, verify-job, dokumentację techniczną, 30 dni wsparcia powdrożeniowego.

Wdrożymy Proxmox Backup Server w Twojej firmie

Authorized Reseller Proxmox · 22+ lat doświadczenia · ISO 27001 · 1350+ serwerów pod opieką

Zamów wycenę 📞 699 715 046

Często zadawane pytania (FAQ)

Czym różni się PBS od zwykłego backupu w Proxmox VE?

Wbudowany backup w PVE tworzy pełne kopie VM (vzdump) — duże pliki, brak deduplikacji. PBS używa chunked storage z deduplikacją na poziomie 4 MB chunków: drugi i kolejne backupy zapisują tylko zmienione fragmenty. Typowa oszczędność miejsca: 70-95%. PBS dodaje też szyfrowanie AES-256, weryfikację integralności, retencję GFS i incremental forever.

Ile miejsca zajmie PBS dla 10 VM po 100 GB?

Pierwszy pełny backup ~1 TB. Kolejne dzienne backupy: 50-200 GB łącznie (tylko delta). Po 30 dniach z retencją GFS (7d+4w+3m): ~1.5-2 TB zamiast ~30 TB klasycznego backupu.

Czy PBS jest darmowy?

Tak, PBS jest open source na licencji AGPL v3. Subskrypcja Enterprise jest opcjonalna i daje wsparcie producenta oraz stabilne repozytorium pbs-enterprise. Bez subskrypcji używasz pbs-no-subscription repo.

Jaki sprzęt potrzebny pod PBS produkcyjny?

Minimum: 4 vCPU, 8 GB RAM, ZFS RAID-Z2 z 4-6 dyskami SATA. Produkcja MŚP: 8 vCPU, 32 GB RAM, ZFS mirror NVMe na rpool + ZFS RAID-Z2 HDD na dane. Klucz: dużo IOPS na index (NVMe), pojemność na chunks (HDD).

Czy PBS zastąpi mi taśmę / off-site backup?

PBS sam w sobie to backup on-site. Dla 3-2-1: PBS replikuje datastore na drugi PBS off-site (sync-job) lub eksportuje na taśmę (od PBS 2.1+). Off-site PBS jest tańszy i prostszy niż taśma — rekomendowane dla MŚP.

Czy mogę przywrócić pojedynczy plik bez restoru całej VM?

Tak. PBS GUI → File Restore. PBS montuje wirtualny system plików backupu i pokazuje strukturę katalogów. Pobierasz pojedynczy plik jako .zip. Działa dla VM (qemu) i kontenerów (LXC), wszystkie standardowe filesystemy.

Co jeśli stracę klucz szyfrowania?

Bez klucza nie odtworzysz backupów. AES-256 jest praktycznie niełamliwe. Klucz MUSI być przechowywany off-site (KeePass + cloud + papier w sejfie). Procedura disaster recovery powinna zaczynać się od dostępu do klucza.

Jak często robić Garbage Collection?

Standardowo: raz w tygodniu (np. niedziela 4:00). GC jest I/O-intensive — uruchamiaj poza godzinami szczytu. Niewykonanie GC nie zniszczy danych, tylko miejsce nie zostanie zwolnione po prune.

Czy PBS robi backup baz danych z konsystencją?

PBS robi backup VM jako całości w trybie snapshot — to crash-consistent ale nie aplikacyjnie konsystentny. Dla baz danych zalecane: dump bazy do pliku PRZED snapshot (qm guest exec) lub backup-on-quiesce.

Ile kosztuje wdrożenie PBS przez Sztorm IT?

Wdrożenie PBS dla MŚP: od 2500 zł netto. Pełna usługa enterprise (klaster PBS + sync off-site + tape + monitoring + szkolenie + 30 dni wsparcia): od 8000 zł netto.

Powiązane materiały