Archiwizacja plików danych i późniejsze sprawdzanie ich poprawności MD5

Na początku wyjaśnię, że backup i archiwizacja danych to nie to samo. Backup jest kopią bezpieczeństwa, czyli powinien zawierać obraz systemu operacyjnego i plików wytworzonych w przeciągu (przykładowo) ostatniego miesiąca. Natomiast archiwizacja danych to sposób zapisu danych, który ma nam umożliwić dostęp do nich przez wiele następnych lat. Jak widać stawka jest znacznie wyższa niż dla backupu.

W czasach gdy na Twoim dysku twardym znajduje się znaczna część Twej tożsamości, historii i wspomnień, archiwizacja danych jest zadaniem ważniejszym niż kiedykolwiek. Trzeba to robić bezpiecznie i rozważnie.

Należy przez to rozumieć:
[1] pewność, że zarchiwizowane dane na pewno nie uległy uszkodzeniu
[2]
mieć archiwum w przynajmniej dwóch egzemplarzach wykonanych różną technologią
[3]
przechowywać archiwum w różnych lokalizacjach

Najłatwiejszy do uzyskania jest warunek trzeci. Używam nawet takiego powiedzonka, że „kopia zapasowa, która znajduje się w miejscu wytworzenia – nie jest kopią zapasową”. To się naprawdę proszę Państwa zdarza: kradzież, pożar, zatopienie. Osobiście spotkałem się z przypadkiem kiedy spłonęła firmowa serwerownia. Byłem więc świadkiem jak łatwe było odtworzenie danych (a gdyby nie było z czego odtwarzać, to aż strach pomyśleć). W firmie tej pracowano na dwie zmiany i obowiązywała zasada, że wyznaczony pracownik zabiera wieczorem zaszyfrowany na twardym dysku backup do domu. Działo się to w czasach, gdy na biurkach stały modemy 14,4 kbit więc rozwiązanie było optymalne.
W dzisiejszych czasach, w warunkach domowych, warto by płyty z zarchiwizowanymi danymi trzymać w innym niż komputer pomieszczeniu np. garaż lub piwnica. W ostateczności inny pokój w domu. Natomiast kopią na dysku twardym radzę się… wymieniać. Stosuję to z moim znajomym informatykiem. Obaj systematycznie archiwizujemy na zaszyfrowanych dyskach i przechowujemy je sobie wzajemnie. W sumie takich wymian jest w roku nie więcej niż 3-4 więc żaden kłopot, a dają spory komfort.

Warunek drugi. Na dzień dzisiejszy, w zastosowaniach domowych. Wydaje się optymalnym rozwiązaniem, aby dane które mają być zarchiwizowane w sposób trwały były zdublowane: na dysku twardym + na płytach DVD lub BD. Natomiast dane backupowane, czyli te wykonywane o wiele częściej – na dwóch dyskach twardych.

Warunek pierwszy. Niewielu użytkowników komputerów wie, co to są „sumy kontrolne” lub „skróty danych”, takie jak MD5, SHA-1, SHA-2. Najkrócej mówiąc: z pliku o dowolnej wielkości tworzony jest kilkunastoznakowy skrót. Szczegóły są ładnie opisane w wikipedii. A dokładniej – program który tworzy skrót, odczytuje bajt po bajcie (czyli znak po znaku) plik wzorcowy i na podstawie każdego następnego bajtu modyfikuje utworzony poprzednim bajtem skrót. Po odczytaniu całego pliku wzorcowego ostateczny skrót jest zapisywany na dysku w pliku tekstowym. Nazwy MD5 i SHA-1 to nazwy algorytmów, według których wykonywane są obliczenia. Przykładowo, dla algorytmu MD5:

skrót napisu Ela to 79697C72C52B301AE0908CB4E1033DEA
skrót napisu Ala to 5C3BB83961C60315165392EBD7410E6F
skrót napisu Alu to A8C9C13BBA986F37048123EB1F405394

Jak widać zmiana choć jednego bajtu (czyli znaku) skutkuje całkowicie innym skrótem. Wprawny obserwator zapewne zauważy, że skoro skrót jest krótszy od większości plików, to dwa różne pliki mogą mieć taki sam skrót. I rzeczywiście jest to prawdopodobne, dokładnie 1 szansa na 3.4 ×1038. Czyli dość znikoma, kilka biliardów razy bardziej znikoma niż trafienie szóstki w totka.

Jak w praktyce korzystać ze skrótów ? Polecam program MD5Checker. Pliki, które mają zostać przeniesione do archiwum zbieram w katalogu M:\Zarchiwizuj. Przed nagraniem płyty lub przegraniem zgromadzonych danych na dysk archiwizacyjny – przeciągam foldery w okno MD5Checkera. Program automatycznie zaczyna obliczać sumy kontrolne dla każdego dostarczonego mu pliku. Przy gigabajtach danych trwa to oczywiście dość długo. Później wystarczy kliknąć w ikonę „S Each” i MD5Checker każdemu plikowi z archiwum utworzy w jego katalogu plik tekstowy z sumą kontrolną. Jeśli więc w katalogu Filmy znajdował się plik Wakacje.avi to przybędzie tam plik Wakacje.avi.md5

Tak spreparowany folder nagrywam na nośnik. Do weryfikacji, czy dane w archiwum nie uległy modyfikacji/uszkodzeniu też polecam MD5Checker. Podobnych programów jest wiele, natomiast MD5Checker pozwala wygodnie sprawdzać wiele katalogów i całe dyski za jednym zamachem. Wystarczy przeciągnąć foldery do sprawdzenia w okno MD5Checkera a on od razu rozpocznie weryfikację zapisanych na nośniku sum kontrolnych z aktualnie obliczonymi. Wygląda to tak:

Dlaczego sprawdzanie sum kontrolnych jest takie ważne ? Bo do zarchiwizowanych danych z zasady sięga się okazyjnie. Będziesz tam miał pewnie dziesiątki gigabajtów w tysiącach plików i możliwe, że nawet się nie dowiesz, że część z nich jest uszkodzona.

Sam doświadczyłem takiego kłopotu, gdy przenosiłem swoje archiwum z dysku 300GB na 2TB. Plan był taki, że nie będę trzymał archiwum na dwóch dyskach lecz na dysku 2TB + duplikaty na płytach BD. Niestety po czasie okazało się, że na dysku 300GB doszło zapewne kiedyś do awarii systemu plików a CHKDSK który automatycznie to „naprawił” połączył niektóre pliki na krzyż. W przypadku niektórych filmów dało to nawet dość ciekawy efekt „montażowy”, no ale co tu dużo mówić – bardzo niepożądany. Gdybym stosował wówczas weryfikację MD5, przed połączeniem archiwów sprawdziłbym ich poprawność. Te same dane, które były na dysku 300GB miałem też zarchiwizowane na innym twardzielu więc bez problemu wybrał bym prawidłową wersję.

Pamiętajmy, że sumy kontrolne pozwalają na wykrycie uszkodzeń ale nie chronią przed nimi. Dlatego nigdy nie powinno się pakować ZIPem lub RARem plików przeznaczonych do archiwizacji. Jeśli takie archiwum się uszkodzi jest bardzo prawdopodobne, że nic z niego nie odzyskasz.

Dlatego archiwizowane dane zawsze powinny być w przynajmniej dwóch egzemplarzach, najlepiej wykonanych różnymi technologiami. Od wielu lat archiwizuję dane na płytach CD, potem DVD i BD. Z mojego doświadczenia wynika, że niektóre płyty już po dwóch latach stają się nieczytelne. Potwierdza mi się opinia, że tanie płyty egzotycznych marek są kiepskie. Ja zawsze staram się korzystać z płyt Verbatim, a w ostatnich latach także Platinum, bo Verbatim zbyt wolno obniża ceny.

Postaram się kiedyś odczytać płyty nagrane około 1995 roku i napiszę które sprawiły się najlepiej.

Jest bardzo mądre powiedzenie, że informatycy dzielą się na tych, którzy robią kopie zapasowe i na tych, którzy będą je robić. Pamiętajmy jednak, że taka kopia gdzieś w szufladzie żyje własnym życiem. Więc albo będziesz ją co jakiś czas weryfikował albo… będziesz to robił później 😉 Lepiej być mądrym przed szkodą, w czym mam nadzieję ten wpis pomógł.

Dodaj komentarz