Co nastavíte
BackupZit zálohuje virtuální počítače (QEMU) a kontejnery (LXC) v Proxmox VE bez instalace čehokoli do hostů. Malý agent běží na každém uzlu Proxmox, vytvoří dočasný snapshot každého hosta, přečte jeho disky a uloží je na zvolené úložiště. Webová konzole plánuje úlohy, uchovává historii a spouští obnovy.
- Co potřebujete
- 1. Konzole
- 2. Úložiště
- 3. Agent na uzlu
- 4. Úloha zálohování
- 5. Konzistentní zálohy
- 6. Kopie mimo firmu
- 7. Testy obnovy
- Obnova
- Konfigurace hostitele
- Omezení
Proxmox VE má i vlastní nástroje: vzdump a Proxmox Backup Server. Pokud provozujete jen Proxmox, jsou dobrou bezplatnou volbou. BackupZit se vyplatí, když chcete jednu konzoli pro Proxmox i servery Windows a Linux, VMware, Hyper-V, databáze a Microsoft 365, nebo funkce jako zálohy ověřené testem spuštění a repliky v jiném clusteru.
Co potřebujete
- Jeden nebo více uzlů s Proxmox VE 7, 8 nebo 9 (vycházejí z Debianu, takže sedí balíček agenta pro Debian).
- Místo pro konzoli BackupZit: malý linuxový VM se 2 vCPU, 2–4 GB RAM a diskem 16–20 GB. Konzole sama neukládá data záloh, může tedy běžet jako VM ve stejném clusteru.
- Úložiště pro zálohy mimo uzel Proxmox — například linuxový server nebo NAS přes SFTP, sdílená složka SMB, bucket kompatibilní s S3 nebo zabezpečený repozitář BackupZit (hardened repository). Agenti do něj zapisují přímo.
- Síť: agenti se ke konzoli připojují na port TCP 8443.
Krok 1 — Instalace konzole
Na Proxmoxu je nejrychlejší hotový obraz appliance backupzit-appliance.qcow2 ze stránky ke stažení (Debian, PostgreSQL a konzole, už nastavené):
- Vytvořte VM bez disku: 2 vCPU, 2–4 GB RAM, síť VirtIO.
- Zkopírujte
backupzit-appliance.qcow2na uzel a importujte ho jako disk VM (nahraďte<vmid>):qm importdisk <vmid> backupzit-appliance.qcow2 local-lvm - Připojte importovaný disk jako SCSI, nastavte ho jako spouštěcí a v možnostech VM zapněte QEMU guest agent.
- Spusťte VM. Na její obrazovce uvidíte adresu webové konzole a počáteční heslo uživatele
admin. Otevřetehttps://<adresa>:8443, přihlaste se a změňte heslo.
Na obrazovce VM se můžete přihlásit jako bzadmin a nastavit pevnou adresu, název serveru a časové pásmo (appliance startuje v UTC a plány běží v časovém pásmu konzole). Raději na existujícím serveru Debian, Ubuntu, AlmaLinux nebo Rocky Linux? Jednořádkový instalační skript ze stránky ke stažení tam udělá totéž.
Krok 2 — Přidání cíle úložiště
V konzoli otevřete Úložiště a přidejte cíl. Typická volba pro zálohy Proxmoxu:
| Typ | Vhodné pro |
|---|---|
| SFTP | Jakýkoli linuxový server nebo NAS s SSH; klíč hostitele serveru se připne. |
| Sdílená složka SMB | Souborové servery Windows, NAS Synology nebo QNAP (SMB 2/3). |
| Kompatibilní s S3 | Kopie mimo firmu: AWS S3, Wasabi, Backblaze B2, MinIO, Ceph; neměnné díky Object Lock. |
| Zabezpečený repozitář | Linuxový server s backupzit-repo: zálohy nelze smazat před koncem doby neměnnosti. |
Nechte zapnuté Šifrovat zálohy (AES-256) (výchozí): vše se šifruje AES-256-GCM na uzlu ještě předtím, než ho opustí. Konzole pak zobrazí klíč pro obnovu — vytiskněte list pro obnovu nebo klíč uložte do správce hesel, mimo zálohy. S klíčem, umístěním úložiště a přihlašovacími údaji obnovíte data i po ztrátě konzole; bez klíče zálohy nikdo nepřečte.
Krok 3 — Instalace agenta na každý uzel
- V konzoli otevřete Agenti a klikněte na Vytvořit registrační token. Získáte registrační kód (
BZ1-…), který platí 7 dní a funguje pro libovolný počet počítačů. - Stáhněte balíček Agent pro Linux — Debian / Ubuntu ze stránky Agenti na uzel a spusťte:
apt install ./backupzit-agent_*.deb backupzit-agent enroll --code "BZ1-..." systemctl enable --now backupzit-agent - Do minuty se uzel objeví na stránce Agenti s označením Proxmox VE · N guests.
Agent používá nástroje samotného uzlu (qm, pct, pvesm, LVM, ZFS, Ceph). V konzoli se neukládá žádný API token Proxmoxu ani heslo roota. V clusteru nainstalujte agenta na každý uzel.
Krok 4 — Vytvoření úlohy zálohování
- Otevřete Úlohy zálohování, vytvořte úlohu a vyberte agenta uzlu.
- Zvolte Virtuální počítače (Proxmox VE, Hyper-V, VMware) a pak Všechny VM (a kontejnery) na hostiteli — později vytvoření hosté se zahrnou automaticky — nebo zaškrtněte jednotlivé hosty.
- Vyberte cíl úložiště z kroku 2.
- Nastavte plán, například každý pracovní den ve 22:00. Úlohy se mohou opakovat také každých 15 minut až 12 hodin, běžet jednou za měsíc nebo začít po jiné úloze.
- Nastavte uchovávání. Příklad: 3 nejnovější, 7 denních, 4 týdenní, 6 měsíčních drží asi půl roku historie s přibližně 20 body obnovy.
Co se děje při každém spuštění:
- Vytvoří se dočasný snapshot Proxmoxu (
backupzit_…); host běží dál. - Každý disk se čte ze snapshotu po blocích 1 MiB. Prázdné bloky se neukládají a bloky, které už v repozitáři jsou, se znovu nenahrávají — po první záloze jde po síti jen to, co se změnilo. Každá záloha je přesto úplný bod obnovy.
- Snapshot se odstraní. Konfigurace hosta (CPU, paměť, síť, disky) se uloží se zálohou.
Protože nezměněná data se ukládají jen jednou, dlouhé uchovávání stojí málo místa navíc.
Které disky lze zálohovat za běhu
| Úložiště Proxmox | Záloha běžícího hosta |
|---|---|
LVM-thin (local-lvm) | ano, ze snapshotu |
| ZFS (disky VM / zvol) | ano, ze snapshotu |
| Ceph RBD | ano, ze snapshotu |
| Adresář, NFS, CIFS s qcow2 | ano, ze snapshotu |
| Adresář, NFS, CIFS s raw; tlusté LVM | ne — zastavte hosta nebo přesuňte disk |
Zastavené hosty lze zálohovat na všech těchto úložištích. Disky označené Backup: no (backup=0), předané fyzické disky a bind mounty se přeskočí a nahlásí jako varování.
Krok 5 — Zálohy konzistentní na úrovni aplikací
Pokud ve VM běží QEMU guest agent a je zapnutý v jejích možnostech, Proxmox pro snapshot zmrazí souborové systémy VM, takže databáze a další aplikace se zachytí v čistém stavu. Bez něj je záloha konzistentní jako po pádu — jako po výpadku proudu.
Ve VM s Debianem nebo Ubuntu:
apt install qemu-guest-agent
systemctl enable --now qemu-guest-agent
Do VM s Windows nainstalujte VirtIO guest tools. Pak agenta pro VM zapněte na uzlu (projeví se po příštím úplném zastavení a spuštění VM):
qm set <vmid> --agent enabled=1
Stránka každého spuštění zálohy ukazuje pro každého hosta, které disky se četly a jak byl host zachycen.
Krok 6 — Kopie mimo firmu (3-2-1)
Pravidlo 3-2-1: tři kopie dat na dvou různých médiích, z toho jedna mimo firmu. Přidejte druhou úlohu typu Kopie zálohy, jako zdroj zvolte úlohu Proxmoxu a jako cíl úložiště mimo firmu, třeba bucket S3 s Object Lock nebo zabezpečený repozitář v jiné budově.
- Agent kopíruje existující zálohy; VM se znovu nečtou.
- Posílají se jen data, která v cíli ještě nejsou, zašifrovaná klíčem cíle.
- Ve výchozím stavu kopie běží po každé záloze zdrojové úlohy; funguje i jakýkoli plán, např. jednou za noc na pomalé lince.
- Kopie má vlastní uchovávání, např. 7 denních na NAS a 12 měsíčních v cloudu.
VM se z kopie obnovují stejně jako z originálu — celé VM, jednotlivé soubory i okamžitá obnova. Více o neměnných kopiích v části ochrana před ransomwarem.
Krok 7 — Důkaz, že zálohy nastartují
Čitelné bloky nedokazují, že VM ještě nastartuje. V Nastavení → Testy obnovy zapněte Test spuštění pro zálohy VM v Proxmoxu. Test obnovy pak postupně spustí každou VM z nejnovější zálohy na uzlu úlohy, přímo ze zálohy, s novým ID a odpojenými síťovými kartami, aby nekolidovala s originálem — a pak ji zase smaže.
- VM projde, když její QEMU guest agent odpoví včas, tedy když systém nastartoval. VM bez guest agenta projdou, pokud běží minutu, a zobrazí se jako běžící, ne nastartované.
- Uzel potřebuje během testu volnou paměť pro jednu VM navíc.
- Navíc kontrola dat (ve výchozím stavu měsíčně) přečte všechna uložená data a ověří je proti kontrolním součtům, aby se poškození samotného úložiště odhalilo dřív, než zálohu budete potřebovat.
Obnova
Otevřete spuštění zálohy (ze stránky úlohy nebo z Aktivita) a zvolte Obnovit VM nebo kontejner.
Celá VM nebo kontejner
- Obnova na jakýkoli uzel s agentem — i na uzel jiného clusteru.
- Jako nového hosta s dalším volným ID (výchozí), zatímco originál dál běží; kopie dostane nové MAC adresy. Nebo s původním ID po smazání hosta, případně s nahrazením existujícího.
- Zvolte název a úložiště pro disky a zda se má host po obnově spustit.
- Každá obnova dá VM nové generační ID (
vmgenid), takže řadiče domény Windows bezpečně poznají návrat zpět.
Okamžitá obnova: VM běží za pár sekund
Běžná obnova trvá tak dlouho jako kopírování disků. S volbou Okamžitě, běží ze zálohy agent zpřístupní disky ze zálohy jen pro čtení a spustí novou VM, jejíž zápisy jdou do lokálních overlayů. Když jste spokojeni, Dokončit přesune disky na zvolené úložiště, zatímco VM běží dál (qm disk move); Zahodit VM smaže VM i její změny. VM je tak rychlá jako úložiště záloh, proto je nejlepší repozitář na místním disku nebo rychlé síťové složce. Okamžitá obnova je pro VM, ne pro kontejnery.
Jednotlivé soubory
V tabulce hostů spuštění zálohy klikněte na Procházet soubory. Konzole čte disk přímo ze zálohy — nic se předem neobnovuje — a umožní procházet NTFS, ext2/3/4 a XFS, i uvnitř LVM. Stáhněte soubory (více jako ZIP) nebo je obnovte do složky na libovolném agentovi. Procházení v konzoli vyžaduje zálohu na síťovém úložišti (SFTP, S3, SMB, Azure nebo zabezpečený repozitář).
Repliky nejdůležitějších hostů
V části Pokročilé v úloze volba Udržovat repliky VM po každé záloze aktualizuje zastavenou kopii každého hosta na jiném uzlu nebo clusteru. Zapisují se jen změněné bloky — obvykle pár sekund na zálohu. Když o hosta přijdete, Spustit repliku ho spustí s daty poslední zálohy, bez obnovy.
Z příkazové řádky
Vše funguje i bez konzole, například při obnově uzlu po havárii:
backupzit-agent pve list
backupzit-agent pve show --repo ... latest
backupzit-agent pve restore --repo ... --vmid 100 --new-vmid -1 --storage local-lvm --start latest
Záloha samotného hostitele Proxmox
Hosté jsou jen polovina uzlu: definice úložišť, síť, uživatelé, firewall, certifikáty a nastavení každého VM a kontejneru jsou v jeho konfiguraci. Zálohujte ji běžnou úlohou Soubory a složky na agentovi uzlu, např. denně, s cestami /etc (obsahuje /etc/pve, síť a /etc/hosts) a /var/lib/pve-cluster (konfigurační databáze config.db). Pro zcela konzistentní kopii databáze za běhu uzlu přidejte toto jako Příkaz před zálohou a zálohujte i /root/pve-config.db:
# one-time: apt install sqlite3
sqlite3 /var/lib/pve-cluster/config.db ".backup /root/pve-config.db"
Obnova vadného uzlu: nainstalujte stejnou verzi Proxmox VE se stejným názvem hostitele a adresou, nainstalujte agenta, obnovte /etc/network/interfaces a /etc/hosts, zastavte službu clusteru (systemctl stop pve-cluster), obnovte config.db do /var/lib/pve-cluster, službu znovu spusťte a pak obnovte hosty. V clusteru znovu připojte přeinstalovaný uzel do clusteru místo obnovy config.db.
Omezení
- Podporovány jsou Proxmox VE 7, 8 a 9. XCP-ng podporováno není.
- Disky kontejnerů na podsvazcích ZFS zatím podporovány nejsou.
- Disky raw na úložišti typu adresář, NFS nebo CIFS a disky na tlustém LVM lze zálohovat jen při zastaveném hostovi.
- V clusteru úloha zálohuje hosty svého uzlu. Host přesunutý na jiný uzel se nahlásí jako varování — použijte Všechny VM (a kontejnery) na hostiteli na každém uzlu, aby přesunutí hosté zůstali chránění.
- Jednotky cloud-init se neukládají; při obnově se vytvoří znovu z konfigurace.
Další kroky
BackupZit je zdarma a open source (AGPLv3), bez omezení počtu VM nebo uzlů. Stáhněte si ho, prohlédněte si všechny funkce pro Proxmox nebo si přečtěte celou kapitolu o Proxmox VE v návodu v konzoli. Dotazy jsou vítány v GitHub Discussions. Firmy mohou získat komerční podporu od MaxZit (pouze v angličtině).