Proxmox Backup Server: Prune & Garbage Collection einrichten | INTROSERV
EUR
european

EUR

usa

USD

German De
Ex. VAT Ex. VAT 0%

Proxmox Backup Server: Garbage Collection und Prune

Einleitung

In dieser Anleitung erfahren Sie, wie Sie die Wartung von Proxmox Backup Server für die Langzeitspeicherung von Backups mit Prune-Jobs und Garbage Collection konfigurieren. Sie richten die Proxmox-Prune-Konfiguration ein, planen die Proxmox Garbage Collection und schätzen den Speicherbedarf ab, damit Ihr Datastore nicht unbegrenzt wächst und den gesamten verfügbaren Speicherplatz belegt.

Am Ende dieser Anleitung verfügen Sie über eine geplante Prune-Richtlinie und einen Garbage-Collection-Zeitplan für einen Proxmox-Backup-Server-Datastore, inklusive praktischer Aufbewahrungsbeispiele für tägliche, wöchentliche und monatliche Backups.

Voraussetzungen

Stellen Sie vor Beginn sicher, dass Folgendes vorhanden ist:

  • Proxmox Backup Server 4.2.x oder neuer
  • Ein konfigurierter PBS-Datastore mit vorhandenen oder geplanten Backups
  • Administratorzugriff auf die Weboberfläche von Proxmox Backup Server
  • Shell-Zugriff als root oder als ein anderer Benutzer mit ausreichenden PBS-Administrationsrechten
  • Grundkenntnisse zu Backup-Jobs in Proxmox VE und zu PBS-Namespaces
  • Etwa 30 Minuten für die Konfiguration

Diese Anleitung richtet sich an Systemadministratoren mit mittleren Vorkenntnissen.

Schritt 1: Zusammenspiel von Prune und Garbage Collection verstehen

In Proxmox Backup Server sind Pruning (Bereinigung) und Garbage Collection getrennte Wartungsvorgänge. Für eine effektive Verwaltung von Proxmox-Datastores ist es wichtig zu verstehen, wie beide zusammenarbeiten.

Ein Prune-Job legt fest, welche Backup-Snapshots behalten und welche aus dem sichtbaren Backup-Verlauf entfernt werden. Beim Prunen eines Snapshots entfernt PBS dessen Metadaten, Indizes, Logs und Notizen. Nicht verwendete Backup-Chunks werden dabei nicht sofort entfernt. Die Chunks, auf die gelöschte Snapshots verwiesen haben, werden erst später von der Garbage Collection entfernt.

Die Garbage Collection (GC) gibt Speicherplatz im Datastore frei, indem sie nicht mehr verwendete Chunks aus dem Chunk-Speicher löscht. PBS arbeitet mit deduplizierten Chunks, sodass ein Chunk von mehreren Backup-Snapshots referenziert werden kann. Daher kann PBS Chunks nicht genau in dem Moment sicher löschen, in dem ein Snapshot geprunt wird. Zuvor muss geprüft werden, dass kein verbleibender Snapshot und kein laufendes Backup mehr auf sie verweist.

Info

Prune entfernt alte Backup-Snapshot-Einträge. Die GC gibt den tatsächlichen Speicherplatz frei.

PBS verwendet außerdem eine Karenzzeit (Grace Period) für das Entfernen von Chunks. Während der GC werden Chunks markiert und anschließend bereinigt (Mark-and-Sweep). Chunks innerhalb der Karenzzeit werden jedoch als ausstehende Entfernungen (pending removals) gemeldet und nicht sofort gelöscht. Dies schützt laufende Backups und berücksichtigt das Verhalten der Dateisystem-Zugriffszeiten, insbesondere beim üblichen relatime-Mount-Verhalten.

Schritt 2: Aktuelle Datastore-Konfiguration prüfen

Dies ist sowohl über die CLI als auch über die Weboberfläche möglich.

Verfügbare Datastores auflisten:

