Vor einigen Jahren hatte ich die gleichen Anforderungen wie Sie. Die von mir gewählte Lösung bestand darin, ZFS über den ZFS-FUSE-Treiber auf meinem Speicherserver zu verwenden. Ich dachte, dass meine persönlichen Fotos, gescannten Dokumente und andere ähnliche Dateien Dinge sind, auf die ich nur gelegentlich zugreifen kann. Es kann also sehr lange dauern, etwa ein Jahr oder länger, bis ich feststelle, dass eine Datei aufgrund von beschädigt wurde ein Laufwerksfehler oder dergleichen.
Zu diesem Zeitpunkt sind alle Sicherungskopien, die ich habe, möglicherweise diese Version der Datei (en).
ZFS hat gegenüber RAID-5 den Vorteil, dass es Fehler in den auf den einzelnen Datenträgern gespeicherten Daten erkennen und beheben kann, auch wenn die Laufwerke beim Lesen der Daten keinen Lesefehler melden. Über Prüfsummen erkennt es, dass eine der CDs fehlerhafte Informationen zurückgegeben hat, und verwendet die Redundanzdaten, um diese CD zu reparieren.
Aufgrund der Art und Weise, wie die Prüfsumme in ZFS aufgebaut ist, konnte ich mich darauf verlassen, dass selten verwendete Daten über einen längeren Zeitraum hinweg gespeichert werden. Jede Woche führe ich ein "zpool scrub" durch, das alle Daten erneut liest und die Prüfsummen überprüft.
ZFS-FUSE hat sich in den letzten Jahren für mich sehr gut entwickelt.
In der fernen Vergangenheit habe ich für einen Client ein Datenbanksystem implementiert, das Prüfsummeninformationen für alle Dateien speichert, die in einem bestimmten Verzeichnis gespeichert sind. Ich hatte dann ein anderes Skript, das regelmäßig ausgeführt und die Datei anhand der in der Datenbank gespeicherten Prüfsumme überprüft wurde. Damit konnten wir schnell eine beschädigte Datei erkennen und von Backups wiederherstellen. Wir haben im Grunde die gleichen Arten von Prüfungen implementiert, die ZFS intern durchführt.