Hace varios años tuve las mismas demandas que tú. La solución que elegí fue usar ZFS a través del controlador ZFS-FUSE en mi servidor de almacenamiento. Pensé que mis fotos personales, documentos escaneados y otros archivos similares eran cosas a las que puedo acceder solo ocasionalmente, por lo que puede pasar mucho tiempo, digamos un año o más, antes de notar que un archivo se ha dañado debido a un error de unidad o similar.
En ese momento, todas las copias de seguridad que tengo pueden ser esta versión descompuesta en bits de los archivos.
ZFS tiene un beneficio sobre RAID-5 en que puede detectar y reparar errores en los datos almacenados en los discos individuales, incluso si las unidades no informan un error de lectura mientras leen los datos. Detectará, mediante sumas de comprobación, que uno de los discos devolvió información corrupta y utilizará los datos de redundancia para reparar ese disco.
Debido a la forma en que está diseñada la suma de comprobación en ZFS, sentí que podía confiar en ella para almacenar datos usados con poca frecuencia durante largos períodos de tiempo. Cada semana ejecuto un "zpool scrub" que revisa y vuelve a leer todos los datos y verifica las sumas de verificación.
ZFS-FUSE me ha funcionado bastante bien en los últimos años.
En el pasado distante, para un cliente, implementé un sistema de base de datos que almacenaba información de suma de verificación en todos los archivos almacenados en un directorio particular. Luego tuve otro script que se ejecutaría periódicamente y verificaría el archivo contra la suma de verificación almacenada en la base de datos. Con eso, pudimos detectar rápidamente un archivo dañado y restaurar desde copias de seguridad. Básicamente, estábamos implementando los mismos tipos de controles que ZFS realiza internamente.