SOLVED Frage zu Snapshot Aufbewahrungsdauer bei Replication Task

IndieCoopz

Explorer
Joined
Nov 4, 2022
Messages
50
Hallo zusammen, mir ist etwas aufgefallen und ich bin nicht sicher ob das noch ein SCALE Bug ist oder ob ich ein Verständnisproblem habe.

Ich erstelle aller 8h einen Snapshot per Periodic Snapshot Task. Aufbewahrungsdauer 2 Wochen.

Das scheint auch zu passen wenn ich den Snapshot überprüfe:
Bildschirmfoto 2023-08-08 um 17.33.09.png


Wenn ich nun den Replizierten Snapshot auf meinem Backup ansehe, steht dort das dieser nie abläuft:
Bildschirmfoto 2023-08-08 um 17.33.49.png



Mein Replikationsjob ist aber so eingestellt, dass dieser den Snapshot auf 4 Wochen haltedauer Backuppen soll:
Bildschirmfoto 2023-08-08 um 17.45.36.png


Habe ich hier etwas falsch konfiguriert, einen Denkfehler oder ist es ein (Anzeige) Bug? :)
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Bei einem Push Replication Task mit einer best. Haltedauer auf dem Zielsystem wirft das Quellsystem die Snapshots im Rahmen des Tasks weg. Das wird alles von der Quellmaschine aus gesteuert und das Zielsystem könnte auch ein dummes FreeBSD oder Linux nur mit SSH und ZFS sein.
 

IndieCoopz

Explorer
Joined
Nov 4, 2022
Messages
50
Bei einem Push Replication Task mit einer best. Haltedauer auf dem Zielsystem wirft das Quellsystem die Snapshots im Rahmen des Tasks weg. Das wird alles von der Quellmaschine aus gesteuert und das Zielsystem könnte auch ein dummes FreeBSD oder Linux nur mit SSH und ZFS sein.
Danke für deine Antwort aber die Screenshots sind alle vom selben System. Ich bin gerade dabei einen zweiten Server für eine "richtige" Replikation zwischen zwei Systemen zu bauen, aber momentan laufen die Backups momentan noch auf eine zweite (externe USB) Partition innerhalb des Quellsystems.

Das heißt die replizierten snapshots auf der Backup HDD laufen trotzdem nach vier Wochen ab nur das System erkennt das halt nicht mehr?
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Der Replication Task löscht die aktiv, weil du ihn so konfiguriert hast. Es gibt keinen ZFS-internen Mechanismus, der Snapshots ein Ablaufdatum geben würde.
 

IndieCoopz

Explorer
Joined
Nov 4, 2022
Messages
50
Dann ist das wohl ein Fehler in der GUI. Die Anzeige "will not be destroyed automatically" ist falsch. Wenn der Replikations Task des Quellsystems den snapshot mit 4 Wochen erstellt, dann sollte das auch dranstehen und das Quellsystem sollte die Info anzeigen
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Die Snapshot-Anzeige kann nichts von dem Replications Task wissen. Da das nirgends in den ZFS properties vermerkt wird, sondern dein konfigurierter Replication Task in einem Skript einfach auf dem Ziel alles, was älter ist, löscht. Wobei er sich dabei auch nicht auf irgendwelche Properties stützt sondern rein auf die Namen der Snapshots. Das ganze ist ein aufgeblasenes Shellscript.

Insofern kann man das durchaus einen Bug nennen, aber da wird nichts dran geändert werden, weil dafür MASSIVE Dinge gebaut werden müssten, die im Moment einfach nicht da sind.
 

IndieCoopz

Explorer
Joined
Nov 4, 2022
Messages
50
Alles klar, dann weiß ich Bescheid. Danke dir!
 

IndieCoopz

Explorer
Joined
Nov 4, 2022
Messages
50
Die Snapshot-Anzeige kann nichts von dem Replications Task wissen. Da das nirgends in den ZFS properties vermerkt wird, sondern dein konfigurierter Replication Task in einem Skript einfach auf dem Ziel alles, was älter ist, löscht. Wobei er sich dabei auch nicht auf irgendwelche Properties stützt sondern rein auf die Namen der Snapshots. Das ganze ist ein aufgeblasenes Shellscript.

Insofern kann man das durchaus einen Bug nennen, aber da wird nichts dran geändert werden, weil dafür MASSIVE Dinge gebaut werden müssten, die im Moment einfach nicht da sind.
Mir ist noch etwas eingefallen, ich hoffe du siehst den Beitrag.

Ich habe mittlerweile mein Backup Server fertiggestellt und habe einen SSH Replication Task eingerichtet. Hauptserver Scale -> Backupserver Core.
Der Replikation Task schnappt sich die Snapshots aus meinen Periodic Snapshot Tasks welche 2 Wochen leben (ist ja auch der Standardwert in TN für neue Tasks). Diese Snapshots lasse ich für das Backup System auf 1 Monat verlängern und setze diese im Replikation Task auf read only. Klappt auch prima und er schreibt alles schön auf den zweiten Server.

Nun ist mein Plan dass mein Backup Server nicht immer an ist und ich den dann per WoL hochfahre wenn ich der Meinung bin, dass es Zeit für ein Backup ist. Der genannte Repl. Task läuft manuell. Wenn jetzt der Backup Server über einen Monat aus bleibt, stimmen die auf dem Backup Server liegenden Snapshots ja nicht mehr mit denen auf dem Quellsystem überein da diese ja alle 2 Wochen erneutert werden.

Frage: Blickt TrueNAS, dass die Datensätze von dem 2 Wochen Periodic Task sind und sichert trotzdem das Delta oder meckert er dann und sagt dass der Snapshot auf dem Quellsystem nichts mehr mit dem auf dem Backupserver gemein hat? Das würde ja bedeuten dass ich eine full replication durchführen müsste was bei der Datenmenge nicht sinnvoll und praktikabel wäre...

Falls das so stimmt wie ich befürchte, wäre es dann sinnvoller ich erstelle vor dem manuellen replizieren auf das Backup System einen Manuellen Snapshot und filtere per Name Schema die manual snapshots für die replikation raus?

Sorry für den langen Text und ich hoffe du verstehst was ich meine :D
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Ich glaube, ich verstehe, was du meinst, und die Antwort ist recht einfach:

Wenn die beiden Server keinen Snapshot mehr gemeinsam haben, dann ist keine inkrementelle Replikation mehr möglich. Dann kann man nur noch alles auf dem Ziel löschen und von vorne anfangen.

Weshalb replizierst du nicht täglich automatisch auf die Zielmaschine?
 

IndieCoopz

Explorer
Joined
Nov 4, 2022
Messages
50
Ich glaube, ich verstehe, was du meinst, und die Antwort ist recht einfach:

Wenn die beiden Server keinen Snapshot mehr gemeinsam haben, dann ist keine inkrementelle Replikation mehr möglich. Dann kann man nur noch alles auf dem Ziel löschen und von vorne anfangen.

Weshalb replizierst du nicht täglich automatisch auf die Zielmaschine?
Weil bei mir nicht täglich oder wöchentlich neue Daten anfallen und ich auch nicht permanent darauf zu greifen muss. Beide Server ständig an zu haben wäre bei den Strompreisen ineffizient und irgendwann von der Lautstärke auch etwas nervig da ich weder Keller noch Abstellraum habe. Platten und Lüfter hört man halt im Wohnzimmer und Büro, auch wenn es leise ist.

Wäre die Idee mit dem manuellen Snapshot eine Lösung? Ich erstelle einen manuell, der lebt ja unendlich, den filtere ich per Namensschema im Replikation Task raus und schreibe den aufs Backup System. Wenn ich mal neue Daten habe die aus meiner Sicht eine neue Sicherung erfordert, erstelle ich einen neuen manuellen, repliziere den auf das Backup System und lösche den ersten manuellen Snapshot. Dann ist immer ein manueller Snapshot auf Quell und Zielsystem dann sollte er nicht meckern...
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Äh ... sorry, ich verlasse mich auf die Mechanismen, die eingebaut sind und meine beiden Systeme brauchen je unter 60W und laufen 24x7.
 
Last edited:

micneu

Patron
Joined
Mar 23, 2019
Messages
474
Weil bei mir nicht täglich oder wöchentlich neue Daten anfallen und ich auch nicht permanent darauf zu greifen muss. Beide Server ständig an zu haben wäre bei den Strompreisen ineffizient und irgendwann von der Lautstärke auch etwas nervig da ich weder Keller noch Abstellraum habe. Platten und Lüfter hört man halt im Wohnzimmer und Büro, auch wenn es leise ist.
sorry die frage, warum hast du ein NAS wenn du es nicht 24/7 laufen lassen willst. bei mir zuhause und in der firma laufen unsere NAS systeme alle 24/7 dafür sind sie doch gemacht?
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Um das nochmal zu präzisieren ... ein inkrementelles zfs send gibt den gemeinsamen Basis-Snapshot und den jüngeren Ziel-Snapshot an. Das Tool, das für die Replikation benutzt wird, verwendet dafür ausschließlich die selbst vergebenen Namen der Snapshots. Ich bezweifle, dass ein beliebiger manuell angelegter Snapshot überhaupt in Erwägung gezogen wird.

Nichts von dem ist "ZFS-Magie". Snapshots haben kein Verfallsdatum oder andere Meta-Infos innerhalb von ZFS. Da rennt ein Stück Software am 2023-08-10 und weiß, dass es zum einen am 2023-08-09 das letzte Mal erfolgreich lief, und dass es Snapshots 14 Tage aufheben soll. Also sagt es "liebes ZFS, schick doch mal die Differenz von 2023-08-09 auf 2023-08-10 nach drüben und dann lösch den Snapshot, der 2023-07-26 im Namen hat".

So einfach arbeitet das tatsächlich. Wenn du Snapshots nach der Replikation etwa umbenennst, dann sind sie für ZFS natürlich noch da, aber für das Tool sind sie weg. Und alles, was nicht dem konfigurierten (!) Namensschema entspricht, existiert auch nicht.
 

IndieCoopz

Explorer
Joined
Nov 4, 2022
Messages
50
Ich hab die Replikationstasks jetzt so eingerichtet, dass er wie gehabt aller 8h Snapshots (2WEEKS) vom SSD und HDD Pool macht und diese dann 1x pro Woche Samstag Nacht auf das Backup System schreibt und dort die Snapshots auf 4 Wochen verlängert und auf Read Only setzt.
Ich denke damit kann ich leben, dann müsste ich halt am Wochenende spätestens aller 2Wochen die Kiste(n) hochfahren und den replizieren lassen damit sein Zeitstempel passt.

Nochmal warum ich keinen Dauerbetrieb habe.
  1. Ich muss nicht 24/7 auf die Daten zugreifen möchte diese aber gut gesichert haben.
  2. Server 1 steht im Wohnzimmer und Server 2 im Büro. Ich habe die zwar entsprechend umgebaut (Lüfter) aber hören tut man sie dennoch. Ich brauche kein permanentes Grundrauschen und habe leider keine Möglichkeit die Systeme in einen Keller oder Kammer zu stellen.
    Ich habe nur eine Wohnung.
  3. Für mich macht es keinen Sinn ein System 24/7 laufen zu haben das 98% der Zeit nichts tut.
 
Top