Несколько лет назад у меня были те же требования, что и у вас. Я выбрал решение использовать ZFS через драйвер ZFS-FUSE на моем сервере хранения. Я думал, что мои личные фотографии, отсканированные документы и другие подобные файлы - это вещи, к которым я могу получить доступ лишь изредка, поэтому может пройти очень много времени, скажем, год или больше, прежде чем я обнаружу, что файл был поврежден из-за ошибка привода или тому подобное.
К тому времени все резервные копии, которые у меня есть, могут быть этой битой версией файла (ов).
Преимущество ZFS перед RAID-5 заключается в том, что он может обнаруживать и исправлять ошибки в данных, хранящихся на отдельных дисках, даже если диски не сообщают об ошибке чтения при чтении данных. Посредством контрольных сумм он обнаружит, что один из дисков возвратил поврежденную информацию, и будет использовать данные избыточности для восстановления этого диска.
Из-за способа создания контрольной суммы в ZFS я чувствовал, что могу положиться на нее для хранения редко используемых данных в течение длительных периодов времени. Каждую неделю я запускаю «zpool scrub», который просматривает и перечитывает все данные и проверяет контрольные суммы.
За последние несколько лет ZFS-FUSE показала мне хорошие результаты.
В далеком прошлом для клиента я реализовал систему базы данных, которая хранит информацию контрольной суммы для всех файлов, хранящихся в определенном каталоге. Затем у меня был другой скрипт, который периодически запускался и проверял файл по контрольной сумме, хранящейся в базе данных. При этом мы могли быстро обнаружить поврежденный файл и восстановить его из резервных копий. Мы в основном осуществляли те же виды проверок, что и ZFS внутри страны.