Co naprawdę ogranicza szybkość odtwarzania z backupu?

Co naprawdę ogranicza szybkość odtwarzania z backupu?

Gdy przychodzi „ten moment”, że trzeba odtwarzać dane i systemy z kopii zapasowych bardzo szybko przekonujemy się, że nasze dwugodzinne RTO nijak się ma do rzeczywistości. W dodatku, przyczyna powolnego odtwarzania z backupu rzadko leży tam, gdzie się jej intuicyjnie spodziewamy. Codzienna rutyna związana z wykonywaniem kopii zapasowych zostaje gwałtownie przerwana i mamy oto nowe wyzwanie, którym jest odtwarzanie. Co ciekawe dla wielu ta sytuacja jest pierwszą próbą całego procesu i nierzadko bardzo bolesną lekcją.

Odtwarzanie to proces, a nie pojedyncza operacja

Myśląc o szybkim odtwarzaniu z kopii zapasowych albo planując obniżenie RTO warto pamiętać, że odtwarzanie to nie jest tylko „kopiowanie pliku z repozytorium na serwer docelowy”. To łańcuch kilku następujących po sobie operacji, gdzie przepustowość całego procesu jest równa przepustowości najwolniejszego ogniwa. Aby zrozumieć złożoność odtwarzania z kopii zapasowej, przedstawię uproszczoną sekwencję procesu:

  1. Odczyt metadanych. Oprogramowanie backupowe (w tym przykładzie Veeam) odczytuje plik metadanych i identyfikuje, jakie pliki składają się na wybrany punkt przywracania: ostatni pełny backup plus wszystkie kolejne przyrostowe, które trzeba nałożyć, żeby dotrzeć do żądanego momentu w czasie.
  2. Rehydratacja. Dane w repozytorium nie są gotowym do skopiowania obrazem maszyny. Są skompresowanymi i zdeduplikowanymi blokami rozrzuconymi po wielu plikach. Żeby mogły wrócić w postaci maszyny wirtualnej (VM) na serwer produkcyjny, muszą zostać najpierw zdekompresowane i złożone w logiczny obraz. Ten etap to właśnie rehydratacja i to tutaj najczęściej chowa się wąskie gardło.
  3. Transfer przez „pośredników” (proxy). W przypadku technologii Veeam, do transferu używane są dwa procesy: jeden po stronie repozytorium (czyta i rehydratuje), drugi po stronie docelowej (zapisuje dane na produkcyjną pamięć masową poprzez silnik wirtualizacji). To, co mierzymy jako „prędkość odtwarzania w MB/s”, to efektywna prędkość tego strumienia, a nie odczyt z repozytorium backupu, ani nie przepustowość łącza.
  4. Zapis na docelowej pamięci masowej (target). Szybkość zapisu na macierzy produkcyjnej zależna jest od trybu transportu (Direct SAN, Hot-Add, NBD), bo każdy ma inną charakterystykę wydajnościową.
  5. Rejestracja i uruchomienie VM. Po zapisaniu wszystkich bloków maszyna jest rejestrowana w inwentarzu silnika wirtualizacji na klastrze produkcyjnym i może zostać uruchomiona.

Gdzie najczęściej jest wąskie gardło?

Skoro wiemy już jak wygląda proces odtwarzania, łatwo się domyśleć, że nie wystarczy mieć wysoko przepustową sieć, bo słaba wydajność repozytorium albo klastra wirtualizacji kompletnie zdegraduje szybkość odtwarzania, a to przecież nie wyczerpuje tematu.

Poniżej lista typowych wąskich gardeł procesu odtwarzania z backupu uszeregowana od najczęstszych.

1️⃣ Repozytorium (source). Odtwarzanie z backupu to operacja zarówno dyskowa jak i obliczeniowa, więc duże znaczenie ma I/O i CPU urządzenia. Repozytorium na wolnych dyskach SATA albo z niedowymiarowanym CPU potrafi dać stały sufit na poziomie 200–300 MB/s, niezależnie od tego, co będziemy mieli w innych miejscach.

2️⃣ Docelowa pamięć masowa (target). Macierz produkcyjna i klaster wirtualizacji pod obciążeniem odtwarzania często okazuje się wolniejsza, niż było to w ulotce produktowej producenta. Szczególnie gdy równolegle musi obsługiwać inne maszyny wirtualne lub kilka równoczesnych sesji odtwarzania.

