Vài năm trước tôi có những yêu cầu giống như bạn. Giải pháp tôi chọn là sử dụng ZFS thông qua trình điều khiển ZFS-FUSE trên máy chủ lưu trữ của tôi. Suy nghĩ của tôi là ảnh cá nhân, tài liệu được quét và các tệp tương tự khác là những thứ mà tôi chỉ có thể truy cập đôi khi, vì vậy có thể là một thời gian rất dài, nói một năm hoặc hơn, trước khi tôi nhận thấy rằng một tệp đã bị hỏng do một lỗi ổ đĩa hoặc tương tự.
Vào thời điểm đó, tất cả các bản sao lưu mà tôi có có thể là phiên bản bị xé nhỏ của tệp này.
ZFS có lợi ích hơn RAID-5 ở chỗ nó có thể phát hiện và sửa chữa các lỗi trong dữ liệu được lưu trữ trên các đĩa riêng lẻ, ngay cả khi các ổ đĩa không báo lỗi đọc trong khi đọc dữ liệu. Nó sẽ phát hiện, thông qua tổng kiểm tra, rằng một trong những đĩa trả về thông tin bị hỏng và sẽ sử dụng dữ liệu dư thừa để sửa chữa đĩa đó.
Do cách thức kiểm tra trong ZFS được thiết kế, tôi cảm thấy rằng tôi có thể dựa vào nó để lưu trữ dữ liệu được sử dụng không thường xuyên trong thời gian dài. Mỗi tuần tôi chạy một "zpool chà" đi qua và đọc lại tất cả dữ liệu và xác minh tổng kiểm tra.
ZFS-FUSE đã hoạt động khá tốt đối với tôi trong vài năm qua.
Trước đây, đối với một khách hàng, tôi đã triển khai một hệ thống cơ sở dữ liệu lưu trữ thông tin tổng kiểm tra trên tất cả các tệp được lưu trữ trong một thư mục cụ thể. Sau đó tôi đã có một tập lệnh khác sẽ chạy định kỳ và kiểm tra tệp dựa trên tổng kiểm tra được lưu trữ trong cơ sở dữ liệu. Với điều đó, chúng tôi có thể nhanh chóng phát hiện một tệp bị hỏng và khôi phục từ bản sao lưu. Về cơ bản chúng tôi đã thực hiện các loại kiểm tra tương tự mà ZFS thực hiện trong nội bộ.