Какие форматы файлов архива обеспечивают защиту от повреждения файлов?

Я использую внешний жесткий диск для резервного копирования файлов, помещая их в большие архивные файлы.

У меня есть тысячи крошечных файлов, и поместите их в архивы размером от 500 МБ до 4,2 ГБ, прежде чем отправлять их на внешний жесткий диск. Но один сбой жесткого диска уничтожает весь архив или только один файл в архиве? Я боюсь, что один перевернутый бит может сделать большую часть архива бесполезной.

такие вещи, как CRC проверки могут предупредить вас о существовании коррупции, но меня больше интересует возможность восстановления неповрежденных файлов из поврежденного архива. Какие форматы архивных файлов обеспечивают наилучшую возможность восстановления после таких сбоев, либо за счет собственного дизайна структуры архива, либо за счет наличия дополнительных инструментов восстановления? Есть ли разница в этой возможности между zip и iso файлами?

3 ответа:

учитывая, что повреждение части каталога любого архива потенциально может сделать весь архив бесполезным, лучше всего было бы добавить отдельный шаг в процесс резервного копирования для создания так называемого файлы четности. В случае повреждения блока данных в исходном файле он может быть восстановлен путем объединения данных из файла четности с допустимыми блоками из исходного файла.

переменная там будет, сколько повреждений вы хотели бы иметь возможность восстановить. Если вы хотите, чтобы защитить от одного бита флип, то ваш файл четности будет только 1 бит в размере. Если вы хотите что-то в мелодии размера сектора диска, то, очевидно, это будет стоить вам больше.

за этим стоит большая теория (см. Вперед Исправление Ошибок) и широко используется на практике. Например, так компакт-диски могут выдерживать определенную степень царапин и как сотовые телефоны могут поддерживать разумное качество вызова по потерям подключение.

короче говоря, взгляните на .par файлы.

Bup [1] создает резервные копии и автоматически добавляет избыточность четности, что делает бит-rot крайне маловероятным. Катастрофический отказ диска все еще вещь, поэтому мы можем использовать его с git-приложением.

git-annex [2] управляет файлами, хранящимися во многих репозиториях, некоторые из которых могут храниться на вашем компьютере, флэш-накопителях, SSH-логине, некоторых облачных сервисах или хранилище резервных копий bup [3], позволяя потоку данных файла в значительной степени прозрачно по запросу или автоматически в любой репозиторий все готово. Это также финансируемый толпой бесплатный проект с открытым исходным кодом, который был написан на Haskell с версиями, работающими на многих платформах, включая linux, mac, windows и android.

[1] https://github.com/bup/bup

[2] http://git-annex.branchable.com/

[3] http://git-annex.branchable.com/special_remotes/bup/

но один сбой жесткого диска уничтожает весь архив или только один файл в архиве?

Если действительно нет альтернативы копированию всего как одного большого архива, вам, вероятно, придется принять решение между использованием сжатого или несжатого архива.

содержимое несжатых архивов, как tarballs все еще может быть обнаружен с помощью программного обеспечения для восстановления файлов, даже если сам файл архива больше не может быть прочитан (например из-за поврежденного заголовка).

использование сжатых архивов может быть опасным, потому что некоторые могут отказаться извлекать файлы, если возникает ошибка контрольной суммы, которая может быть вызвана, даже если изменяется только один бит файла архива.

gzip *
tar cf archive.tar *.gz

хотя я никогда не видел много gzipped файлов в tarball в дикой природы, прежде чем. Популярно только обратное (т. е.GZ файлы).

есть ли разница между zip и iso файлами?

ZIP-это (в основном, но не обязательно) сжатый архив, а ISO-это формат, который указывает на необработанные данные, скопированные на низкоуровневой основе с оптического диска в файл. Последний может содержать буквально все.