Wie Daten am sinnvollsten speichern?

capacity8516

Cadet 4th Year
Registriert
Aug. 2022
Beiträge
101
Hi,
ab und zu bekomme ich die externe HDD meiner Mutter, damit ich ein Backup davon auf meinem Server ablegen kann.
Aktuell umfassen die Daten auf dieser Platte ca. 80.000 Dateien mit insgesamt 350 GB.
Die Daten landen dann auf meinem TrueNAS mit RAIDZ3 und gehen davon nochmal auf einen externen Server.
Das erste mal habe ich die Daten einfach mit rsync auf das ZFS dataset kopiert.
Soweit so gut.

Jetzt steht das zweite mal an.

Ich könnte die Daten jetzt wieder mit rsync kopieren und überschreiben.
Dank ZFS und ECC weiß ich, dass die Daten auf meinem Server korrekt sind. Bei den Daten auf der HDD weiß ich es nicht.
Falls die Daten auf der HDD mittlerweile "kaputt" gegangen sind, dann werden die guten Daten mit den defekten überschrieben.
==> Schlechte Lösung, Integrität nicht sichergestellt

Ich könnte den oberen Weg gehen, aber davor einen ZFS Snapshot machen, dann hätte ich inkrementell beide Versionen.
Allerdings wird nur der letzte Stand auf den externen Server kopiert, nicht die Snapshots. Falls also die guten Daten mit den defekten überschrieben werden, dann habe ich zwar die gute Version noch im Snapshot, aber die defekte Version wird auf den externen Server übertragen. Beim unwahrscheinlichen Fall dass mein TrueNAS Server komplett abraucht, hätte ich extern nur noch die defekte Version.
==> Schlechte Lösung, Integrität nicht sichergestellt

Ich könnte bei jeder Sicherung die komplette HDD in einen separaten Unterordner auf dem Server kopieren.
Die Dateiintegrität wäre so zwar perfekt sichergestellt, aber das sind eben jedes mal 350GB+
==> Schlechte Lösung, zu viel Speicherbedarf

Ich könnte die Sicherung mit einem Tool wie borgbackup machen.
Die Integrität ist dank Versionen sichergestellt, wenig Speicherbedarf dank inkrementellen Backups und Deduplizierung.
Aber die Daten liegen nicht mehr im Klartext vor. Ein sehr komplexer Zwischenlayer wird zum lesen und wiederherstellen benötigt.
Borg ist zwar stabil und intensiv getestet, aber es wäre mir trotzdem lieber die Daten im Klartext vorliegen zu haben.
In der Praxis wäre das aber wohl die sinnvollste Lösung.

So... wie ihr seht es gibt viele Möglichkeiten und Wege, aber mit keinem bin ich so 100% zufrieden. Letztendlich werde ich mich für eine Variante entscheiden müssen, aber das fällt mir gerade nicht so leicht. Deshalb würde ich zu dem Thema gerne mal eure Meinungen hören. Ziel ist halt die absolute Integrität der Daten bei vertretbaren Speicherbedarf.
 
capacity8516 schrieb:
Dank ZFS und ECC weiß ich, dass die Daten auf meinem Server korrekt sind. Bei den Daten auf der HDD weiß ich es nicht.
Hast Du die Daten nach dem ersten Backup alle inhaltlich am Ziel geprüft um zu wissen, dass die damals korrekt von der Quelle gelesen und übertragen wurden? Und dass die Quelldaten natürlich auch alle fehlerfrei waren.

capacity8516 schrieb:
Deshalb würde ich zu dem Thema gerne mal eure Meinungen hören. Ziel ist halt die absolute Integrität der Daten bei vertretbaren Speicherbedarf.
Für mich persönlich fängt das Problem schon vor Deinem aktuellen Vorgehen an. Ich habe selbe >2 Kopien meiner Daten, die ich Dank ext. Prüfsummen jederzeit auf Datenintegrität prüfen kann (zusätzlich zu BTRFS-Prüfsummen auf einem der NAS). Trotzdem tauchen immer wieder Daten auf, die sich nicht wieder korrekt öffnen lassen. Daher liegt die Vermutung nahe, dass diese Daten schon vor der Erstellung der Prüfsummen (oft auf dem Original-Datenträger) defekt waren und ich es einfach nicht bemerkt habe.

Da Du Dir Sicher bist, dass die Daten, die auf Deinem Server landen sowie der Sync mit dem ext. Server garantiert und immer fehlerfrei läuft, sehe ich kein Problem, lokal einen Snapshot zu machen und auf den ext. Server nur die aktuelle Version zu kopieren. U.U. lässt sich ja mit einem Tool ermitteln, welche Dateien sich geändert haben und die kannst Du dann, je nach Anzahl und Aufwand, manuell (oder automatisiert) prüfen.

Ach so, rsync nutzt zum Abgleich normalerweise keine Prüfsummen sondern nur profane Zeitstempel und die Dateigröße. Von daher würden inhaltlich geänderte Dateien nur erneut gesichert, wenn sich auch den Directory-Eintrag geändert hat. Einfaches Bit-Rot an der Quelle wird damit nicht erkannt (mag man aber konfigurieren können, hat mich persönlich nie interessiert).
 
  • Gefällt mir
Reaktionen: capacity8516 und Purche
gymfan schrieb:
Hast Du die Daten nach dem ersten Backup alle inhaltlich am Ziel geprüft um zu wissen, dass die damals korrekt von der Quelle gelesen und übertragen wurden? Und dass die Quelldaten natürlich auch alle fehlerfrei waren.
Na wenn die Quelldatei bereits vor der ersten Übertragung kaputt war, dann ist das eben so, daran kann ich nichts ändern.
 
  • Gefällt mir
Reaktionen: Banned
Was spricht dagegen, regelmäßige ZFS Snapshots zu machen und diese auf den Backupserver zu replizieren?
Beides Funktionalitäten, die TrueNAS von Haus aus mit bringt und per GUI einzustellen ist.
 
capacity8516 schrieb:
Ich könnte die Sicherung mit einem Tool wie borgbackup machen.
Aber die Daten liegen nicht mehr im Klartext vor. Ein sehr komplexer Zwischenlayer wird zum lesen und wiederherstellen benötigt.
Borg-Sicherungen (auch inkrementelle) kannst du doch per FUSE mittels borg mount einfach irgendwo hinmounten.
 
Du könntest die Daten auch weiterhin mit rsync sichern. Rsync bietet eine Versionierung wenn man Hardlinks verwendet. Setzt du dann bei rsync noch den Parameter -c dauert die Übertragung zwar (deutlich) länger aber es werden Checksummen verwendet anstatt lediglich Größe & Zeitstempel der Dateien.
 
Zurück
Oben