← Zurueck zu Proxmox Grundlagen
💾

Backup & Snapshots

Datensicherung fuer VMs und Container - von Snapshots bis zur 3-2-1 Strategie.

⏱️ 30-45 Minuten 📊 Mittel
📸 Snapshots
📦 Full Backups
Automatisierung
🔄 Restore
🤔 Snapshots vs. Backups +

Beide schuetzen vor Datenverlust, aber auf unterschiedliche Weise.

📸 Snapshots

  • ✓ Sofort erstellt (Sekunden)
  • ✓ Schnelles Rollback
  • ✓ Auf gleichem Storage
  • ✓ Ideal vor Updates/Tests
  • ✗ Kein Schutz bei Storage-Ausfall
  • ✗ Abhaengig von Original-Disk

📦 Backups

  • ✓ Vollstaendige Kopie
  • ✓ Unabhaengig vom Original
  • ✓ Auf anderem Storage moeglich
  • ✓ Disaster Recovery
  • ✗ Dauert laenger (Minuten-Stunden)
  • ✗ Braucht Speicherplatz
💡

Empfehlung

Beide kombinieren: Snapshots fuer schnelle Rollbacks im Alltag, Backups fuer echte Datensicherung auf separatem Storage.

📸 Snapshots erstellen +

Snapshots speichern den aktuellen Zustand einer VM oder eines Containers.

Web-UI

  1. VM/CT auswaehlen → Snapshots
  2. "Take Snapshot" klicken
  3. Name und Beschreibung eingeben
  4. Optional: RAM-Zustand mit speichern (nur VMs)
VM-Snapshots (qm)
bash

# Snapshot erstellen
qm snapshot 100 pre-update --description "Vor System-Update"

# Mit RAM-Zustand (VM muss laufen, ermoeglicht Rollback ohne Reboot)
qm snapshot 100 pre-update --vmstate --description "Mit RAM-Zustand"

# Alle Snapshots auflisten
qm listsnapshot 100

# Snapshot-Details
qm config 100 --snapshot pre-update

# Zu Snapshot zurueckkehren
qm rollback 100 pre-update

# Snapshot loeschen
qm delsnapshot 100 pre-update

# Alle Snapshots loeschen
for snap in $(qm listsnapshot 100 | awk '{print $2}' | grep -v current); do
  qm delsnapshot 100 $snap
done
Container-Snapshots (pct)
bash

# Snapshot erstellen
pct snapshot 200 pre-update --description "Vor apt upgrade"

# Snapshots auflisten
pct listsnapshot 200

# Rollback
pct rollback 200 pre-update

# Snapshot loeschen
pct delsnapshot 200 pre-update
⚠️

Snapshot-Limitierungen

  • Snapshots belegen Speicher (alle Aenderungen seit Erstellung)
  • Zu viele Snapshots verlangsamen I/O
  • Alte Snapshots regelmaessig loeschen
  • Nicht als Backup-Ersatz verwenden!
📦 Backups erstellen +

Vollstaendige Sicherung von VMs und Containern als komprimierte Dateien.

Backup-Modi

Modus Beschreibung Downtime
snapshot Live-Backup, kein Stop noetig Keine
suspend VM/CT wird kurz pausiert Sekunden
stop VM/CT wird gestoppt, dann gestartet Minuten
Manuelles Backup
bash

# VM-Backup (Snapshot-Modus, komprimiert mit zstd)
vzdump 100 --storage local --mode snapshot --compress zstd

# Container-Backup
vzdump 200 --storage local --mode snapshot --compress zstd

# Mehrere VMs/CTs gleichzeitig
vzdump 100 101 200 201 --storage local --mode snapshot --compress zstd

# Alle VMs und Container
vzdump --all --storage local --mode snapshot --compress zstd

# Mit E-Mail-Benachrichtigung
vzdump 100 --storage local --mode snapshot --compress zstd \
  --mailto admin@example.com --mailnotification always

# Backup mit bestimmtem Dateinamen
vzdump 100 --storage local --mode snapshot --compress zstd \
  --dumpdir /var/lib/vz/dump --tmpdir /tmp
Komprimierungs-Optionen
bash

# Verfuegbare Komprimierung:
# --compress 0      → Keine Komprimierung (schnell, gross)
# --compress gzip   → Gzip (langsam, mittel)
# --compress lzo    → LZO (schnell, gross)
# --compress zstd   → Zstandard (schnell, klein) ← Empfohlen!

# Beispiel mit Zstd (beste Balance)
vzdump 100 --compress zstd --storage local --mode snapshot

Empfohlene Einstellungen

  • Modus: snapshot (kein Downtime)
  • Komprimierung: zstd (schnell & effizient)
  • Storage: Separater Storage (NFS, PBS, etc.)
Automatische Backups +

Backup-Jobs fuer regelmaessige automatische Sicherungen einrichten.

Web-UI

  1. Datacenter → Backup → Add
  2. Storage, Zeitplan, VMs/CTs auswaehlen
  3. Modus und Komprimierung einstellen
  4. Retention (Aufbewahrung) konfigurieren
Backup-Job Konfiguration
bash

# Backup-Jobs werden in /etc/pve/jobs.cfg gespeichert

# Beispiel: Taegliches Backup aller VMs um 02:00
# /etc/pve/jobs.cfg
vzdump: backup-daily
    enabled 1
    schedule *-*-* 02:00:00
    storage backup-storage
    mode snapshot
    compress zstd
    mailnotification failure
    mailto admin@example.com
    all 1
    prune-backups keep-daily=7,keep-weekly=4,keep-monthly=3

# Beispiel: Woechentliches Backup bestimmter VMs
vzdump: backup-weekly-critical
    enabled 1
    schedule Sun *-*-* 03:00:00
    storage backup-nfs
    mode snapshot
    compress zstd
    vmid 100,101,200
    prune-backups keep-weekly=8,keep-monthly=6
Retention (Aufbewahrung)
bash

# Alte Backups automatisch loeschen

# In der Backup-Job Konfiguration:
prune-backups keep-daily=7,keep-weekly=4,keep-monthly=3,keep-yearly=1

# Bedeutung:
# keep-daily=7    → Die letzten 7 taeglichen Backups behalten
# keep-weekly=4   → 4 woechentliche Backups behalten
# keep-monthly=3  → 3 monatliche Backups behalten
# keep-yearly=1   → 1 jaehrliches Backup behalten

# Manuell alte Backups loeschen
# /var/lib/vz/dump/
ls -la /var/lib/vz/dump/
rm /var/lib/vz/dump/vzdump-qemu-100-2024_01_*.vma.zst
💡

Zeitplanung (Schedule)

Proxmox verwendet Systemd-Timer-Syntax:

  • *-*-* 02:00:00 → Taeglich um 02:00
  • Sun *-*-* 03:00:00 → Sonntags um 03:00
  • Mon,Wed,Fri *-*-* 04:00 → Mo, Mi, Fr um 04:00
  • *-*-01 05:00:00 → Am 1. jeden Monats
🔄 Backups wiederherstellen +

VMs und Container aus Backups wiederherstellen.

Web-UI

  1. Storage → Backups auswaehlen
  2. Backup-Datei auswaehlen → Restore
  3. Ziel-VM-ID und Storage waehlen
  4. Optional: Andere Konfiguration (RAM, CPU, etc.)
VM wiederherstellen
bash

# Backup-Dateien auflisten
ls -la /var/lib/vz/dump/vzdump-qemu-*.vma*

# VM wiederherstellen (gleiche ID)
qmrestore /var/lib/vz/dump/vzdump-qemu-100-2024_01_15-02_00_00.vma.zst 100

# VM mit neuer ID wiederherstellen
qmrestore /var/lib/vz/dump/vzdump-qemu-100-2024_01_15-02_00_00.vma.zst 150

# Auf anderem Storage wiederherstellen
qmrestore /var/lib/vz/dump/vzdump-qemu-100-2024_01_15-02_00_00.vma.zst 150 \
  --storage local-lvm

# Mit Bandbreiten-Limit (MB/s)
qmrestore /var/lib/vz/dump/vzdump-qemu-100-2024_01_15-02_00_00.vma.zst 100 \
  --bwlimit 50
Container wiederherstellen
bash

# Backup-Dateien auflisten
ls -la /var/lib/vz/dump/vzdump-lxc-*.tar*

# Container wiederherstellen (gleiche ID)
pct restore 200 /var/lib/vz/dump/vzdump-lxc-200-2024_01_15-02_00_00.tar.zst

# Mit neuer ID
pct restore 250 /var/lib/vz/dump/vzdump-lxc-200-2024_01_15-02_00_00.tar.zst

# Auf anderem Storage
pct restore 250 /var/lib/vz/dump/vzdump-lxc-200-2024_01_15-02_00_00.tar.zst \
  --storage local-lvm

# Unprivileged-Modus erzwingen
pct restore 250 /var/lib/vz/dump/vzdump-lxc-200-2024_01_15-02_00_00.tar.zst \
  --unprivileged 1
Backup-Info anzeigen
bash

# Backup-Inhalt pruefen (ohne Restore)
vzdump --info /var/lib/vz/dump/vzdump-qemu-100-2024_01_15-02_00_00.vma.zst

# Gibt aus:
# - VM/CT ID und Name
# - Erstellungsdatum
# - Entpackte Groesse
# - Disk-Informationen
⚠️

Vor dem Restore

  • Existierende VM/CT mit gleicher ID wird ueberschrieben!
  • Bei laufender VM: Erst stoppen oder neue ID verwenden
  • Nach Restore: Netzwerk-Konfiguration pruefen (IP-Konflikte)
🏢 Proxmox Backup Server +

Fuer professionelle Backup-Loesungen: Proxmox Backup Server (PBS).

PBS-Vorteile

  • ✓ Deduplizierung (spart 50-90% Platz)
  • ✓ Inkrementelle Backups
  • ✓ Verschluesselung
  • ✓ Integritaetspruefung
  • ✓ Sync zu Remote-PBS
  • ✓ Web-Interface

Alternativen

  • NFS-Share (einfach, aber keine Dedupe)
  • CIFS/SMB-Share
  • Lokaler Storage + rsync
  • Borg Backup (CLI-basiert)
PBS als Storage hinzufuegen
bash

# In Proxmox VE:
# Datacenter → Storage → Add → Proxmox Backup Server

# Oder per CLI:
pvesm add pbs pbs-storage \
  --server 192.168.1.200 \
  --username backup@pbs \
  --datastore main \
  --fingerprint XX:XX:XX...

# Passwort eingeben wenn aufgefordert
💡

PBS empfohlen fuer

  • Mehrere Proxmox-Nodes
  • Grosse VMs mit wenig Aenderungen
  • Offsite-Backup noetig
  • Langzeit-Archivierung
🛡️ 3-2-1 Backup-Strategie +

Die bewaehrte Backup-Strategie fuer maximale Datensicherheit.

Die 3-2-1 Regel

3

Kopien deiner Daten

2

Verschiedene Medien

1

Offsite-Kopie

Beispiel-Setup

  1. Original: VMs auf lokalem SSD-Storage (local-lvm)
  2. Backup 1: Taeglich auf NAS im LAN (NFS-Share)
  3. Backup 2: Woechentlich auf externem PBS oder Cloud
Offsite-Sync mit rsync
bash

# Backups zu Remote-Server synchronisieren
rsync -avz --progress \
  /var/lib/vz/dump/ \
  backup@remote-server:/backup/proxmox/

# Mit SSH-Key und Bandbreiten-Limit
rsync -avz --progress --bwlimit=10000 \
  -e "ssh -i /root/.ssh/backup_key" \
  /var/lib/vz/dump/ \
  backup@remote-server:/backup/proxmox/

# Als Cronjob (taeglich um 04:00)
# crontab -e
0 4 * * * rsync -avz /var/lib/vz/dump/ backup@remote:/backup/proxmox/ 2>&1 | logger -t backup-sync
🚨

Backups testen!

Ein Backup ist nur so gut wie der letzte erfolgreiche Restore-Test!

  • Regelmaessig Restore auf Test-VM durchfuehren
  • Backup-Integritaet pruefen
  • Dokumentieren: Wer hat Zugang zu Backups?
  • Disaster-Recovery-Plan erstellen und testen
🔧 Troubleshooting +
Haeufige Probleme
bash

# Backup schlaegt fehl - Logs pruefen
cat /var/log/vzdump/*.log
journalctl -u vzdump

# Storage voll
df -h /var/lib/vz/dump
pvesm status

# Alte Backups loeschen
ls -la /var/lib/vz/dump/
rm /var/lib/vz/dump/vzdump-*-2023_*.vma.zst

# Backup haengt
# Prozess finden
ps aux | grep vzdump
# Abbrechen
kill -9 [PID]

# Korrupte Backup-Datei pruefen
vzdump --info /path/to/backup.vma.zst
# Oder mit zstd:
zstd -t /path/to/backup.vma.zst

# Snapshot entfernen nach fehlgeschlagenem Backup
qm unlock 100
qm delsnapshot 100 vzdump
Performance-Optimierung
bash

# Parallel-Backups (max. gleichzeitig)
# In Backup-Job: maxfiles angeben

# Bandbreite begrenzen (schont Netzwerk)
vzdump 100 --bwlimit 50  # 50 MB/s

# Backup-Zeiten anpassen
# Nicht waehrend Spitzenlast
# Nachts zwischen 02:00-06:00 ideal

# Komprimierung anpassen
# zstd ist Standard und gut
# Bei CPU-Mangel: --compress lzo (schneller)
# Bei Speichermangel: --compress zstd (kleiner)
⚠️

Lock-Probleme

Wenn eine VM/CT als "locked" erscheint nach fehlgeschlagenem Backup:

qm unlock 100 # Fuer VMs
pct unlock 200 # Fuer Container

Backup-Strategie entwickeln?

Wir helfen bei der Planung und Umsetzung deiner Backup-Infrastruktur.

Beratung anfragen →