На моем сервере хранится большой набор данных на диске. Меня беспокоит возможность того, что данные будут незаметно искажены на протяжении многих лет, и никто этого не заметит. Моя идея заключалась в том, чтобы сгенерировать «данные для восстановления» для этого файла, чтобы я мог восстанавливать небольшие повреждения, такие как файлы .rar (winrar может добавлять данные для восстановления или тома для восстановления). Есть ли какой-либо инструмент для создания данных для восстановления без изменения самих файлов?
par2
кажется, наиболее часто используется для этого, многие люди используют его при записи DVD или компакт-дисков, где данные в конечном итоге ухудшатся, но маловероятно, что весь диск станет непригодным для использования сразу. Не говоря уже о математике, он работает путем виртуального разделения файлов на «блоки», а затем создает файлы восстановления par2 на основе этих блоков. Чтобы восстановить поврежденные данные, в системе должно быть столько уникальных блоков файлов восстановления, сколько есть плохих блоков данных, чтобы восстановить какие-либо из них (т. Е. Если у вас есть 9 блоков файлов с обычным значением и 10 блоков с плохими данными, ничего можно сделать вообще).
Для компакт-дисков и DVD-дисков люди производят наборы восстановления с высокой степенью избыточности и записывают набор блоков на несколько дисков, ожидая, что маловероятно, что данный блок будет поврежден на каждом отдельном компакт-диске. При 100% избыточности исходный файл может быть воссоздан только из файлов par, но файлы par займут вдвое больше места на диске, чем исходные данные (плюс накладные расходы).
В вашем случае я был бы уверен, что файлы par хранятся отдельно от набора данных, чтобы событие не могло испортить оба набора данных одновременно. Кроме того, создание архивных файлов в первую очередь - это функция, интенсивно использующая ЦП ... при 100% простаивающему серверу 2 ГГц потребовалось 18,8 секунды для создания файлов par для одного файла размером 3,7 МБ.