Я использую свой внешний жесткий диск для резервного копирования файлов, помещая их в большие архивные файлы.
У меня есть тысячи крошечных файлов, и я отправляю их в архивы размером от 500 МБ до 4,2 ГБ перед отправкой на внешний жесткий диск. Но один сбой жесткого диска уничтожает весь архив или только один файл в архиве? Я боюсь, что один перевернутый бит может сделать бесполезными большие части архива.
Такие вещи, как проверки CRC, могут предупредить вас о существовании повреждения, но меня больше интересует возможность восстановления неповрежденных файлов из поврежденного архива. Какие форматы архивных файлов обеспечат наилучшую возможность восстановления после таких сбоев, либо благодаря собственному дизайну структуры архива, либо наличию дополнительных инструментов восстановления? Есть ли разница в этой возможности между файлами zip и iso?
источник
Ответы:
Учитывая, что повреждение части каталога любого архива потенциально может сделать весь архив бесполезным, лучше всего было бы добавить отдельный шаг в процесс резервного копирования для создания так называемых файлов четности . Если блок данных в исходном файле поврежден, его можно восстановить, объединив данные из файла четности с действительными блоками из исходного файла.
Переменная там будет, сколько урона вы хотели бы восстановить. Если вы хотите защитить от переворота в один бит, тогда ваш файл четности будет иметь размер всего 1 бит. Если вы хотите что-то в размере сектора диска, то, очевидно, это будет стоить вам дороже.
За этим стоит большая теория (см. Прямое исправление ошибок ), и она широко используется на практике. Например, это то, как компакт-диски могут противостоять определенной степени царапин и как сотовые телефоны могут поддерживать приемлемое качество вызовов по сравнению с соединениями с потерями.
Короче говоря, посмотрите на
.par
файлы.источник
Bup [1] выполняет резервное копирование и автоматически добавляет избыточность по четности, что делает бит-гниль крайне маловероятным. Катастрофический сбой диска - все еще вещь, поэтому мы можем использовать его с git-annex.
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, все еще можно обнаружить с помощью программного обеспечения для восстановления файлов, даже если сам файл архива больше не может быть прочитан (например, из-за поврежденного заголовка).
Использование сжатых архивов может быть опасным, поскольку некоторые могут отказаться извлекать файлы, если возникает ошибка контрольной суммы, которая может быть вызвана, даже если изменяется только один бит файла архива.
Конечно, можно минимизировать риск, храня не сотни файлов в одном сжатом архиве, а сотни сжатых файлов в одном несжатом архиве.
Хотя я никогда не видел много сжатых файлов в тарболле в дикой природе. Популярно только обратное (т.е. файлы tar.gz).
ZIP - это (в основном, но не обязательно) сжатый архив, а ISO - это формат, который указывает необработанные данные, низкоуровневые данные, скопированные с оптического диска в файл. Последний может содержать буквально все.
источник