proxmox-backup-manager datastore list

Erwartete Ausgabe: Tabelle mit der Datastore-Liste.

Wählen Sie den Datastore, in dem Ihre Proxmox-VE-Backups gespeichert sind. Ersetzen Sie in den folgenden Beispielen <DATASTORE_NAME> durch den Namen Ihres Datastores.

Aktuellen Garbage-Collection-Status prüfen:

proxmox-backup-manager garbage-collection status <DATASTORE_NAME>

Es wird der aktuelle GC-Status des Datastores angezeigt. Wurde die GC noch nie ausgeführt, zeigt die Ausgabe möglicherweise keinen früheren erfolgreichen Lauf an.

Vorhandene Prune-Jobs auflisten:

proxmox-backup-manager prune-job list

Es werden die vorhandenen Prune-Jobs angezeigt, oder eine leere Liste, wenn noch kein Prune-Job konfiguriert wurde.

Zur Prüfung über die Weboberfläche öffnen Sie Datastore - <DATASTORE_NAME> - Prune & GC Jobs:

Schritt 3: Langfristige Aufbewahrungsrichtlinie für Backups planen

Eine Aufbewahrungsrichtlinie sollte zu den Wiederherstellungsanforderungen und zur Speicherkapazität passen. Für viele Proxmox-Backup-Aufbewahrungskonzepte eignet sich als Langzeitrichtlinie das Großvater-Vater-Sohn-Prinzip (Grandfather-Father-Son):

Aufbewahrungsoption Beispielwert Ergebnis
keep-daily 14 Ein Backup pro Tag für 14 Backup-Tage behalten
keep-weekly 8 Ein Backup pro Woche für 8 Backup-Wochen behalten
keep-monthly 12 Ein Backup pro Monat für 12 Backup-Monate behalten
keep-yearly 2 Ein Backup pro Jahr für 2 Backup-Jahre behalten

Die Aufbewahrungsoptionen von PBS werden anhand von Zeitintervallen (Time Buckets) verarbeitet. keep-daily behält beispielsweise das jeweils neueste Backup jedes aufbewahrten Tages, wobei Tage ohne Backups nicht mitgezählt werden. keep-weekly behält das jeweils neueste Backup jeder aufbewahrten ISO-Woche, wobei Wochen ohne Backups nicht mitgezählt werden.

Warning

Berechnen Sie die Aufbewahrung nicht als einfache Addition, ohne Überschneidungen zu berücksichtigen. Ein Backup kann die täglichen, wöchentlichen, monatlichen und jährlichen Regeln gleichzeitig erfüllen, sodass die genaue Anzahl der behaltenen Snapshots von den Zeitstempeln der Backups abhängt.

Beginnen Sie bei einem täglichen Backup-Zeitplan mit einer der folgenden Richtlinien:

Richtlinie Aufbewahrungseinstellungen Anwendungsfall
Konservativ keep-daily 7
keep-weekly 4
keep-monthly 6
Kleiner Datastore oder kurzer Wiederherstellungsverlauf
Ausgewogen keep-daily 14
keep-weekly 8
keep-monthly 12
Typische VM- und Container-Backups
Langzeit keep-daily 30
keep-weekly 12
keep-monthly 24
keep-yearly 3
Größerer Datastore oder compliance-bedingter Aufbewahrungsverlauf

Tip

Konfigurieren Sie die Aufbewahrung, bevor der Datastore fast voll ist. Die Bereinigung eines Proxmox-Datastores ist sicherer, wenn PBS noch genügend freien Speicherplatz für neue Backups und Wartungsaufgaben hat.

Schritt 4: Speicherbedarf vor dem Anwenden der Aufbewahrung abschätzen

Die Speicherplanung für die Langzeitspeicherung von Backups ist nicht dasselbe wie die Multiplikation der vollständigen VM-Größe mit der Anzahl der Snapshots. Proxmox Backup Server verwendet Deduplizierung, sodass jedes neue Backup in der Regel nur geänderte Chunks und Metadaten speichert. Dennoch sollten Sie eine konservative Schätzung vornehmen.

