auf gleichem PBS (v3) langsamen Storage zum langzeit Archivieren verwenden

crmspezi

Renowned Member
Sep 5, 2019
433
34
68
46
Germany/Thueringen
Hallo zusammen,
ich möchte folgendes erreichen.

prune.cfg
Auf einem PBS mit einem sehr schnelle Storage zum PVE Backup sollen nur 60 Tage aufbewahrt werden. Im gleichen PBS gibt es einen langsamen, viel größeren aber langsameren Storage, alles ZFS.

prune-job: faststore-prune
datastore pve-ss1
schedule daily
keep-last 60
keep-weekly 0
keep-monthly 0
keep-yearly 0


prune-job: slowstore-prune
datastore pve-ss1-3
schedule monthly
keep-monthly 12
keep-yearly 5

Ziel ist es nur die Monatskopien und 2 Jahreskopien auf dem slowstore aufzubewahren, nicht jedoch auf dem faststore.

Ich möchte einen Syncjob ähnlich wie hier einrichten:
proxmox-backup-manager sync run fast-to-slow --since 2025-01-01T00:00:00Z --until 2025-09-30T23:59:59Z

Wie bekomme ich das wirklich hin. Ziel ist es nur 24 Monatssicherungen auszulagern, die bereits im Faststore sind, deshalb ist der auch voll.

Geht das irgendwie mit PBS?


Viele Grüße
 
Sync doch einfach alles und setze den Prune wie gewünscht, dann bleiben genau die gewünschten Restorepunkte über.
 
  • Like
Reactions: UdoB
Ist in absehbarer Zeit zu erwarten das man nur Wochen- und Monatsbackups syncen kann ? Ich schaufele so mehrere 100TB rüber und dann vieles wieder zu prunen. Das ist nicht sinnvoll und dauert 3 Tage.
 
Ist in absehbarer Zeit zu erwarten das man nur Wochen- und Monatsbackups syncen kann ? Ich schaufele so mehrere 100TB rüber und dann vieles wieder zu prunen. Das ist nicht sinnvoll und dauert 3 Tage.
Mir kommt momentan nur eine Lösung für dich in den Kopf:

Erstelle separate Namespaces und lass hier die Wochen- und Monatsbackups einfließen. Die täglichen (?) kommen in einen anderen Namespace. Dann kannst du pro Namespace separate Sync Jobs konfigurieren. [0]
Das braucht dann aber auch separate Backups Jobs unter PVE. Dedupliziert wird es trotzdem, sofern es auf dem gleichen Datastore ist.

[0] https://pbs.proxmox.com/docs/managing-remotes.html#namespace-support
 
  • Like
Reactions: Johannes S
Ist in absehbarer Zeit zu erwarten das man nur Wochen- und Monatsbackups syncen kann ? Ich schaufele so mehrere 100TB rüber und dann vieles wieder zu prunen. Das ist nicht sinnvoll und dauert 3 Tage.

Hi, nein so ein feature is zur Zeit nicht in Arbeit, etwas ähnliches wurde bereits in https://bugzilla.proxmox.com/show_bug.cgi?id=6781 angefragt (dort im context mit S3 datastors, aber das gilt generell für sync jobs). Bitte dort weitere Infos hinzufügen und für status updates subscriben.
Prinzipiell wäre auch möglich den sync job nur einmal im Monat laufen zu lassen und mittels transfer last nur die jeweils n (mit n = 1 o.a.) letzten snapshots zu syncen.
 
Last edited:
  • Like
Reactions: Johannes S
Ist in absehbarer Zeit zu erwarten das man nur Wochen- und Monatsbackups syncen kann ? Ich schaufele so mehrere 100TB rüber und dann vieles wieder zu prunen. Das ist nicht sinnvoll und dauert 3 Tage.
Prunen dauert normalerweise doch nicht lange? Garbagecollection ist ein anderer Schnack, aber die muss ja so oder so durch alle Chunks durch.

Mir persönlich wäre es auch etwas zu riskant im Zweifelsfall die Arbeit einer Woche oder eines Monats zu verlieren. Die hourly-Backups brauche ich aber auch nicht offsite, deshalb regel ich das wie von Khensu beschrieben über einen eigenen Namespace remote. Dort werden mir alle Backups reingesynct, ein stündlicher prune-job sorgt dann dafür, dass nur maximal ein Tagesbackup (und natürlich die wöchentlichen/monatlichen etc) übrig bleibt. Um Mitternacht pullt der offsite-PBS sich dann davon seine Kopien.
 
