Які формати архівів файлів забезпечують захист відновлення від пошкодження файлів?


10

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

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

Такі речі, як перевірка CRC, можуть попереджати про наявність корупції, але мене більше цікавить можливість відновлення непошкоджених файлів із пошкодженого архіву. Які формати архівних файлів забезпечували б найкращу можливість відновлення після таких збоїв, як за допомогою власного дизайну архівної структури, так і через наявність додаткових інструментів відновлення? Чи є різниця в цій можливості між zip та iso файлами?


Я знаю, що принаймні одна з програм, які я використовую для синхронізації файлів, підтримує багатопотокове копіювання, що, на мою думку, зменшує деяку повільність копіювання безлічі малих файлів; Крім того, хоча мені доведеться перевірити, я маю підозру, що створення архіву безлічі невеликих файлів також займе більше часу, ніж створення архіву для кількох великих файлів, навіть якщо не використовується компресія. Я не пам'ятаю, чи це проблема лише для Windows, чи ні; iirc, є кілька програмних рішень для Linux, які можуть обробляти безліч невеликих файлів у блоках, але я не можу згадати деталі.
JAB

Повторіть запитання. Я переформулював це, і зараз має бути зрозуміліше. "Найкраще" завжди буде дещо орієнтоване на думку, але вимога бути найкращим тут цілком чітка. Маленька кімната для особистої думки ІМХО. Видаліть цей коментар після повторного відкриття.
Марсель

Відповіді:


8

Зважаючи на те, що пошкодження директорійної частини будь-якого архіву потенційно може зробити весь архів марним, найкращим варіантом буде додати окремий крок до процесу резервного копіювання для створення так званих файлів парності . У випадку, якщо блок даних у вихідному файлі пошкоджений, його можна реконструювати, поєднавши дані з файлу парності з дійсними блоками з вихідного файлу.

Змінної величини було б скільки шкоди ви хотіли б відремонтувати. Якщо ви хочете захистити від одного бітового фліп, то ваш паритетний файл буде розміром всього 1 біт. Якщо ви хочете щось в тон розміру дискового сектора, очевидно, це, очевидно, обійдеться вам дорожче.

За цим стоїть велика теорія (див. Вперед виправлення помилок ), і вона широко використовується на практиці. Наприклад, це те, як компакт-диски можуть витримати певний ступінь подряпин і як мобільні телефони можуть підтримувати розумну якість дзвінків над втратними з'єднаннями.

Довга коротка історія, погляньте на .parфайли.


1
Дякую, під час пошуку файлів парності я знайшов запис відновлення WinRAR простішим у щоденному використанні. Я також спробую QuickPar.
сімкуль

2
Одного біта даних виправлення помилок недостатньо для виправлення однобітної помилки у вашому n-бітовому файлі даних. Ви можете виявити таку помилку за допомогою одного біта, але для її усунення потрібні принаймні n n бітів.
Том Сміт

4

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/


3

Але чи одна помилка жорсткого диска знищує весь архів або лише один файл в архіві?

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

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

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

Звичайно, можна мінімізувати ризик, не зберігаючи сотні файлів в одному стисненому архіві, але сотні стислих файлів в одному нестисненому архіві.

gzip *
tar cf archive.tar *.gz

Хоча я ще ніколи не бачив багато gzipped файлів у тарболі в дикій природі. Популярне лише навпаки (тобто файли tar.gz).

Чи є різниця між zip та iso файлами?

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.