Verwenden Sie diese Formel:

Geschätzter Speicherbedarf = ursprünglich gesicherte Daten + täglich geänderte Daten * Äquivalent der aufbewahrten Tage + Sicherheitsreserve

Beispiel 1: Ausgewogene Aufbewahrung für eine VM-Gruppe:

Wert Beispiel
Gesicherte VM-Daten 2 TB
Durchschnittlich täglich geänderte Daten 80 GB
Aufbewahrungsrichtlinie 14 täglich · 8 wöchentlich · 12 monatlich
Sicherheitsreserve 25 Prozent

Ungefähre Anzahl der aufbewahrten Änderungspunkte:

14 daily + 8 weekly + 12 monthly = 34 restore points

Ungefähre Menge geänderter Daten:

80 GB * 34 = 2720 GB

Ungefähre Gesamtmenge vor der Reserve:

2000 GB + 2720 GB = 4720 GB

Addieren Sie eine Sicherheitsreserve von 25 Prozent:

4720 GB * 1.25 = 5900 GB

Für diese Arbeitslast sollten Sie etwa 6 TB nutzbare Datastore-Kapazität einplanen.

Beispiel 2: Richtlinie für einen kleineren Datastore:

Wert Beispiel
Gesicherte VM-Daten 1 TB
Durchschnittlich täglich geänderte Daten 30 GB
Aufbewahrungsrichtlinie 7 täglich · 4 wöchentlich · 6 monatlich
Sicherheitsreserve 25 Prozent

Ungefähre Anzahl der Wiederherstellungspunkte:

7 + 4 + 6 = 17 restore points

Ungefährer Speicherbedarf:

1000 GB + (30 GB * 17) = 1510 GB 1510 GB * 1.25 = 1887.5 GB

Für diese Arbeitslast sollten Sie etwa 2 TB nutzbare Datastore-Kapazität einplanen.

Info

Diese Beispiele sind bewusst konservativ gewählt. Die tatsächliche PBS-Auslastung kann niedriger ausfallen, da die Deduplizierung Chunks über mehrere Snapshots und ähnliche Systeme hinweg wiederverwenden kann.

Schritt 5: Prune-Job in der Weboberfläche erstellen

  1. Öffnen Sie die Weboberfläche von Proxmox Backup Server.
  2. Wählen Sie Datastore.
  3. Wählen Sie <DATASTORE_NAME>.
  4. Öffnen Sie den Tab Prune & GC.
  5. Klicken Sie auf Add Prune Job.
  6. Setzen Sie Datastore auf <DATASTORE_NAME>.
  7. Legen Sie den Namespace fest, wenn nur ein Namespace gepruned werden soll.
  8. Konfigurieren Sie die Aufbewahrungswerte, zum Beispiel keep-daily mit 14, keep-weekly mit 8 und keep-monthly mit 12.
  9. Legen Sie den Zeitplan fest, zum Beispiel 03:00.
  10. Speichern Sie den Prune-Job.

Erwartetes Ergebnis: PBS erstellt einen geplanten Prune-Job für den Datastore oder Namespace. Dieser Job entfernt regelmäßig Backup-Snapshots, die von Ihrer Aufbewahrungsrichtlinie nicht mehr erfasst werden.

Schritt 6: Prune-Job über die Kommandozeile erstellen

Denselben Prune-Job können Sie auch über die PBS-Shell erstellen.

Für einen Prune-Job für den gesamten Datastore:

proxmox-backup-manager prune-job create pve-longterm \ --store <DATASTORE_NAME> \ --schedule "03:00" \ --keep-daily 14 \ --keep-weekly 8 \ --keep-monthly 12 \ --comment "Long-term Proxmox backup retention"