Ist in absehbarer Zeit zu erwarten das man nur Wochen- und Monatsbackups syncen kann ? Ich schaufele so mehrere 100TB rüber und dann vieles wieder zu prunen. Das ist nicht sinnvoll und dauert 3 Tage.
Das macht doch gar keinen Sinn, außer die Daten werden täglich wieder überschrieben, aber da stellt sich eh die Frage der Sinnhaftigkeit von Monatsbackups.
Wenn man täglich synchronisiert ist die änderungsrate bei normalen Servern deutlich weniger als die Änderungen der ganzen Woche. Synchronisieren musst du das ja eh irgendwann.
Prune dauert nie lange, außer du hast da viele Tausend Restorepunkte auf HDDs.

Was nützen dir Wochen oder Monatsbacklups, sind die Daten so unkritisch? Ändert sich täglich immer wieder das gleiche?
 
  • Like
Reactions: Johannes S
Ich habe noch einmal den Ursprungspost gelesen.
Vermutlich hast du auch einen Denkfehler. Du machst irgendwann ein Full Backup, danach wird immer nur inkrementell die Änderung gespeichert.
Auch wenn du deine Wochen und Monatsbackups kopierst, wird die Ursprungsmenge des Backups nicht weniger, du verdoppelst erst einmal dein Storageverbrauch.
Wenn du auf dem ersten Speicher 60 Tage aufbewahren willst, wäre es sinnvoll auch 60 Tagesbackups einzustellen. Last 60 können 60 Tage sein, aber wenn du mal zwei Backups an einem tag hast, dann werden das weniger Tage.
Die Option Last stelle ich auch immer mit ein, nur oft nicht ganz so hoch wie Tagesbackups, damit zusätzliche Backups an einem Tag noch etwas aufbewahrt werden, aber nicht die ganzen 60 Tage.

Den Sync täglich zu machen, ist entspannter, da die geänderte Menge täglich nicht so groß ist.
Das Prune würde ich dann auf dem zweiten Datastore auf 7 Tage + deine Wochen + deine Monate einstellen. Da bleiben dann X Wochen und Monatsbackups über und die täglichen Änderungen werden nach einer Woche schon wieder eingedampft. Das macht auch Sinn, falls mal etwas auf dem Source Datastore kaputt geht, hast du noch die letzten 7 Tage, tagesgenau.

Du wirst auf dem Schnellen Datastore aber nur die Menge der älteren Inkrements sparen, also im schlimmsten Fall gar nicht so viel. Das liegt aber an der Änderungsrate.
 
  • Like
Reactions: UdoB and Johannes S
zur Umgebung (alles ZFS):
Grundgerät Supermicro 847 / 36 Slots, pbs v3.x mit viel RAM
schneller Master Storage: 36 SAS HDD im Stripe Mirror mit 2x Micron NVMe Mirror als Special Device (2TB) = nutzbare Backup Kapazität 250TB

Erweiterungsgerät Supermicro 847 / 45 Slots, mit 4x SAS2 an Hauptgerät angebunden
langsamer Slave Storage: 28 SATA HDD im Stripe Raidz1 (7x4) mit 2x Micron NVMe Mirror als Special Device (1TB) = nutzbare Backup Kapazität 260TB
Dieser Storage ist nur wenige Tage Online im Monat, sonst im Wartungsmodus

  • alle Backups werden von PVEs zwischen 3x die Woche bis 7x die Woche zum Masterstorage gesendet
  • letzte behalten : 2 / Tage behalten : 7 / Monate behalten : 3 / Wochen behalten : 4 / Jahre behalten : 1
  • Garbage Collect-Jobs täglich 6:35 Uhr
  • 60% belegt

  • am 2. eines Monats wird der langsame sekundäre Storage manuell eingeschalten
  • danach wird ein Script gestartet:
    • zpool import storage
    • Datastore Erweiterung Wartungsmodus ausschalten
    • Sync pull vom Masterstorage, dann Prune
    • letzte behalten : 2 / Monate behalten : 12 / Jahre behalten : 2, danach GC
    • dies dauert 3-4 Tage
    • Datastore Erweiterung Wartungsmodus einschalten
    • zpool export storage
    • E-Mail und manuelles ausschalten
    • 70% belegt
Damit hat der Sekundäre Storage nur noch die Monatssicherungen und 2 Jahressicherungen, dient also als Langzeitbackup. Mein Wunsch wäre, wenn man eben nicht alles seit dem letzten Sync übertragen muss (also max. 30 tägliche Sicherungen), um diese dan wieder zu prunen, sondern nur das letzte Monatsbackup.

Leider habe ich keinen anderen Ansatzpunkt zur Lösung gefunden.

Viele Grüße
crmspezi
 
Last edited: