Kopia bez testu jest tylko założeniem
Zielone znaczniki w konsoli backupu mówią o jednej rzeczy. Zadanie się wykonało i skończyło bez błędu. Nie mówią, czy z tej kopii wstanie działająca usługa, do której zaloguje się człowiek i wykona swoją pracę.
Między jednym a drugim jest przepaść, a ujawnia się ona zawsze w najgorszym możliwym momencie. W dniu awarii, przy ludziach czekających na system i przy telefonach od klientów. Kopia, której nigdy nie odtworzono, nie jest zabezpieczeniem. Jest założeniem.
Powód tej przepaści jest prozaiczny. Oprogramowanie do kopii raportuje własną pracę, czyli to, czy udało się odczytać dane i zapisać je w kopii. Nie ocenia, czy w kopii znalazło się wszystko, co jest potrzebne do postawienia usługi od zera, bo nie ma skąd tego wiedzieć. Wie to tylko ten, kto tę usługę utrzymuje, i tylko wtedy, gdy raz spróbował ją odtworzyć.
Widać to nawet w branżowych regułach. Klasyczna zasada 3-2-1 mówi o trzech kopiach danych na dwóch rodzajach nośnika, z jedną kopią poza siedzibą. Jej nowsza wersja, 3-2-1-1-0, dokłada kopię odciętą od sieci oraz zero błędów, gdzie to zero oznacza kopie sprawdzane regularnym odtwarzaniem. Test nie jest dodatkiem do backupu. Jest jego częścią.
Test pliku a test całej usługi
To dwie zupełnie różne rzeczy, a bardzo często nazywa się je tym samym słowem.
Odtworzenie pliku dowodzi, że nośnik żyje, katalog kopii jest spójny i dane dają się wyjąć. Zajmuje kilka minut i wystarcza do tego jedna osoba. Test pożyteczny, ale bardzo wąski.
Odtworzenie usługi dowodzi czegoś zupełnie innego, bo sprawdza cały łańcuch. Maszynę, system, konfigurację, bazę danych, konta i uprawnienia, licencję, adresację, certyfikat oraz powiązania z innymi systemami. Zajmuje godziny i wymaga kilku osób. Dopiero ten test odpowiada na pytanie, które naprawdę zadaje zarząd, czyli czy firma wróci do pracy.
Większość firm, które mówią, że mają przetestowany backup, testowała pliki.
Jak wygląda test odtworzenia
Test odtworzenia to zaplanowane ćwiczenie z ustalonym zakresem, a nie próba postawienia wszystkiego naraz. Ma cztery elementy i żadnego z nich nie da się pominąć.
Co odtwarzamy. Wybiera się to, czego brak zatrzymuje firmę najszybciej. Zwykle jest to jeden system z bazą danych, poczta albo serwer plików, a nie cała serwerownia.
Dokąd odtwarzamy. Do środowiska izolowanego, czyli osobnej sieci bez trasy do produkcji. To nie jest formalność. Przywrócony serwer nie wie, że jest kopią. Zacznie odbierać pocztę, pisać do bazy, replikować się i wysyłać dane na zewnątrz, jeżeli mu na to pozwolimy.
Jak mierzymy czas i kto potwierdza wynik. Czas liczy się od decyzji o odtworzeniu do chwili, w której ktoś realnie pracuje w systemie, a nie od startu zadania do końca kopiowania danych. Kompletność potwierdza osoba, która w tym systemie pracuje codziennie, a nie administrator. Księgowa otwiera dokument z konkretnego dnia. Handlowiec szuka swojej oferty. Administrator zobaczy, że usługa działa, ale nie zobaczy, że brakuje danych z dwóch ostatnich dni.
Co najczęściej wychodzi przy pierwszym teście
Pierwszy test prawie nigdy nie idzie gładko i w tym jest cała jego wartość. Rzeczy, które pojawiają się regularnie:
- usługa wstaje, ale czeka na kontroler domeny, serwer licencji albo inny system, którego nikt nie wpisał na listę do odtworzenia,
- hasło do konta serwisowego zostało ustawione raz, przy wdrożeniu, przez osobę, która już tu nie pracuje, więc kopia jest, a hasła nie ma,
- kopia bazy danych nie zawiera logów transakcyjnych, więc baza wstaje w stanie z ostatniego pełnego zrzutu, a nie z chwili sprzed awarii,
- backup maszyny nie obejmuje konfiguracji sieci, więc maszyna działa, ale nie ma adresacji, VLAN-u, reguł na firewallu ani publikacji usługi i nikt się do niej nie dostanie,
- nikt nie wie, w jakiej kolejności usługi mają wstawać, więc blokują się wzajemnie,
- certyfikat wygasł albo licencja jest przypięta do starego sprzętu, więc usługa startuje i od razu odmawia pracy.
Żadnej z tych rzeczy nie widać w konsoli backupu. Wszystkie widać w pierwszej godzinie testu.
Wnioski z pierwszego testu są warte więcej niż sam jego wynik, bo każdą z tych rzeczy da się naprawić z wyprzedzeniem. Brakujący system dopisuje się do zakresu kopii. Hasła kont serwisowych przenosi się do firmowego menedżera haseł. Kopię logów transakcyjnych po prostu się włącza. Adresację, reguły i kolejność startu opisuje się na papierze, raz. Naprawa przed awarią kosztuje kilka godzin pracy. Ta sama naprawa w trakcie awarii kosztuje dzień pracy całej firmy.
Za wolno to też wynik negatywny
Bywa, że test kończy się sukcesem i mimo to jest porażką. Dane są kompletne, usługa działa, tylko odtworzenie trwało kilka razy dłużej, niż zakładał ktokolwiek w firmie.
Dlatego czas jest wynikiem testu dokładnie tak samo jak kompletność danych. I dlatego trzeba go zmierzyć przed awarią, a nie w jej trakcie. Kiedy zna się prawdziwą liczbę, są trzy wyjścia: zmienić sposób przechowywania kopii, przygotować szybszą drogę odtworzenia dla najważniejszych systemów, albo świadomie przyjąć ten czas i powiedzieć o nim ludziom w firmie. Każde z nich jest lepsze niż poznawanie prawdy w piątek wieczorem.
Z pomiaru czasu wynika też kolejność. Skoro nie wszystko wstaje jednocześnie, ktoś musi zdecydować, co wstaje pierwsze. To decyzja biznesowa, nie techniczna, i lepiej podjąć ją na spokojnie.
Zmierzony czas powinien znać też ktoś poza działem IT. Osoba, która odpowiada za firmę, zupełnie inaczej czyta zdanie o odtwarzaniu trwającym pół dnia niż wykres w konsoli backupu. I tylko ona może powiedzieć, czy pół dnia jest do przyjęcia, czy trzeba zapłacić za skrócenie tego czasu.
Jak często testować
Jednorazowy test daje spokój na jeden dzień. Środowisko się zmienia, więc wynik z zeszłego roku mówi o zeszłym roku.
Rozsądny rytm ma dwie prędkości. Mały test, czyli odtworzenie pliku albo jednej maszyny, robi się często i szybko. Duży test, czyli odtworzenie całej usługi z potwierdzeniem przez użytkownika, robi się rzadziej, ale z zaplanowanym terminem i przygotowaniem.
Niezależnie od rytmu są zdarzenia, po których test trzeba powtórzyć:
- dołożenie nowego systemu albo nowej maszyny do środowiska,
- zmiana wersji systemu, bazy danych albo oprogramowania do kopii,
- zmiana miejsca przechowywania kopii albo czasu ich trzymania,
- zmiana adresacji, firewalla albo sposobu publikacji usługi,
- zmiana osób, które mają dostęp do konsoli kopii.
Reguła jest prosta. Jeżeli zmieniło się coś, co miałoby wpływ na odtwarzanie, to właśnie zmieniło się coś, co unieważnia poprzedni test.
Co zapisać w protokole
Test bez zapisu jest anegdotą. Protokół nie musi być długi, ale musi być powtarzalny, żeby po roku dało się porównać dwa testy.
Co powinien zawierać:
- datę testu i osoby, które w nim brały udział,
- co odtwarzano i z której kopii, wraz z datą tej kopii,
- dokąd odtwarzano, czyli opis środowiska izolowanego,
- godzinę startu, godzinę zakończenia i zmierzony czas do chwili, w której system był używalny,
- kto potwierdził kompletność danych i na czym to potwierdzenie polegało,
- co nie zadziałało, co z tym zrobiono i co zostało zmienione w konfiguracji,
- termin i zakres następnego testu.
Ten dokument zarabia na siebie w trzech momentach: przy audycie, przy rozmowie z ubezpieczycielem i przy zmianie firmy informatycznej, kiedy ktoś pyta o datę ostatniego udanego odtworzenia.
Największą wartość protokół pokazuje jednak przy drugim i trzecim teście. Widać wtedy, czy czas odtwarzania rośnie razem z ilością danych, czy uwagi z poprzedniego razu zostały wdrożone i czy zakres testu obejmuje systemy, które doszły w ciągu roku. Jeden protokół jest zapisem zdarzenia. Trzy protokoły pokazują już, w którą stronę idzie firma.
Jedno pytanie, które warto zadać
Jeżeli chcesz sprawdzić, jak backup wygląda naprawdę, wystarczy jedno pytanie do osoby albo firmy, która go prowadzi. Kiedy ostatnio odtworzyliśmy dane z kopii i co dokładnie odtworzyliśmy?
Zdanie o tym, że kopie wykonują się codziennie i nie ma błędów, nie jest odpowiedzią na to pytanie. Odpowiedzią jest data, zakres i nazwisko osoby, która potwierdziła kompletność danych. Jeżeli nikt nie potrafi tego podać, to jeszcze nie znaczy, że kopie są złe. Znaczy tylko, że nikt tego nie wie.
Testy odtworzenia prowadzimy u klientów, bo bez nich utrzymanie kopii zapasowych jest wyłącznie obietnicą. Jeżeli chcesz sprawdzić swoje kopie i nie wiesz, od czego zacząć, zadzwoń pod +48 662 036 615 albo napisz na [email protected].
