Fragen speziell zur Replikation

Ich habe es nach meiner Anfrage vom Juli '25 endlich geschafft, meine beiden 8TB-Spiegel-Pools aufzulösen und zu einem 4-Wide-Raidz2 umzustellen.

In dem Zusammenhang will ich auch evtl. die Auslagerungssicherung umstellen.
Bisher kopiere ich über SMB auf dem PC die Daten zur Auslagerung auf eine LUKS-verschlüsselte HD, welche dann ausgelagert wird. Ich habe keine praktikable Möglichkeit, das mit einem 2. TN-System zu machen.

Dazu meine Frage:

Wenn ich eine Auslagerungsplatte erstmals mittes HotPlug anschließe kann ich ja an der Quelle einen SnapShot erstellen und komplett übertragen. Danach müsste ich einen erneuten Snapshot übertragen und den beim nächsten mal übertragen. Soweit alles klar.

Kann ich auch anstelle eines Snapshots mit Änderungen auch einen Snapshot direkt vor der jeweiligen Sicherung erstellen und den gesamten Datenbestand übertragen? Würde dann jeweils der komplette referenzierte Datenbestand übertragen und damit der vorhandene Datenbestand auf der externen Platte ersetzt/überschrieben? Oder wäre die an der Quelle inzwischen gelöschten Daten immer noch auf dem Zielmedium vorhanden? Hat damit jemand schon Erfahrungen gemacht?

Hintergrund ist, das ich das nicht alles manuell machen will sondern in Scripte verpacken. Und die müssten dann die jeweiligen Auslagerungsplatten bzw. deren Pools unterscheiden. Das würde den Aufwand natürlich deutlich erhöhen.

Bin für Tipps dankbar.

Warum? Ich wäre bei einem mirror geblieben. Oder halt 3way mirror.
3way mirror hatte die Vorteile: mehr Kapazität (geometrie, padding) und nur 3 statt 4 Platten.

Was ist die Auslagerungssicherung? Ein backup auf eine externe Platte?
Mittels ZFS send oder per rsync?
Mit welchem Protokoll? Sata? USB?

Das liegt ganz bei dir und wie du es einstellst.
Bei rsync kannst du sync oder push machen.
Bei zfs send kannst du auf der destination eine andere snapshot lifetime haben also auf der source.

3way mirror ist für mich keine gute Option gewesen. Ich habe 2 x 8-TB Mirror betrieben. Hatte also 2 getrennte Pools, was für meine Zwecke nicht mehr optimal ist und hätte außerdem Platten nachkaufen müssen um auf 3way Mirror umzustellen. 4wide Raidz2 ging mit meinem Bestand an Platten. Und erweitern kann ich bei Bedarf problemlos. Rein vom Platz her komme ich mit jetzt 13,7 TB nutzbarem Platz die nächsten Jahre hin. Liege jetzt bei ca. 4,5 TB.

Genau. Festplatte, Daten verschlüsselt drauf und Lagerung außer Haus.
Anschließen will ich die im Idealfall an die internen HotPlug-fähigen SATA-Anschlüsse. Dazu will ich einen der SATA-Ports und SATA-Strom nach außen führen und dann so ein Gehäuse für die externe Platte verwenden. Am liebsten würde ich ZFS dazu verwenden.

Da habe ich mich wohl nicht ganz verständlich ausgedrückt, was ich machen möchte:

Ich möchte einen Snapshot auf ein Dataset und den dann mit dem komplett referenzierten Datenbestand SOFORT an die Auslagerungsplatte senden. Wenn nach einigen Wochen oder Monaten auf Grund der Rotation der Auslagerungsplatten (2 -3 Generationen) die gleiche Platte wieder dran ist, möchte ich wieder einen Snapshot erstellen und den ebenfalls sofort übertragen. Auch der würde ja den momentanen kompletten Datenbestand referenzieren.

Dann würde ich ja im Ergebnis quasi den Bestand komplett überschreiben. Die Frage ist nur - mit oder ohne Löschweitergabe? Und nebenbei, würde ZFS „merken“ das das weitgehend der gleiche Datenbestand ist nur die Unterschiede wie im Regelfall beim Snapshot senden? Im Normalfall enthält ja der Snapshot nach einer Weile nur Änderungen.
Bei rsync wäre das einschließlich Löschweitergabe kein Ding. Aber funktioniert das auch mit den ZFS-Snapshots? Letzteres wäre mir lieber. Und so wie ich mir das hier vorstelle, wäre das der geringste Aufwand, die gesamte Routine in ein oder mehrere Scripte zu packen.

Verstehe ich nicht ganz, warum ein Umstieg auf von zwei mirrors zu einem 4 wide RAIDZ2 einfacher sein soll, als der Umstieg zu einem 3way mirror, aber egal.

Ok

Ehrlich gesagt habe ich da kein Praktische Erfahrungen mit, aber so rein von der ZFS Logik her, müsste beides möglich sein.

Du kannst entweder nur den neusten snap (den du gerade ausgelöst hast mittels replication task) senden, oder auch alle die dazwischen passiert sind mittels recursive. Ich würde ja alle senden, das wird sich vom Speicher her vermutlich nicht viel geben.

Was vermutlich mühsamer sein wird (auch hier wieder keine praktische Erfahrung mit externen Platten) ist der ständige Import/Export. Du hängst die disk an, machst ein pool import, führst die data replication aus, hängst den pool wieder aus.

Das “einfacher” hatte ich auf die Hardware bezogen. Mit dem Raidz2 habe ich eine höhere Ausfallsicherheit im Pool als vorher jeweils für die beiden separaten Pools. Und das ohne zusätzliche Hardware und ohne Verringerung des Gesamtspeicherplatzes. Mal davon abgesehen habe ich hier eine nutzbare Platzquote von ca. 48% gegenüber einem 3way Spiegel.

Außerdem wusste ich nicht mal, das man die Spiegel auch mit mehr als einer Spiegelplatte bauen kann. Habe ich nicht in der Doku gefunden. Aber da ich das ganze nur für die Familie und zu Hause betreibe, sehe ich das nicht so verbissen. Ich nutze das NAS im Regelfall nur von einem Rechner aus. JellyFin auch nur von einem Player, ohne Transcodierung. Da ist Performance kein ernsthaftes Thema. Dafür aber die Sicherheit der Daten in Bezug auf Verlust oder Verfälschung.

Das Umorganisieren war natürlich etwas mehr Aufwand. Keine Frage. Aber da ich in dem Zusammenhang auch die Recordgröße einiger Datensätze angepasst habe, war der Aufwand in Ordnung. Da bleibt dann schon die Zeit, die Daten mittelks rsync oder zfs send auf 2 Sicherungsplattensätze zu übetragen und anschließend den Pool neu aufzubauen. Und Zeit habe ich notgedrungen aus gesundheitlichen Gründen.

Dann werde ich das wohl mal austesten müssen. Sofern Interesse besteht, hinterlasse ich eine Rückmeldung.

Das ist richtig. Aber die Auslagerungen mache ich auch jetzt nur 1 x monatlich. Und das erfolgt an meinem Linux-PC. Also Platte in USB-Adapter und anschließen, Shares der zu sichernden Daten einbinden, Sicherungsplatte mit Passwort freigeben, Sicherungsscript starten. Das ist vergleichbarer Aufwand und dauert dann (allein das Script) ca. 5-6 Stunden.

1 Like