Proxmox Backup Server Wartung
Proxmox Backup Server: Prüfen und Aufräumen
Einführung
Ein Backup-Server sammelt Sicherungen, und ohne Pflege entstehen zwei Probleme:
- Die Platte läuft über die Wochen voll.
- Eine Sicherung kann auf der Platte unbemerkt kaputtgehen. Man merkt es erst, wenn man sie braucht.
Der Proxmox Backup Server (PBS) löst beides mit drei Aufgaben, die man als Jobs einrichtet:
| Aufgabe | Englisch | Was sie tut |
|---|---|---|
| Prüfen | Verify | liest alle gespeicherten Daten und vergleicht die Prüfsummen. Findet beschädigte Sicherungen. |
| Ausdünnen | Prune | löscht alte Sicherungen nach einer Regel, zum Beispiel „die letzten 3, dazu 8 wöchentliche und 6 monatliche“. |
| Aufräumen | Garbage Collection (GC) | gibt den Platz frei, den gelöschte Sicherungen belegt haben. |
Voraussetzungen
- Ein laufender Proxmox Backup Server mit einem Datastore, hier
storage - Mindestens eine Sicherung im Datastore
- Zugriff als
rootauf dem Backup-Server (Weboberfläche auf Port 8007 oder SSH)
Die richtige Reihenfolge
Die Jobs bauen aufeinander auf. Darum liegen sie in dieser Reihenfolge am selben Wochentag:
| Uhrzeit | Job | Warum zu dieser Zeit |
|---|---|---|
| nach dem Backup | Backup der VMs | läuft auf den Proxmox-Hosts, nicht auf dem Backup-Server |
| 06:00 | Prune | entfernt zuerst, was nicht mehr gebraucht wird |
| 07:00 | Garbage Collection | gibt danach den Platz frei |
| 08:00 | Verify | prüft zuletzt nur noch, was wirklich übrig ist |
Prune: alte Sicherungen ausdünnen
- Wichtig
- Prune löscht nur die Sicherung (den Eintrag), nicht sofort die Daten. Der Platz wird erst von der Garbage Collection frei.
- Weboberfläche
- Datastore →
storage→ Prune & GC → Add Prune Job - Schedule:
sun 06:00 - Keep Last:
3, Keep Weekly:8, Keep Monthly:6
- Kommandozeile
proxmox-backup-manager prune-job create wochenbereinigung \ --store storage --schedule "sun 06:00" \ --keep-last 3 --keep-weekly 8 --keep-monthly 6
- So liest man die Regel
| Wert | Bedeutung |
|---|---|
| keep-last 3 | die drei jüngsten Sicherungen bleiben immer |
| keep-weekly 8 | zusätzlich je eine pro Woche, die letzten acht Wochen |
| keep-monthly 6 | zusätzlich je eine pro Monat, die letzten sechs Monate |
- Eine Sicherung bleibt, wenn eine der Regeln sie behalten will.
- Kontrolle
proxmox-backup-manager prune-job list
Garbage Collection: Platz freigeben
- Weboberfläche
- Datastore →
storage→ Prune & GC → Edit bei Garbage Collection - Schedule:
sun 07:00
- Kommandozeile
proxmox-backup-manager datastore update storage --gc-schedule "sun 07:00"
- Einmal von Hand starten
proxmox-backup-manager garbage-collection start storage proxmox-backup-manager garbage-collection status storage
- Gut zu wissen
- Die Garbage Collection entfernt nur Daten, die kein Backup mehr braucht und die seit etwa 24 Stunden unbenutzt sind. Frisch gelöschte Sicherungen geben ihren Platz deshalb erst beim nächsten Lauf frei, nicht sofort.
- Gleiche Datenblöcke speichert PBS nur einmal (Deduplizierung). Darum wächst der Speicher bei vielen ähnlichen Sicherungen nur langsam.
Verify: Sicherungen prüfen
- Warum
- Ein Backup, das man nicht zurückspielen kann, ist wertlos. Verify liest jeden Datenblock und vergleicht ihn mit der Prüfsumme, die beim Schreiben gespeichert wurde.
- Das ist besonders wichtig, wenn der Datastore auf einer einzelnen Platte liegt, etwa mit ext4 und ohne Spiegel oder ZFS. Dann gibt es keine zweite Kopie, die einen Fehler bemerken würde.
- Weboberfläche
- Datastore →
storage→ Verify Jobs → Add - Schedule:
sun 08:00 - Skip verified: ja, Re-Verify After:
7Tage
- Kommandozeile
proxmox-backup-manager verify-job create wochenpruefung \ --store storage --schedule "sun 08:00" \ --ignore-verified true --outdated-after 7
- Einmal von Hand prüfen
proxmox-backup-manager verify storage
Am Ende steht TASK OK und pro Sicherung (0 errors).
- Was Verify nicht kann
- Es repariert nichts. Ein Fehler wird gemeldet, die Sicherung gilt als „failed“. Bei der nächsten Sicherung legt PBS die betroffenen Teile neu an, sofern die Quelle noch da ist.
- Es ersetzt keine zweite Kopie. Fällt die ganze Platte aus, ist alles weg.
Kontrolle: Läuft alles?
proxmox-backup-manager prune-job list proxmox-backup-manager verify-job list proxmox-backup-manager datastore show storage proxmox-backup-manager task list --limit 10
- In der Weboberfläche unter Administration → Tasks sieht man jeden Lauf mit Ergebnis.
Stolperfallen
- Prune löscht, aber der Platz bleibt belegt. Erst die Garbage Collection gibt ihn frei, und sie braucht etwa einen Tag Abstand.
- Die Reihenfolge ist wichtig. Läuft Verify vor Prune, prüft es Sicherungen, die kurz danach gelöscht werden.
- Zu wenig behalten. Wer nur „keep-last 1“ einstellt, hat nach einem Fehler in der letzten Sicherung keine gute mehr. Mehrere Generationen behalten.
- Die Uhrzeit. Schedule-Angaben sind in der Zeit des Servers. Stimmt die Uhr nicht, laufen die Jobs zur falschen Zeit.
Ausblick
- Eine einzelne Platte ist ein einzelner Ausfallpunkt. Für echte Sicherheit braucht es eine zweite Kopie an anderem Ort: einen Sync-Job zu einem zweiten Backup-Server oder ein Remote-Ziel.
Aufgaben
- Lege den Prune-Job an und starte ihn von Hand. Wie viele Sicherungen bleiben übrig? (Hinweis: Eine neue Installation hat meist nur wenige.)
- Starte die Garbage Collection und lies in
garbage-collection status, wie viel Platz belegt ist. - Lege den Verify-Job an und starte eine Prüfung. Was bedeutet
(0 errors)? - Ändere die Regel auf „keep-last 1“. Warum ist das keine gute Idee?
- Erkläre in eigenen Worten, warum Prune allein keinen Platz freigibt.