3️⃣ Pośrednik (proxy). Serwer proxy Veeam odbiera dane ze źródła, przetwarza je i przekazuje do miejsca docelowego. W praktyce proxy staje się wąskim gardłem rzadziej niż repozytorium czy storage docelowy. Może się to jednak zdarzyć, gdy damy mu za mało mocy obliczeniowej przy wielu równoległych sesjach albo zbyt wiele zadań odtwarzania jednocześnie.

4️⃣ Sieć (network). Dopiero na tym etapie dochodzimy do limitów związanych z interfejsami sieciowymi i przepustowością sieci. Łącze staje się wąskim gardłem głównie, gdy odtwarzanie realizowane jest przez sieć rozległą (WAN), np. gdy źródłem jest off-site backup zlokalizowany w centrum danych. W przypadku sieci lokalnej (LAN) w większości przypadków przepustowość sieci nie jest problemem.

Warto też mieć na uwadze, że w przypadku backupu, a nie odtwarzania, źródłem jest pamięć masowa macierzy, a nośnik docelowy to repozytorium backupu, czyli odwrotnie niż w procesie odtwarzania.

Dlaczego repozytorium jest częstym winowajcą?

Przez rehydratację. Dane w repozytorium backupu nie są gotowym obrazem maszyny, to skompresowane i zdeduplikowane bloki danych. Rehydratacja to proces odwrotny: dekompresja i złożenie tych bloków z powrotem w pełny, logiczny obraz, który wirtualizator (target) potrafi uruchomić.

Żeby to zrobić, serwer repozytorium musi wykonać trzy rzeczy naraz:

  • zdekompresować bloki – algorytm kompresji (LZ4, zlib lub inny wybrany przy tworzeniu zadania backupu) musi zostać odwrócony dla każdego bloku danych,
  • odnaleźć fizyczne bloki – deduplikacja oznacza, że jeden blok fizyczny może być referencjonowany przez wiele maszyn lub wiele punktów przywracania, proces musi to „rozplątać”,
  • złożyć łańcuch – zaczynając od ostatniego pełnego backupu, nakłada kolejne przyrostowe aż do wybranego punktu w czasie, blok po bloku.

Efektem jest strumień „gotowych” danych płynący do klastra produkcyjnego. I właśnie ten strumień jest tym, co mierzymy jako prędkość odtwarzania.

Jak więc widać, rehydratacja potrzebuje mocy obliczeniowej i sprawnego systemu dyskowego. Tymczasem, częstym błędem popełnianym przez zespoły jest budowa repozytorium backupu na starym gracie, który został wycofany z pracy w klastrze produkcyjnym.

Od czego zacząć szukanie wąskiego gardła?

Proponuje analizę w 3 krokach poprzez odpowiedzi na poniższe pytania.

1. Czy problem jest od początku, czy narasta? Jeśli odtwarzanie idzie wolno od pierwszej minuty, może to wskazywać na problem po stronie repozytorium lub proxy. Jeżeli start jest przyzwoity, ale proces zwalnia w trakcie, wówczas możliwe, że docelowa pamięć masowa nie wyrabia pod narastającym obciążeniem.

2. Ile zadań odtwarzania odbywa się równolegle? Każda równoległa sesja konkuruje o te same zasoby. Czasem uruchomienie mniejszej liczby sesji daje każdej więcej zasobów i łączny czas odtwarzania jest krótszy.

3. Jaki mamy najstarszy punkt przywracania? Im dalej wstecz sięgamy, tym więcej przyrostowych kopii Veeam musi złożyć w całość. To przekłada się bezpośrednio na obciążenie repozytorium i na czas odtwarzania.

Testowe odtwarzanie jako panaceum na niespodzianki

Rzadko kiedy sprawdzamy, czy coś działa, gdy nie jesteśmy do tego zmuszeni. W standardowych operacjach odtwarzanie z kopii zapasowych dotyczy zwykle przywracania określonych plików lub folderów, skrzynek pocztowych lub obiektów bazy danych. Sytuacja, gdy odtwarzamy większość systemów jest scenariuszem niezwykle rzadkim.

Jednak, gdy już dojdzie do odtwarzania całego systemu po incydencie bezpieczeństwa, a biznes stoi, wszyscy patrzą na ręce zespołu IT. Nie ma wówczas miejsca na tuning konfiguracji infrastruktury, bo każda godzina to realne straty finansowe. Dlatego, namawiam, testujcie odtwarzanie w miarę regularnie, chociaż raz na kwartał. Warto też użyć mechanizmów automatyzujących proces, w przypadku Veeam będzie to SureBackup. Da Wam to odpowiedzi, czy nadal mieścicie się w zakładanym RTO, co zmniejszy ciśnienie w już i tak stresującym procesie przywracania systemów. Pamiętajmy, że istotą systemu backup nie jest tworzenie kopii zapasowych, lecz odtwarzanie z kopii zapasowych!

