1. Úvod
Proxmox backup server (dále jen PBS) je dlouhodobě velmi očekávané řešení pro potřeby profesionálního firemního zálohování na virtualizační platformě od společnosti Proxmox Server Solutions GmbH. S PBS můžeme zálohovat kontejnery, virtuální stroje anebo i bare metaly a to jednoduše, rychle a bezpečené. Jedná se o řešení postavené na architektuře klient-server.
Úvodní Datasheet o prezentaci výhod PBS
2. Kam jej umístit?
PBS může být nainstalován na více místech. Pro potřeby práce ve vývoji nebo z hlediska úsporných variant jej můžete nainstalovat ve virtualizaci, anebo přímo na nějaký bare metal. Jak jistě usoudíme, mnohem lepší smysl dává umístit jej na bare-metal, získáte tím několik benefitů:
- Offloadujete zálohovací zátěž na samostatný stroj a nebudete si tím zpomalovat vlastní produkční infrastrukturu.
- Budete mít lepší možnost práce se ZFS a disky.
Tento výčet není konečný. PBS může být jen jako přechodový můstek a můžete třeba z nějaké synology NAS namoutit přes NFS/iSCSI svazky a odesílat zálohy tam. Dokonce umístění PBS ve virtualizaci na tom samém node má své opodstatnění, ale jak jistě pochopíte, není to dobré do produkce. Hodí se to, když:
- Máte omezený budget a nemáte finance na samostatné železo.
- Chcete s PBS experimentovat, oťukávat se s ním.
I tak, zde dává smysl zůstávat u nativního proxmox zálohování anebo si nechat zálohování potřešit na úrovni souborového systémů (třeba pomocí ZFS snapshots nebo CEPH RBD mirroring)
3. Instalace a napojení PBS na PVE
3.1 Instalace PBS
Instalace PBS je velmi snadná a zde jsou požadavky na server.
Minimální systémové požadavky pro rozběhnutí PBS jsou:
- CPU: 64bit (x86-64 or AMD64), 2+ jádra
- 2GB RAM
- 8GB místa
- Síťová karta
Doporučené systémové prostředky jsou:
- CPU: Moderní AMD or Intel 64-bit CPU, s minimálně 4 jádry.
- Minimálně 4 GiB RAM a pak co 1TB dat to 1GB RAM
- OS prostor: 32 GiB
- Backup storage: Uživejte pouze SSD, nebo rotační disky s SLOG na SSD
- Redundantní NIC
Správci Connectica s.r.o. doporučují – nepoužívejte hw řadiče. Pokud se ZFS teprve začínáte, můžete si způsobit mnoho bolesti na produkci.
Na dedikovaný stroj stačí nainstalovat Debian10 v čisté instalaci a provést editaci Debian repozitářů v /etc/apt/sources.list
deb http://ftp.debian.org/debian buster main contrib
deb http://ftp.debian.org/debian buster-updates main contrib
# security updates
deb http://security.debian.org/debian-security buster/updates main contrib
Nainstalujte pgp klíč
wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
ověřte, že je v pořádku a zkontrolujte checksum
sha512sum /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
md5sum /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
Pro potřeby vývoje je vhodné do /etc/apt/sources.list přidat testovací repozitář na hraní
deb http://download.proxmox.com/debian/pbs buster pbstest
Nemáte-li subscripci, dejte tento repozitář:
deb http://ftp.debian.org/debian buster main contrib
deb http://ftp.debian.org/debian buster-updates main contrib
# PBS pbs-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pbs buster pbs-no-subscription
# security updates
deb http://security.debian.org/debian-security buster/updates main contrib
Instalce PBS proběhne sumou příkazů:
apt-get update
apt-get install proxmox-backup-server
apt-get install proxmox-backup
apt-get install proxmox-backup-client
3.2 Napojení PBS na PVE
PBS napojíme na Proxmox virtual enviroment (PVE) strašně snadno. Na PVE v sekci datacenter – storage klikneme na add a přidáme Proxmox backup server, kde zadáme základní údaje jak jsou popsány v printscreenu
a dojde k napojení PBS na PVE. PBS na PVE můžeme také napojit mnohem rychleji přes CLI.
pvesm add pbs store2 --server localhost --datastore store2
pvesm set store2 --username user1@pbs --password <secret>
pozor! Username zadávejte root user, jinak napojení PVE na PBS zlobí.
4. Rozdíly mezi PBS a nativním zálohováním
Pojďme si vyjmenovat hlavní rozdílnosti mezi nativním zálohováním Proxmoxu a PBS
4.1 Hlavní výhody PBS oproti nativnímu zálohování
Rychlost
PBS je pro prvních pár snapshotů pomalé, ale poté začne být zálohování extrémně rychlé v závislosti na faktoru deduplikace. Nativní zálohování na Proxmoxu
Komprese
Zde bychom řekli, že komprese je si velmi podobná u obou řešení
Deduplikace
Jednoznačnou výhodou je deduplikace u PBS optoti nativnímu zálohování. Toto šetří obrovské množství datového prostoru a byť deduplikace na FreeNAS je problematická, tak tým stojícví za vývojem PBS udělal vynikající práci a deduplikace prostě funguje.
Inkrementální zálohování
PBS umí nastavit chytré retence záloh v sekci pruning. Tuto funkci nativní zálohování kompeltně postrádá.
Kontrola konzistence záloh
Další vynikající fičura, PBS umí provádět kontroly konzistence záloh, což celé řešení posouvá na profesionální úroveň.
Synchronizace se vzdáleným úložištěm
Vynikající na jedno kliknutí řešení, které umí zálohy PBS odlévat na jiný storage. Stejného cíle dosáhneme s nativním zálohováním Proxmoxu také a to tím, že budeme duplikovat zálohy.
Šifrování
Další z mnoha výborných fičur PSB. Zálohy je možno šifrovat.
4.2 Pozor na chunking
Nativní zálohování má jednotlivé zálohy umístěné jako jeden velký adresář a když takto zálohu vezmeme a přeneseme jinam, snadno ji obnovíme. Jenže PBS si data rozbíjí na kousky (chunks). Tedy pokud nám PBS padne, obnovy dokážeme udělat jen s pomocí jiného PBS. zde je ukázka, jak vypadá struktury PBS
root@pbs /mnt/datastore/Backup1
drwxr-xr-x 6 backup backup 4.0K Mar 30 11:33 ./
drwxr-xr-x 3 root root 4.0K Mar 9 23:48 ../
drwxr-x--- 1 backup backup 1.1M Mar 30 12:39 .chunks/
-rw-r--r-- 1 backup backup 303 Mar 30 11:33 .gc-status
drwxr-xr-x 3 backup backup 4.0K Mar 23 19:57 host/
-rw-r--r-- 1 backup backup 0 Mar 9 23:48 .lock
drwx------ 2 root root 16K Mar 9 23:48 lost+found/
drwxr-xr-x 10 backup backup 4.0K Mar 10 13:11 vm/
a nás práve nějvíce zajíma adresář .chunks, který ale nemá smysl listovat celý, protože obsahuje jen sumu chunks (výpis je záměrně oseknutý, obsahuje cca 4000 adresářů)
root@pbs /mnt/datastore/Backup1/.chucks tree -f --prune
├── ./ff25
│ ├── ./ff25/ff254c19b3d261f83ec931d28f534b234b4d0cc9836ee2de88f7b2a966363ff0
│ └── ./ff25/ff2553837d4789503f02b12c89c9fd8382639d455b04c70ff880d3c44d6132bf
├── ./ff53
│ └── ./ff53/ff53d490a1d0db182d2bc74a84e152e6426dac78e455bc618d4b63e1040221ee
├── ./ff68
│ └── ./ff68/ff6879592cebe71560b9bc55696d1ff48d1572a712059239127ffdcb8b388342
├── ./ff9d
│ └── ./ff9d/
3897 directories, 4031 files
4.3 Rychlost zálohování
Zaměřme se na ožehavé téma – jaká je tedy rychlost zálohování? Pro zodpovězení tohoto dotazu jsme utvořili pronásledující setup o počtu 8 strojů ve virtualizaci, které mají minimální změny v čase a nechali stroje zálohovat jak pomocí PBS, tak pomocí nativního zálohování.
Výpočet záloh na PBS nám vychází v ukázkovém setupu o 50% úsporněji na kapacitu s tím, že retence záloh je dvojnásobná. Nyní máme na test celkem 8 strojů (5x MikroTik, 3x Debian10). Všechny si drží retenci 3 záloh pomocí nativního zálohování. Celkově to obsazuje 10GB místa. PBS nám udržuje retenci 7 záloh a spotřebovává kapacitu 4GB a deduplikační faktor je u hodnoty 120.
5. Example ukázka PBS
V tomto videu si ukážeme základní orientaci v grafickém prostředí PBS.
Ve videu zazněli následující pojmy, které je dobré si zapamatovat při práci s PBS:
Pruning
Je údržbová úloha, který umožňuje definovat retenci snapshotů v PBS a udržuje záznamy v indexech. Pro tuto potřeby práce s Pruningem vznikl simulátor prunování https://pbs.proxmox.com/docs/prune-simulator/
Garbage collection
Je údržbová úloha, která doplňuje pruning. Garbage collection zjednodušeně řečeno odmazává bloky. Nejdříve označí užívaná data a poté neužívaná data odmazává. K tomuto výkonu své práce nutně potřebuje mít přístup do indexového souboru a k chunk storage.
pxar
Proxmoxový souborový archivní formát. Nachází se v něm adresářový strom a obsah je rozhozen do chunků (bloků). Formát je optimalizovaný pro potřebu deduplikace.
catalog.pcat1
Uchovává index pro souborový archiv a pomáhá s urychlením vyhledávání dat.
Manifest.json
Obsahuje seznam všech zálohovaných souborů, jejich velikostí a checksumu. Slouží pro potřebu kontroly konzistence záloh.
fidx
Fixní indexový formát je formát potřebný k ukládání dat u určitém formátu.
blob
binární data jsou uchovaná v blobech v malých chunkách po 16MB a většinou obsahují konfigurační soubory
7. Závěr
PBS je přesně to, co velmi dlouhou dobu ve firemním prostředí pro tuto platformu chybělo, aby se dala nazvat plnohodnotným firemním řešením. Při celém zkoušení PBS nebyla nalezena sebemenší chyba či problém, který by bránil jakékoliv komplikaci. Celé řešení je nejen velmi vyzrálé, ale posouvá do buducna samotnou KVM virtualizaci o další úroveň. Velmi příjemné je, že lte na PBS zálohovat i bare metaly, nebo na PBS je možno napojit Proxmox mail gateway.
Celé zdrojové kódy PBS jsou k nahlédnutí v GIT repozitáři https://git.proxmox.com a dokumentace, ze které jsme čerpali je dostupná v anglickém jazyce https://pbs.proxmox.com/docs/
V dokumentaci najdete mnoho parádních tipů navíc, například některé fičury u PBS nejsou oficiálně oznámené, třeba možnost odlévaní záloh na páskové mechaniky https://pbs.proxmox.com/docs/tape-backup.html?highlight=index.
Snad v závěru odpustíte malou reklama. Budete-li potřebovat enterprise subscription pro svůj Proxmox Backup server, klidně nám napište na support@cnnc.cz a vyřídíme Vám jej v české měně od plátce DPH – Společnosti Connectica s.r.o.