Anonim

Zaczęło się w sobotni wieczór, kiedy moja żona zapytała, dlaczego nasz DVR nagle przestał grać program, który oglądała. Powiedziałem jej, że to chyba tylko usterka, ale rzuciłbym okiem. Wchodzę do pokoju rodzinnego, aby sprawdzić, a błąd zasadniczo stwierdził, że dysk podstawowy nie był już dostępny. Niedobrze! To był początek mojej trzydniowej horroru…

Trochę tła

Mój DVR to tak naprawdę tylko specjalistyczne oprogramowanie (SageTV dla tych, którzy są ciekawi) działające na komputerze. Oprogramowanie jest bardzo elastyczne i pozwala oddzielić wszystkie jego różne aspekty. Mam osobną maszynę do scentralizowanego sterowania, planowania i nagrywania, osobne maszyny do odtwarzania i gwiazdę tej historii, osobną maszynę do przechowywania. Do przechowywania używam serwera plików Linux, wykorzystującego LVM (Logical Volume Manager) do agregowania wielu oddzielnych, nieidentycznych dysków w jeden duży (~ 6 TB obecnie) dysk logiczny widziany przez system operacyjny. Ponieważ tworzenie kopii zapasowych wielu TB danych jest niepraktyczne, a ponieważ wspomniane dane to „tylko” programy telewizyjne, moją filozofią tworzenia kopii zapasowych zawsze było to, żeby się tym nie przejmować. Do niedawnych wydarzeń ta filozofia nie była testowana przez rzeczywiste wydarzenie.

Próba odzyskania danych

Po zauważeniu błędu w rejestratorze natychmiast zaczynam patrzeć na serwer pamięci. System plików jest niezwykle powolny i wolno reaguje, więc pytam LVM o stan dysków fizycznych leżących u podstaw jego woluminu logicznego. Po długim czasie pojawia się komunikat, że brakuje dysku o pojemności 750 GB. O o! Ponownie uruchamiam serwer i, co zaskakujące, dysk wraca. Wydaję polecenie pvmove, aby automatycznie migrować wszystkie dane z tego dysku, ale nie powiedzie się to przy ukończeniu mniej niż 2%.

W obliczu dysku, który jest bardzo niechętny do odczytywania swoich danych, ale przynajmniej pojawia się w BIOS-ie, zwracam się do mojego ulubionego narzędzia do odzyskiwania dysku, Spinrite. Chociaż Spinrite zwykle uruchamia się z nośników wymiennych, lata temu skonfigurowałem uruchamianie sieciowe w moim domu dla różnych narzędzi, więc nie musiałem się martwić o śledzenie jakichkolwiek nośników. Zwykle po prostu łączę się z moją siecią, wybieram boot z sieci i mam do dyspozycji różnorodne narzędzia do rozwiązywania wielu problemów. Problem polega na tym, że maszyna, która sprawia, że ​​cała ta magiczna praca działa, jest tą samą maszyną, która obecnie nie działa. Nic wielkiego, mówię, po prostu uruchomię z płyty Spinrite. Z wyjątkiem kilku lat temu napęd optyczny na moim serwerze plików zrezygnował z ducha. W tym czasie zdecydowałem, że ponieważ nigdy nie używam nośników optycznych w tym urządzeniu, nie muszę go wymieniać. Nie martw się, powiedziałem sobie, po prostu wyjmę napęd optyczny z mojego głównego komputera. Wyłączam główny komputer i wyjmuję napęd optyczny. Następnie szukam mojej płyty rozruchowej Spinrite. Nie mogę tego znaleźć! Kilka miesięcy temu przeprowadziliśmy się do nowego domu, więc wszystko jest w nieładzie. Myślę, że po prostu wypalę nową kopię, ale nie mogę nawet znaleźć pustych nośników optycznych! Na następny plan, bootowalny dysk flash! Po kilku minutach w Google, aby odświeżyć pamięć, mam rozruchową pamięć flash Spinrite. Odpalam z tego Linux-a i uruchamiam Spinrite. Komputer zawiesza się i wydaje się, że ulega awarii. Starając się wyeliminować zmienne, zmieniam zły napęd z podłączenia do karty rozszerzeń PCI-e na podłączenie bezpośrednio do płyty głównej. Teraz Spinrite uruchamia się dobrze, ale zajmuje wieki, aby wyliczyć podłączone do niego dyski. Systematycznie odłączam wszystkie inne dyski oprócz złego, ale nigdy nie kończy się liczenie dysków bez względu na to, jak długo będę czekać. Na następny plan! Wyjmuję dysk z mojego Linux-a, podłączam go do głównego komputera i uruchamiam z nowego błyszczącego dysku flash Spinrite. Spinrite uruchamia się i natychmiast widzi dysk, i mówię mu, aby zaczął odzyskiwać dane, zadowolony, że w końcu robię postępy. Wracam do sprawdzenia po około 10 minutach, na ekranie pojawia się błąd i wygląda na to, że dysk ponownie zniknął. Sfrustrowany, próbuję jeszcze kilka razy i mówię Spinrite, aby zaczął od różnych części dysku, ale za każdym razem uzyskuję ten sam wynik. Wygląda na to, że to mi nie pomoże.

W przypływie irracjonalnej nadziei włożyłem dysk z powrotem do mojego Linux-a i włączyłem go. Ku mojemu zdziwieniu napęd pokazuje się, a LVM aktywuje wszystko. Kontynuując próbę szczęścia, wydaje kolejne polecenie pvmove, aby ponownie spróbować przenieść dane z dysku. Na samym początku widzę komunikaty o błędach dotyczące niemożności odczytu z dysku, ale co zaskakujące, pvmove kontynuuje postępy, zbliżając się i zbliżając do ukończenia w 100%. Ogarnia mnie mieszanina zmieszania, ulgi i podniecenia. Czy zamierzam uciec od tego bez szwanku? Niestety, ostatnią rzeczą, którą LVM robi pod przykryciem, aby dokładnie zakończyć pvmove, jest zapisanie zaktualizowanego dziennika na wszystkich kontrolowanych dyskach. To oczywiście kończy się niepowodzeniem, gdy próbuje zapisać na zły dysk, a tym samym przerywa cały proces. Porażka znów wyrwana z paszczy zwycięstwa! Wskakuję z powrotem do Google i odkrywam, że można kontrolować, ile danych przesuwa polecenie pvmove zamiast przenosić WSZYSTKIE dane w jednym ujęciu. Eksperymentuję z tym i odnoszę duży sukces, przenosząc jednocześnie niewielką część moich danych. Robię się chciwy, a dysk znika kilka razy, ale zawsze wraca po cyklu zasilania komputera. Teoretycznie, że być może tylko niektóre części dysku są złe, zaczynam skakać zamiast pracować na początku dysku. Po kilku powtórzeniach mam prawie 40 GB z 750 GB bezpiecznie przeniesionych z dysku. W przypadku pozostałych 40 GB nie udało się przenieść, bez względu na to, co próbowałem. Był już niedzielny wieczór i byłem wykończony, więc postanowiłem położyć się spać i zająć się tym problemem bardziej następnego dnia.

Następnego dnia, po pewnym czasie snu i pierwszej połowie dnia w pracy, postanowiłem po prostu ugryźć kulę, ponieważ nie dbałem o ostatnie 40 GB nagranych programów telewizyjnych i zabrałem się do usuwania napędu z mojej konfiguracji LVM . Robiłem to już wiele razy, więc idzie całkiem gładko. Następnie na liście czyszczenia znajduje się naprawa dziury w środku systemu plików. Myślę, że brakuje tylko 40 GB zamiast 750 GB, to nie może być takie złe, prawda? Źle! Po naprawie miałem 900 GB dodatkowej wolnej przestrzeni w porównaniu do przed rozpoczęciem próby, więc mocno mnie ugryzło. No cóż, mówię sobie, to i tak był tylko telewizor. Mój rejestrator cyfrowy wreszcie działa ponownie po trzydniowej przerwie i mogę wreszcie przestać o tym myśleć z każdym wolnym cyklem mózgu.

Zdobyta wiedza

Czego się nauczyłem z tego wszystkiego? Powinienem był lepiej wykonać to, co naprawdę miało znaczenie. Stało się to kilka tygodni temu i w tym czasie nie przegapiłem żadnej treści telewizyjnej, która zniknęła. Żałuję jednak, że nie pozwoliłem sobie, ale - co ważniejsze - mojej rodzinie, móc korzystać z telewizora przez trzy dni i że znalazłem się w trybie kryzysowym o wysokim stresie przez te trzy dni. Gdybym zrezygnował z odzyskiwania danych na początku, funkcja zostałaby przywrócona za około godzinę, a nie za trzy dni. Wiem zbyt dobrze, że przez większość czasu nasze dane są cenne, ale w tej sytuacji tak nie było.

Po drugie, jeśli twoje dane są naprawdę cenne, a 99% czasu jest naprawdę potrzebne, musisz je chronić! Utwórz kopię zapasową danych, nie ma wymówek. W przypadku moich danych, które są niezastąpione, jak tysiące zdjęć mojego syna, które mam na komputerze, tworzę kopię zapasową w co najmniej trzech miejscach, z których jedno jest dostawcą kopii zapasowych w chmurze. Jeśli chodzi o pamięć DVR, nadal nie sądzę, aby tworzenie kopii zapasowej było możliwe w chmurze, ale biorąc pod uwagę cenę dysków w dzisiejszych czasach, nie mam usprawiedliwienia, że ​​nie mam jej chronionej przez RAID, i po prostu zamierzać zrobić. Kiedy po raz pierwszy konfigurowałem klaster pamięci wiele lat temu, myślę, że zajęło mi 10 dysków lub więcej, aby dostać się do puli wielu TB. Właśnie sprawdziłem ceny, a teraz możesz kupić dysk 3 TB za mniej niż 100 USD. Po prostu nie mam usprawiedliwienia dla pozostawienia moich danych bez ochrony, a jeśli taka utrata danych znów mi się przytrafi, to naprawdę moja wina.

Opowieść o smutku, frustracji i utracie danych