Made by human BRAIN

Ciągłość działania Centrum Danych

Ciągłość działania Centrum Danych

Od czasu do czasu, gdy dochodzi do katastrofy, czyli zdarzenia o naturze niszczącej, pojawia się pytanie o granice odpowiedzialności operatora Centrum Danych. Wówczas też, wiele osób z branży, samozwańczo przywdziewa szaty eksperta od Odtwarzania Awaryjnego rozumiejącego Ciągłość Działania Centrum Danych. Z takim nadaniem, bez pardonu biczuje zwykle nieszczęśnika. Zazwyczaj, chodzi o to, że w opinii „ekspertów”, wszystko powinno być zdublowane. Najlepiej replikowane do innego Data Center. Tylko, czy aby na pewno? Czy operator ośrodka przetwarzania może zabezpieczyć przed katastrofą każdego klienta?

Zacznę od przekrojowego przedstawienia usług świadczonych przez typowe Data Center, bo zrozumienie tego aspektu jest kluczowe. Nie jest tak, jak uważa wielu, że Centrum Danych zajmuje się głównie dostarczaniem chmury publicznej. Ba, większość biznesu dla typowego DC, to kolokacja, wynajem kiosków, czy całych komór. Dochodzą także tzw. dedyki, czyli instalacje serwerowo-sieciowe przygotowywane dla konkretnego klienta. Dopiero na końcu stawki są usługi przetworzone, repozytoria, archiwizacja, backup i chmura publiczna oraz prywatna plus różne usługi dodatkowe.

Widzicie już pewnie do czego zmierzam. Co usługodawca może wiedzieć o Planie Odtwarzania Awaryjnego klienta, który wynajmuje u niego 2 szafy rack postawione obok siebie? Operator świadczy w tym przypadku usługę kolokacji. Zapewnia szafy, dostarcza zakontraktowaną moc (prąd), realizuje połączenia sieciowe i dba odpowiednie warunki środowiskowe (temperatura, wilgotność powietrza, itp.). Natomiast, nie ma wiedzy o tym, co klient w tych szafach trzyma. Albo weźmy klaster serwerów dedykowanych, które klient odbiera do poziomu wirtualizatora. Czy taka usługa jest odporna na pożar Centrum Danych? Kompletnie nie! Chyba że klient wykupi sobie podobna usługę w innym DC i zsynchronizuje te zasoby. Może też robić kopie zapasowe lub nabyć usługę DRaaS. Ważne przy tym, by repliki składować w innym ośrodku. Zatem, czy operator Centrum Danych może samodzielnie zabezpieczyć klienta przed katastrofą? Bez jego chęci i woli, nie ma o tym mowy.

Trochę inaczej wygląda to z perspektywy hiperskalerów, które budują ośrodki przetwarzania wyłącznie na potrzeby swoich chmur. Jednak, nawet i w tym przypadku nic nie dzieje się samo.

Nie wiem, czy słyszeliście o „wspólnej odpowiedzialności” (shared responsibility)? Dostawcy chmury publicznej jasno definiują, za co odpowiadają przy każdym z typów usług. Gdy uruchamiamy serwer wirtualny (VPS), sami musimy zadbać o jego ciągłość działania. Służy temu na przykład Site Recovery (Azure), oczywiście to usługa dodatkowo płatna. Jeśli nie zdecydujemy się na takie zabezpieczenie, będziemy musieli pogodzić się z ewentualnymi konsekwencjami, w razie katastrofy.

Wszystko ma swoją cenę. Nie zapłacisz teraz, zapłacisz później, zwykle jeszcze więcej. Dlatego, analizując ryzyka, ważmy koszty ich materializacji. Zestawmy ze sobą, całkowite koszty przestoju oraz odtwarzania awaryjnego. Dodajmy konsekwencje utraty wizerunku i klientów. Porównajmy to z ceną usługi, nawet na 3 lata, która ten przestój skróci lub wyeliminuje. Dodajmy jeszcze do tego nasz święty spokój, który dostajemy w bonusie 🙂 . Taka jest właśnie recepta na ciągłość działania bez względu na to jakie Centrum Danych wybierzemy.

Made by human BRAIN

Darmowa konsultacja - anty.expert

Nadmiarowość, czy odtwarzanie po awarii?

Nadmiarowość, czy odtwarzanie po awarii?

Czym jest uptime i jak się to ma do czasu przestoju?  Ile dziewiątek po przecinku gwarantuje względny spokój, gdy mowa jest o wysokiej dostępności infrastruktury informatycznej? I na koniec, na co postawić: na nadmiarowość, czy może na błyskawiczne odtwarzanie po awarii?

