Jakie formaty plików archiwów zapewniają ochronę odzyskiwania przed uszkodzeniem plików?

10

Używam zewnętrznego dysku twardego do tworzenia kopii zapasowych plików, umieszczając je w dużych plikach archiwalnych.

Mam tysiące maleńkich plików i umieszczam je w archiwach o wielkości od 500 MB do 4,2 GB przed wysłaniem ich na zewnętrzny dysk twardy. Ale czy jedna awaria dysku twardego niszczy całe archiwum, czy tylko jeden plik w archiwum? Obawiam się, że jeden odwrócony bit może uczynić dużą część archiwum bezużyteczną.

Rzeczy takie jak kontrole CRC mogą ostrzegać o istnieniu uszkodzenia, ale bardziej interesuje mnie możliwość odzyskania nieuszkodzonych plików z uszkodzonego archiwum. Jakie formaty plików archiwów zapewniłyby najlepszą możliwość odzyskiwania po takich awariach, zarówno poprzez natywny projekt struktury archiwum, jak i istnienie dodatkowych narzędzi do odzyskiwania? Czy jest jakaś różnica w tej możliwości między plikami zip i ISO?

sevenkul
źródło
Wiem, że co najmniej jeden z programów, których używam do synchronizacji plików, obsługuje kopiowanie wielowątkowe, co, jak sądzę, łagodzi powolność kopiowania wielu małych plików; Ponadto, chociaż musiałbym przetestować, aby mieć pewność, podejrzewam, że utworzenie archiwum wielu małych plików zajęłoby więcej czasu niż utworzenie archiwum dla wielu dużych plików, nawet jeśli nie zostanie użyta kompresja. Nie pamiętam jednak, czy dotyczy to wyłącznie systemu Windows, czy nie; iirc, istnieją pewne rozwiązania programowe dla Linuksa, które mogą obsługiwać wiele małych plików w blokach, ale nie pamiętam szczegółów.
JAB
Otwórz ponownie pytanie. Przeredagowałem to i powinno być teraz bardziej jasne. „Najlepsze” zawsze będzie w pewnym stopniu oparte na opiniach, ale wymóg bycia najlepszym tutaj jest dość jasny. Mało miejsca na osobiste opinie IMHO. Usuń ten komentarz po ponownym otwarciu.
Marcel

Odpowiedzi:

8

Biorąc pod uwagę, że uszkodzenie części katalogu dowolnego archiwum może potencjalnie uczynić całe archiwum bezużytecznym, najlepszym rozwiązaniem byłoby dodanie osobnego kroku do procesu tworzenia kopii zapasowej w celu wygenerowania tak zwanych plików parzystości . W przypadku uszkodzenia bloku danych w oryginalnym pliku można go zrekonstruować, łącząc dane z pliku parzystości z prawidłowymi blokami z pliku oryginalnego.

Zmienna określa, ile szkód chcesz naprawić. Jeśli chcesz zabezpieczyć się przed pojedynczym odwróceniem bitowym, plik parzystości będzie miał tylko 1 bit. Jeśli chcesz coś w rozmiarze wielkości dysku, to oczywiście będzie cię to więcej kosztować.

Stoi za tym duża teoria (patrz Forward Error Correction ) i jest ona szeroko stosowana w praktyce. Na przykład w ten sposób płyty CD mogą wytrzymać pewien stopień zarysowania i w jaki sposób telefony komórkowe mogą utrzymywać rozsądną jakość połączeń w przypadku utraty połączeń.

Krótko mówiąc, spójrz na .parpliki.

Angstrom
źródło
1
Dzięki, podczas wyszukiwania plików parzystości, rekord odzyskiwania WinRAR był łatwiejszy w codziennym użytkowaniu. Spróbuję również QuickPar.
sevenkul
2
Jeden bit danych korekcji błędów nie jest wystarczający, aby naprawić jednobitowy błąd w pliku danych n-bitowych. Możesz wykryć taki błąd za pomocą jednego bitu, ale aby go naprawić, potrzebujesz co najmniej log n bitów.
Thom Smith
4

Bup [1] tworzy kopie zapasowe rzeczy i automatycznie dodaje redundancję parzystości, przez co bardzo mało prawdopodobne jest gnicie bitów. Katastrofalna awaria dysku wciąż jest problemem, więc możemy go używać z git-annexem.

git-annex [2] zarządza plikami przechowywanymi w wielu repozytoriach, z których niektóre mogą być przechowywane na twoim komputerze, dyskach USB, loginach ssh, niektórych usługach w chmurze lub repozytorium kopii zapasowych bup [3], pozwalając na przepływ danych w bardzo przejrzysty sposób na żądanie lub automatycznie w dowolnym repozytorium, które ustawiłeś. To także finansowany przez tłum darmowy i otwarty projekt oprogramowania napisany w Haskell z wersjami działającymi na wielu platformach, w tym Linux, Mac, Windows i Android.

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

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

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

Yuval Langer
źródło
3

Ale czy jedna awaria dysku twardego niszczy całe archiwum, czy tylko jeden plik w archiwum?

Jeśli naprawdę nie ma alternatywy dla kopiowania wszystkiego jako jednego dużego archiwum, prawdopodobnie musisz podjąć decyzję pomiędzy użyciem skompresowanego lub nieskompresowanego archiwum.

Zawartość nieskompresowanych archiwów, takich jak tarballi, można nadal wykryć za pomocą oprogramowania do odzyskiwania plików, nawet jeśli sam plik archiwum nie może być już odczytany (np. Z powodu uszkodzonego nagłówka).

Korzystanie ze skompresowanych archiwów może być niebezpieczne, ponieważ niektóre z nich mogą odmówić wyodrębnienia plików, jeśli wystąpi błąd sumy kontrolnej, który może być spowodowany, nawet jeśli zmieni się tylko jeden bit pliku archiwum.

Oczywiście można zminimalizować ryzyko, nie przechowując setek plików w jednym skompresowanym archiwum, ale setki skompresowanych plików w jednym nieskompresowanym archiwum.

gzip *
tar cf archive.tar *.gz

Chociaż nigdy wcześniej nie widziałem wielu zgzipowanych plików w tarballu w dzikiej przyrodzie. Popularne jest tylko przeciwieństwo (tzn. Pliki tar.gz).

Czy jest jakaś różnica między plikami zip i ISO?

ZIP to (głównie, ale niekoniecznie) skompresowane archiwum, a ISO to format wskazujący surowe dane skopiowane na niskim poziomie z dysku optycznego do pliku. Ten ostatni może zawierać dosłownie wszystko.

dulange
źródło