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?
źródło
Odpowiedzi:
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
.par
pliki.źródło
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/
źródło
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.
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).
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.
źródło