Czy wiesz jaki poziom dostępności mają Twoje systemy?  Najlepsze centra danych w Polsce (np.: Atman, Beyond, Exea, Polcom, T-mobile), mogą pochwalić się niezawodnością na poziomie 99,99%. Oznacza to, że ich przestój w skali roku nie przekroczy godziny. Zwracam jednak uwagę, że procenty dotyczą określonych usług. Już tłumaczę. Powiedzmy, że zdecydujemy się na usługę kolokacji, czyli wynajmujemy miejsce w szafach teletechnicznych w centrum danych. Usługodawca deklaruje cztery dziewiątki. Czy w związku z tym nasze środowisko także będzie miało dostępność na poziomie 99,99%? Najprawdopodobniej nie. Wysoka dostępność dotyczy systemów zbudowanych w centrum danych, w tym zasilania, łączności, klimatyzacji, itp. Wystarczy, że architektura naszego rozwiązania została zaprojektowana bez nadmiarowości. Czyli do szaf wynajętych w centrum danych włożymy pojedyncze urządzenia. Wówczas niestety, poziom dostępności naszego środowiska IT będzie równy poziomowi dostępności najsłabszego elementu.

Czas nieprzerwanej pracy systemów określany jako uptime, dotyczy każdego elementu infrastruktury IT. Projektując wysokodostępne środowisko IT należy eliminować pojedyncze punkty awarii. Robimy to dublując urządzenia z najniższym przeciętnym uptime. Właściwie, to robimy to dublując wszystko co się da 🙂 Jedyne odstępstwa dotyczą usług, których niedostępność nie zatrzymuje procesów krytycznych dla działalności operacyjnej. W ten sposób istotnie zmniejszamy ryzyko wystąpienia przestojów. Naturalnie, poszczególne systemy nie muszą mieć jednakowego poziomu dostępności. Ustalanie precyzyjnych wskaźników dla każdej usługi wpływa wprost na poziom nakładów na środowisko IT i na rodzaj i koszt Disaster recovery.

Wysoka dostępność (HA) jest pochodną nadmiarowości. Odtwarzanie awaryjne uznać powinniśmy za uzupełnienie HA, bo odpowiada na problemy, których nie rozwiąże nawet rozproszony geograficznie klaster wysokiej dostępności. Disaster recovery (np. DRaaS) to ostatnia deska ratunku, gdy nasze systemy padną ofiarą cyberataku lub co bardziej prawdopodobne, staną się niedostępne przez jakiegoś wirusa szyfrującego. Moje doświadczenia pokazują, że nadmiarowość i odtwarzanie po awarii, które według najlepszych praktyk ITIL powinny być komplementarne, bardzo często rozdziela tytułowe „czy”.

Darmowa konsultacja - anty.expert

Czy małe i średnie firmy potrzebują Disaster recovery?

Czy małe i średnie firmy potrzebują Disaster recovery?

Znawcy tematu (celowo unikam słowa eksperci) twierdzą, że Ciągłość Działania i Disaster recovery są dla firm z ustabilizowanymi przychodami. Firmy te z natury rzeczy doskonalą procesy. Co Wy na to? No właśnie, jak zwykle to zależy. Czy mała firma udostępniająca swoje systemy transakcyjne klientom i kontrahentom przetrwa kryzys w postaci dwudniowego przestoju serwerów? Pewnie tak, ale statystycznie ma o wiele mniejsze szanse niż firma duża.

W Stanach Zjednoczonych Ameryki, powstała ku przestrodze i pewnie „na zachętę” 😉 pewna statystyka. Mówi się w niej, że aż 93% firm, których centra danych nie funkcjonowały 10 lub więcej dni, ogłosiły upadłość w ciągu roku. Na dokładkę, ponad 60% firm, które całkowicie utraciły dane, zamknięto w przeciągu sześciu miesięcy. Statystyka pochodzi z NARA, czyli National Archives and Records Administration, co w wolnym tłumaczeniu oznacza: Krajową Administrację Archiwów i Rejestrów. Danych źródłowych nie widziałem, ale domyślam się, że próba została dobrana rzetelnie przez wzgląd na rangę instytucji.