Erwartetes Ergebnis: PBS erstellt einen Prune-Job mit dem Namen pve-longterm.

Für einen Prune-Job, der auf einen Namespace beschränkt ist:

proxmox-backup-manager prune-job create pve-namespace-longterm \ --store <DATASTORE_NAME> \ --ns <NAMESPACE> \ --schedule "03:00" \ --keep-daily 14 \ --keep-weekly 8 \ --keep-monthly 12 \ --comment "Long-term retention for namespace"

Erwartetes Ergebnis: PBS prunt nur den ausgewählten Namespace. Das ist nützlich, wenn verschiedene Cluster, Mandanten oder Umgebungen unterschiedliche Aufbewahrungsrichtlinien benötigen.

Prune-Job auflisten:

proxmox-backup-manager prune-job list

Erwartete Ausgabe: Tabelle mit der Liste der Proxmox-Backup-Bereinigungsjobs.

Schritt 7: Garbage-Collection-Zeitplan konfigurieren

Nachdem das Pruning die Metadaten alter Snapshots entfernt hat, muss die GC laufen, um den Speicherplatz nicht verwendeter Chunks freizugeben. Ein wöchentlicher GC-Zeitplan ist für die meisten Konfigurationen ein guter Ausgangspunkt.

Wöchentlichen GC-Zeitplan festlegen:

proxmox-backup-manager datastore update <DATASTORE_NAME> \ --gc-schedule "Sun 04:00"

In der Weboberfläche konfigurieren Sie ihn unter Datastore - <DATASTORE_NAME> - Prune & GC Jobs → Garbage Collection Jobs → Edit:

Erwartetes Ergebnis: PBS plant die Garbage Collection für den Datastore jeden Sonntag um 04:00 Uhr.

GC-Status prüfen:

proxmox-backup-manager garbage-collection status <DATASTORE_NAME>

Die erwartete Ausgabe enthält den Datastore-Namen sowie Informationen zum letzten oder nächsten GC-Lauf.

Sie können die GC auch manuell starten:

proxmox-backup-manager garbage-collection start <DATASTORE_NAME>

Erwartetes Ergebnis: PBS startet einen GC-Task für den Datastore.

Warning

Erwarten Sie nicht, dass die GC unmittelbar nach dem Pruning jeden nicht verwendeten Chunk löscht. PBS meldet einige Chunks möglicherweise als ausstehende Entfernungen (pending removals), bis die Karenzzeit abgelaufen ist.

Schritt 8: Sicheren Prune- und GC-Zeitplan wählen

Ein praxistauglicher Zeitplan sieht so aus:

Aufgabe Beispiel-Zeitplan Begründung
Proxmox-VE-Backup-Job

Täglich um 01:00 Uhr

Erstellt zuerst neue Backups
PBS-Prune-Job

Täglich um 03:00 Uhr

Entfernt Snapshots außerhalb der Aufbewahrung
PBS-GC-Job

Wöchentlich sonntags um 04:00 Uhr

Gibt nach dem Pruning nicht verwendete Chunks frei

Diese Reihenfolge stellt sicher, dass neue Backups verfügbar sind, bevor alte Snapshots entfernt werden. Außerdem bleibt PBS genügend Zeit, Backup-Schreibvorgänge abzuschließen, bevor die Prune- und GC-Tasks starten.

Vermeiden Sie in stark ausgelasteten Umgebungen, Backup-, Verifizierungs-, Prune-, Sync- und GC-Tasks gleichzeitig auszuführen. Staffeln Sie die Wartungsjobs zeitlich, um Konkurrenz um I/O-Ressourcen zu verringern.

Tip

Wenn Ihr Datastore täglich viele Backups erhält, beginnen Sie mit einer wöchentlichen GC. Füllt sich der Datastore nach dem Pruning schnell wieder, können Sie die GC häufiger ausführen, sollten aber die I/O-Auswirkungen überwachen.

