Regelmäßige Snapshots und Replikation analog Time Machine? (Core)

Jetzt nutze ich TrueNAS schon so lange, dass ich mich nicht mehr an meine erste Version erinnere (vielleicht noch vor FreeNAS 9.3?). Schon immer wollte ich regelmäßige Replikationen der Snapshots so organisieren, dass sie wie Time Machine (Apple MacOS…) funktionieren. Das ist mir nie so richtig gelungen (…nur halb, mit zu vielen Snapshots und manueller Nacharbeitung bzgl. löschen derselben…).

Vermutlich bilde ich mir nur ein, ich verstünde den Mechanismus. Deshalb frage ich jetzt nochmal ganz dumm, wie man folgendes erreichen kann:

Die auf einen anderen Datenträger replizierten Snapshots sollen z.B stündlich erstellt werden und eine Woche erhalten bleiben. Ein täglicher Snapshot soll einen Monat überleben. Ein Wöchentlicher ein Quartal existieren und der Monatliche sagen für immer (oder die Platte platzt) erhalten bleiben.

Wie erreiche ich das mit Replikationsaufgaben?

Noch schöner wäre es, wenn die Quell-Snapshots kürzer leben könnten. Muss aber nicht sein…

TrueNAS Core 13.0 U6.2 auf AMD 7600, 32 GB RAM

OK, theoretisch sollte mein Anliegen recht einfach sein. Es gibt mehrere Ansätze:

Ansatz A: Je Zeitpunkt einen Periodic Snapshot Task anlegen und dort die gewünsche Lebenszeit einstellen. Anschließend entsprechende Replikationsaufgaben definieren, bei denen man nur den korospondierenden Snapshot Task zulässt und für den Replikaten eine individuelle Lebenszeit angeben.

Die Methode hatte in der Vergangenheit nie funktionier…

Ansatz B: Eine Replikationsaufgabe mit den kürzesten Zeitintervall definieren. Dadurch entsteht ein entsprechender Persiodic Snapshot Task. Weitere Replikationen mit eigenen Zeitplan und individueller Lebensdauer ergänzen.

Auch diese Methode hatte nie richtig funktioniert…

Ansatz X: Beliebige Kombinationen der einzelnen Teilmethoden.

Gefühlt habe ich die auch alle durch, mit immer ähnlichen Ergebnis. Allerdings verteilen sich all die Versuche über viele Jahre und entsprechend viele Versionen von Free- und TrueNAS Core.

Aktuell teste ich wieder Ansatz A, unter ausschließlicher Verwendung der einfache Dialoge, damit ich in den Erweiteretn Einstellungen nicht soviel falsch machen kann.

Falls jemand eine Idee hat, welcher Ansatz richtiger sein kann oder welcher nicht funktioniert, dann hilft mir das natürlich. Auch der Hinweis, dass mein Ansinnen mit diesen Methoden nicht machbar ist und z.B. Rsyc besser gehen würde…

Ja, jetzt fällt mir wieder ein, was damals nicht klappte. Die Meldung hat mich in den Wahnsinn getrieben:

No incremental base on dataset 'Test-Pooll' and replication from scratch is not allowed.

Die Snapshots funktionieren wie gewünscht. Der erste Replikations Task (alle 10 Minuten) funktioniert auch, inl. geändrte Lebenszeit. Aber der zweite (jede Stunde) des selben Pools bringt die genannte Fehlermeldung.

ich fürchte, den Mechnismus einfach nicht verstanden zu haben…

Ich versuche es hier niochmal…

Die Fehlermeldung “No incremal…” habe ich wegbekommen, in dem ich in der Replikationsaufgabe “Replication from scratch” angekreuzt habe. Leider habe ich auch bei den Periodic Snapshots Tasks aufgeräumt und die automatisch beim Anlegen der Replikation erzeugten “auto-…” Snapshot Tasks gelköscht.

Dadurch habe ich jetzt keinerlei Fehlermeldungen mehr, aber es finden sich keine replizierten Snapshots im Ziel der stündlichen Aufgabe. Da klappt die Replakation also nicht und das System meldet keinen Fehler…?

Bei der 10-minütigen Aufgabe klappt die Replikation weiterhin, aber die Lebensdauer der replizierten Snapshots sind nun so kurz wie im Periodic Snapshot Task definiert, nicht verlängert wie in der Replikation angegeben.

Vielleicht sind auch alle Replikationen defekt, weil im Ziel Pool, nach Löschen aller dortigen Snapshots bis auf einen, der verbliebene Snapshot zwar 2.79 GiB referenziert, aber selber nur 0.10 bytes verwendet.

Vor dem Hintergrund, und der Tatsache, dass das System vom fehlerfreien Lauf der einen Replikation berichtet, aber gar keine Daten im Ziel ankommen, bin ich mir nicht mehr sicher, ob TrueNAS überhaupt noch ein zuverlässiges System ist?

Es geht auf folgenden Weg: Verschiedene periodic snapshot tasks je dataset mit unterschiedlicher lebensdauer. Dann genau eine Replikationsaufgabe je dataset, die sich auf alle entsprechenden snapshot tasks beziehen. Lebensdauer wie Quelle wählen.

Unterschiedliche Aufbewarungsfristen der snapshots für Quelle und Ziel sind nach meiner Erfahrug schlicht nicht möglich in der Praxis.

Das ganz funktioniet auch nur, wenn die Ziele frisch definierte datasets sind. Je Quell dataset ist genau ein vorher anzulegendes Ziel dataset nötig. Das umbenennen von snapshot Aufgaben und Bezeichnungen kann das filigrane und undurchschaubare System durcheinander bringen, und man muss ein neues Ziel dataset anlegen und die Aufgaben neu definieren.

Teile der Anzeige des verwendeten Speichers von snapshots kann die Bevölkerrung verunsichern…