# LXC Snapshots & Backups: Datensicherung in der Container-Welt
TL;DR / Management Summary Ein LXC-Container ist zwar kein vollwertiges Betriebssystem, beherbergt aber oft kritische Daten. In Proxmox nutzen wir eine zweistufige Sicherungsstrategie: Snapshots für kurzfristige Rollbacks (z.B. vor Updates) und Backups (via PBS oder vzdump) für die langfristige Aufbewahrung. Ein Senior Admin nutzt ZFS-Snapshots für Millisekunden-Sicherung und delegiert die täglichen Backups an den Proxmox Backup Server (PBS), um von globaler Deduplikation zu profitieren.
# 1. LXC Snapshots: Die schnelle Rettung
Momentaufnahmen auf Block-Ebene.
Snapshots speichern den Zustand des Dateisystems und der Konfiguration.
- Vorteil: Fast instantan bei ZFS-Storage.
- Vorteil: Ideal für “Test-Upgrades” im laufenden Betrieb.
- Wichtig: Ein Snapshot ist physisch auf dem gleichen Storage wie der Container. Stirbt die Platte, ist der Snapshot weg.
# 2. Backup-Modi für Container
Wie wir die Kopie ziehen.
Proxmox bietet über das Tool vzdump drei Modi:
- Snapshot Mode (Empfohlen): Der Container läuft weiter. Proxmox nutzt LVM-Snapshots oder ZFS-Features für eine konsistente Kopie.
- Suspend Mode: Pausiert den Container kurz (minimale Downtime).
- Stop Mode: Fährt den Container herunter. Höchste Konsistenz, aber längste Downtime.
# 3. Deep Dive: Proxmox Backup Server (PBS) Integration
Effizienz durch intelligente Chunks.
Der PBS (Artikel 613) ist die ideale Ergänzung für LXC.
- Deduplikation: Identische Blöcke über 100 Container hinweg werden nur einmal gespeichert.
- Inkrementell: Nur geänderte Daten fließen über das Netzwerk.
- Restore: Ein LXC kann innerhalb von Sekunden unter einer neuen ID wiederhergestellt werden (Artikel 670).
# 4. Day-2 Operations: Automatisierte Backup-Pläne
Set and Forget.
Richten Sie Backup-Jobs auf Datacenter-Ebene ein:
Datacenter -> Backup -> Add.- Selection: Wählen Sie “Pool” (Artikel 667) oder “All”.
- Retention: Legen Sie fest, wie viele Versionen behalten werden (z.B. 7 tägliche, 4 wöchentliche).
# 5. Troubleshooting & “War Stories”
Wenn die Rücksicherung hakt.
# Top 3 Fehlerbilder
-
Symptom: Snapshot schlägt fehl mit “Container is locked”.
- Ursache: Ein anderer Prozess (z.B. Backup) greift gerade exklusiv auf den Container zu.
- Lösung:
pct unlock <id>in der Shell.
-
Symptom: Restore einer Backup-Datei ist extrem langsam.
- Ursache: Das Ziel-Dateisystem (z.B. NFS) ist durch viele kleine Dateizugriffe überlastet.
- Fix: Nutzen Sie ZFS oder LVM-Thin als Ziel-Storage für den Restore.
-
Symptom: Datenbank im Container ist nach Restore korrupt.
- Ursache: Snapshot wurde ohne Quiescing durchgeführt.
- Lösung: Nutzen Sie den Stop-Modus für schreibintensive Datenbanken oder flashen Sie die DB vor dem Backup manuell (
FLUSH TABLES WITH READ LOCK).
# “War Story”: Der “Snap-and-Forget” GAU
Ein Admin machte vor jedem Software-Update einen Snapshot seiner 50 Container. Nach 6 Monaten bemerkte er, dass der ZFS-Speicher voll war, obwohl der du Befehl im Container nur 10% Belegung anzeigte.
Die Entdeckung: Er hatte vergessen, die Snapshots zu löschen. Da die Container Logging-Dienste waren, sammelten sich hunderte Gigabyte an Delta-Daten in den Snapshots an.
Lehre: Snapshots sind keine Dauerlösung. Implementieren Sie ein Script, das Snapshots löscht, die älter als 48 Stunden sind.
# 6. Monitoring & Reporting
Status im Blick.
# Backup Summary
Prüfen Sie täglich das Dashboard:
- Failed Jobs: Jeder rote Balken ist ein kritischer Alert.
- Verify Status: Wurden die Backups auf dem PBS erfolgreich auf Integrität geprüft? (Artikel 647).
# 7. Fazit & Empfehlung
LXC Backups sind dank PBS hocheffizient und schnell.
- Empfehlung: Nutzen Sie den PBS für tägliche Sicherungen und Snapshots nur für kurzfristige Rollbacks.
- Wichtig: Trennen Sie das Backup-Netzwerk physisch (VLAN), um die Produktionsbandbreite während der Sicherung nicht zu beeinträchtigen.
# Anhang: Cheatsheet (vzdump CLI)
| Aufgabe | Befehl |
|---|---|
| CT sichern | vzdump <id> --storage <target> --mode snapshot |
| Backup listen | pvesm list <storage> |
| Restore (CLI) | pct restore <newid> <file> |
| Snapshot erzeugen | pct snapshot <id> <name> |