Schritt 9: Konfiguration überprüfen

Prune-Jobs auflisten:

proxmox-backup-manager prune-job list

Vergewissern Sie sich, dass der Job den erwarteten Datastore, Namespace, Zeitplan und die erwarteten keep-Werte enthält.

Einen Prune-Job anzeigen:

proxmox-backup-manager prune-job show pve-longterm

Erwartetes Ergebnis: PBS zeigt die konfigurierten Aufbewahrungsoptionen an.

GC-Konfiguration prüfen:

proxmox-backup-manager garbage-collection list

Erwartetes Ergebnis: PBS listet den Garbage-Collection-Status aller Datastores auf, einschließlich Datastores ohne GC-Jobs.

Datastore-Auslastung in der Weboberfläche prüfen:

  • Öffnen Sie Datastore.
  • Wählen Sie <DATASTORE_NAME>.
  • Prüfen Sie die Datastore-Auslastung und den Task-Verlauf.
  • Öffnen Sie Tasks und vergewissern Sie sich, dass die Prune- und GC-Jobs erfolgreich abgeschlossen werden.

Erwartetes Ergebnis: Der Datastore zeigt geplante Wartungsaktivitäten, und alte Snapshots werden gemäß der konfigurierten Proxmox-Prune-Konfiguration entfernt.

Schritt 10: Speicherwachstum im Zeitverlauf überwachen

Überwachen Sie nach dem Konfigurieren der Prune-Jobs in PBS die Speicherauslastung mindestens über einen vollständigen Aufbewahrungszyklus. Wenn Sie beispielsweise keep-monthly 12 konfigurieren, benötigen Sie Daten über mehrere Monate, bevor der langfristige Trend erkennbar wird.

Prüfen Sie diese Kennzahlen:

Kennzahl Was zu prüfen ist
Belegter Speicherplatz des Datastores Zeigt, ob die Optimierung des Backup-Speichers wirkt
Prune-Task-Logs Bestätigen, dass Snapshots entfernt werden
GC-Task-Logs Bestätigen, dass nicht verwendete Chunks gelöscht werden
Ausstehende Entfernungen (Pending removals) Zeigen Chunks an, die auf das Ende der GC-Karenzzeit warten
Trend der Backup-Job-Größe Zeigt, ob die Menge geänderter Daten steigt

Wächst der Datastore schneller als erwartet, reduzieren Sie die Aufbewahrung oder erweitern Sie den Speicher, bevor das Dateisystem voll wird.

Häufige Anpassungen:

Problem Anpassung
Datastore füllt sich zu schnell keep-daily, keep-weekly oder keep-monthly reduzieren
Zu wenige aktuelle Wiederherstellungspunkte keep-daily erhöhen
Monatsverlauf ist zu kurz keep-monthly erhöhen
Backups überschneiden sich mit der Wartung Prune oder GC auf einen späteren Zeitpunkt verschieben
GC gibt kaum Speicher frei Prüfen, ob die Prune-Jobs tatsächlich alte Snapshots entfernen

Änderungen rückgängig machen

So entfernen Sie einen Prune-Job:

proxmox-backup-manager prune-job remove pve-longterm

Erwartetes Ergebnis: PBS entfernt die Konfiguration des Prune-Jobs.

So deaktivieren Sie den GC-Zeitplan, ohne den Datastore zu löschen:

proxmox-backup-manager datastore update <DATASTORE_NAME> \ --delete gc-schedule

Erwartetes Ergebnis: PBS entfernt den automatischen GC-Zeitplan für den Datastore.

So ändern Sie die Aufbewahrung, statt den Prune-Job zu entfernen:

proxmox-backup-manager prune-job update pve-longterm \ --keep-daily 7 \ --keep-weekly 4 \ --keep-monthly 6

Erwartetes Ergebnis: PBS behält den Prune-Job bei, wendet aber bei künftigen Prune-Läufen die neue Aufbewahrungsrichtlinie an.

