Jak vyřešit problém se zálohováním neprivilegovaných LXC kontejnerů na Proxmoxu
Jak vyřešit problém se zálohováním neprivilegovaných LXC kontejnerů na Proxmoxu
Při zálohování neprivilegovaného LXC kontejneru na NFS nebo CIFS se může objevit například:
INFO: tar: /mnt/pve/NAS02/dump/vzdump-lxc-104-2025_03_16-01_00_05.tmp: Cannot open: Permission denied
vzdump běží na Proxmox hostiteli. Při záloze LXC ale používá mapované UID/GID neprivilegovaného kontejneru. Síťové úložiště nemusí tyto vlastníky, ACL nebo rozšířené atributy správně podporovat, a vytvoření dočasné pracovní oblasti proto selže.
📌 Řešením je použít lokální pracovní adresář na Proxmox hostiteli a výsledný archiv dále ukládat na síťové úložiště.
1. Ověření příčiny a volného místa
Na Proxmox hostiteli zkontrolujeme konfiguraci a volné místo v lokálním dočasném adresáři:
grep -E '^[[:space:]]*tmpdir:' /etc/vzdump.conf
df -h /var/tmp
stat -c '%a %U:%G %n' /var/tmp
Standardní /var/tmp má obvykle oprávnění 1777 root:root. Lokální disk musí mít dostatek volného místa. U LXC může dočasná pracovní kopie, zejména v režimu suspend, potřebovat prostor blížící se velikosti použitých dat kontejneru.
2. Nejdřív jednorázový test
Než změníme globální konfiguraci, otestujeme jeden kontejner. Nahradíme 104 a NAS02 skutečným CT ID a ID úložiště:
vzdump 104 --storage NAS02 --mode snapshot --compress zstd --tmpdir /var/tmp
Pokud záloha proběhne, příčinou byla dočasná oblast na síťovém úložišti.
3. Trvalé nastavení
Otevřeme globální konfiguraci na každém Proxmox uzlu, kde se záloha může spustit:
nano /etc/vzdump.conf
Přidáme nebo upravíme jediný aktivní řádek:
tmpdir: /var/tmp
Změna se použije při dalším spuštění vzdump; restart hostitele není potřeba. Nastavení ověříme:
grep -E '^[[:space:]]*tmpdir:' /etc/vzdump.conf
⚠️ tmpdir musí být na rychlém lokálním souborovém systému s dostatečnou kapacitou. Nepoužívejte RAM disk ani malý kořenový oddíl, který by záloha mohla zaplnit. Pokud /var/tmp kapacitně nestačí, vytvořte samostatný lokální filesystem a nastavte tmpdir na jeho adresář.
4. Ověření výsledku
Po změně spustíme běžný naplánovaný job a zkontrolujeme jeho log. Záloha je použitelná až po ověření obnovy, proto alespoň u testovacího kontejneru provedeme restore pod novým CT ID a ověříme start a data aplikace.
Pokud chyba zůstává i s lokálním tmpdir, zkontrolujeme v konfiguraci kontejneru bind mounty a device mounty. Jejich obsah se standardně nezálohuje a pro spravované mount pointy musí být nastaveno backup=1:
pct config 104
Shrnutí
✅ Dočasnou oblast měníme na Proxmox hostiteli, ne uvnitř kontejneru.
✅ Nejdřív změnu ověříme pro jeden job pomocí --tmpdir.
✅ Před globálním nastavením zkontrolujeme kapacitu lokálního disku.
✅ Po opravě ověříme nejen dokončení zálohy, ale také testovací obnovu.
Další informace: Proxmox VE Administration Guide