Jak to wygląda u nas? Polskich statystyk chyba jeszcze nikt nie zrobił (kto widział lub słyszał niech napisze, odwdzięczę się!). Tyle, że my Polacy jesteśmy bardzo zaradni i nie takie rzeczy przeżyliśmy 😉 A tak na poważnie. Odporność biznesu jest pochodną rodzaju biznesu i rozkładu przychodów. Jeśli na przykład nasze przychody mają liniowy charakter, wówczas nakłady na Ciągłość Działania są niezbędne. Jeśli działamy projektowo, wtedy mamy mniejszą wrażliwość na przerwy dostępności infrastruktury informatycznej i aplikacji.

Pamiętajmy przy tym wszystkim o tym jaką mamy „poduchę”. Chodzi o to, jakie mamy kapitały własne, aktywa szybko zbywalne, stan konta, itd. Zazwyczaj, małe firmy mają płynność opartą na rolowaniu należności. Wówczas, wszelkie zasoby gotówki są w obrocie lub są natychmiast reinwestowane, a limity kredytowe są bardzo małe lub nie ma ich wcale. W takiej sytuacji, przerwa napływu gotówki powoduje natychmiastowe problemy płatnicze. O tym, że jak krytyczna jest płynność finansowa przekonywać nie muszę. Jeśli do tego dołożyć: problemy wizerunkowe związane z przestojem, kary umowne, to niebezpiecznie zbliżamy się do scenariusza, który może położyć firmę. Dlatego, moim zdaniem Disaster recovery jako usługa (DRaaS) to pozycja obowiązkowa dla małego i średniego biznesu.

Darmowa konsultacja - anty.expert

Czy kopia zapasowa (backup) to ratunek od przestoju?

Czy kopia zapasowa (backup) to ratunek od przestoju?

Po co nam usługi disaster-recovery, przecież my nie żyjemy w Ameryce. W końcu jakie jest prawdopodobieństwo katastrofalnego zdarzenia, które akurat zniszczy nasz budynek? Uwielbiam taką retorykę! A już Albert Einstein mówił: „Wyobraźnia jest ważniejsza od wiedzy, ponieważ wiedza jest ograniczona”. Proponuję zatem nieco poszerzyć nasze horyzonty i rozważyć, czy rzeczywiście w każdym przypadku dobrze wykonany backup to ratunek od przestoju.

Skojarzenie dotyczące katastrof najczęściej bierze się z rozdzielnego tłumaczenia wyrazów „disaster” i „recovery”. Wówczas krążymy wokół zdarzeń kategorii: tornado, upadek statku powietrznego, pożar czy powódź. Tymczasem już Google Translator to zestawienie wyrazów tłumaczy jako: „odzyskiwanie po awarii”. A że awaria me wiele imion i zwykle wydarzy się w najgorszym momencie, to i jest miejsce na rozważania czy ten firmowy backup to na pewno odpowiedź na każdą sytuację. Odpowiedź oczywiście jest przecząca.

Pora na konkrety. Kiedy zdecydowanie potrzebujesz usług disaster-recovery:

  1. Jeśli przetwarzasz dane we własnej serwerowni, która nie spełnia standardu Uptime Institute Tier II lub ANSI/TIA-942 Tier 2.
  2. Gdy nie dublujesz kluczowej infrastruktury (serwery, przełączniki) i nie stosujesz mechanizmów wysokiej dostępności (high availability).
  3. Gdy sprzęt, którego używasz ma więcej niż 3 lata i jest już po gwarancji.
  4. Jeśli Twój kontrakt serwisowy z dostawcą przewiduje naprawę lub wymianę w następnym dniu roboczym (np. 8x5xNBD).
  5. Jeśli godzinna przerwa w dostępności choćby jednego serwera jest biznesowo nie do zaakceptowania.
  6. Jeśli nie masz własnego zespołu IT lub masz tylko jednego fachowca.
  7. Gdy nie masz ubezpieczenia typu business interruption rozszerzonego o systemy IT i dane[1].
  8. Jeśli przywracanie z kopii zapasowej krytycznego serwera zajmuje kilka godzin.

Nawet jeśli tylko jeden z punktów pasuje do sytuacji jaką masz w firmie, powinieneś poważnie rozważyć usługi z zakresu disaster-recovery, np. DRaaS. Jeśli pasujących punktów jest więcej (wyłączając oczywiście pkt. 5 i 7), wówczas ryzyko wystąpienia przestoju jest bardzo wysokie. Kopia zapasowa jest niezbędna, jednak nie przywróci normalnego funkcjonowania, gdy pojawi się problem sprzętowy. W takiej sytuacji potrzebny jest szybki start na innym sprzęcie np. w zapasowej lokalizacji lub w chmurze publicznej dostawcy nawet w ciągu 15 minut.

[1] na dzień pisania tego artykułu w Polsce nie znalazłem takiej oferty.

Darmowa konsultacja - anty.expert