Warning

Das Zurücksetzen einer Prune-Richtlinie stellt bereits gelöschte Snapshots nicht wieder her. Sobald ein Snapshot entfernt wurde und seine Chunks später von der GC gelöscht wurden, lässt er sich aus PBS nicht wiederherstellen.

Fehlerbehebung

Die GC gibt nicht sofort Speicherplatz frei

Ursache: Prune hat die Snapshot-Metadaten entfernt, aber die Chunks werden noch von anderen Snapshots referenziert oder liegen innerhalb der GC-Karenzzeit.
Lösung: Warten Sie die Karenzzeit ab und führen Sie die GC später erneut aus. Prüfen Sie die Task-Logs auf ausstehende Entfernungen (pending removals).

Prune behält mehr Backups als erwartet

Ursache: keep-daily, keep-weekly und keep-monthly arbeiten mit Zeitintervallen. Tage, Wochen oder Monate ohne Backups zählen nicht mit. Außerdem überschneiden sich die Aufbewahrungsregeln.
Lösung: Verwenden Sie den PBS-Prune-Simulator, bevor Sie die Aufbewahrung in der Produktion ändern. So können Sie das Verhalten der Aufbewahrung vor dem Anwenden der Änderungen in einer Vorschau prüfen.

Der Datastore wächst nach Prune und GC weiter

Ursache: Die täglich geänderte Datenmenge kann höher sein als geschätzt, Backups können neue Disks enthalten, oder die Aufbewahrung ist für den Datastore zu umfangreich.
Lösung: Berechnen Sie die Volumenschätzung mit den tatsächlich geänderten Daten neu. Reduzieren Sie die Aufbewahrung oder erweitern Sie den Speicher.

Ein Prune-Job wirkt sich nicht auf einen Namespace aus

Ursache: Der Prune-Job ist möglicherweise für den falschen Namespace oder die falsche Namespace-Tiefe konfiguriert.
Lösung: Prüfen Sie die Einstellungen des Prune-Jobs und kontrollieren Sie den Wert von --ns. Soll der Job nur für einen Namespace gelten, legen Sie den Namespace explizit fest.

Backup-Clients können weiterhin Backups löschen

Ursache: Die Backup-Zugangsdaten haben möglicherweise Löschrechte, oder die Aufbewahrung ist außerhalb von PBS konfiguriert.
Lösung: Wenden Sie für Backup-Clients das Prinzip der minimalen Rechte (Least Privilege) an. Für Ransomware-Resistenz sollten Sie PBS-seitige Prune-Jobs bevorzugen, statt Backup-Clients Löschrechte zu erteilen.

Fazit

Sie haben die Wartung von Proxmox Backup Server für die Langzeitaufbewahrung konfiguriert, indem Sie einen Prune-Job erstellt und die Garbage Collection geplant haben. Außerdem haben Sie erfahren, warum Chunks nicht sofort gelöscht werden, wie die GC die Bereinigung des Datastores abschließt und wie Sie den Speicherbedarf vor dem Anwenden der Langzeitaufbewahrung abschätzen. Diese Vorgehensweisen unterstützen die Proxmox-Backup-Optimierung, indem sie die Speichereffizienz verbessern und dafür sorgen, dass die Backup-Aufbewahrung berechenbar und beherrschbar bleibt.

Als nächste Schritte empfehlen wir, Verifizierungsjobs hinzuzufügen, Benachrichtigungen für fehlgeschlagene Prune- und GC-Tasks einzurichten und das Datastore-Wachstum monatlich zu überprüfen. So bleibt die Optimierung des Backup-Speichers berechenbar, und die Aufbewahrungseinstellungen verbrauchen nicht unbemerkt die gesamte verfügbare Kapazität.

Dokumentversion: 1.0
Zuletzt aktualisiert: Juni 2026
Verantwortlich: Team für technische Dokumentation

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA