Articles

Dlaczego same migawki nie są kopiami zapasowymi

Mieć jasny obraz tego, co migawki maszyn wirtualnych i kopie zapasowe mogą dla Ciebie zrobić, jest krytyczne, gdy w grę wchodzą Twoje dane. Aby rozwiać wszelkie wątpliwości, migawki NIE są kopiami zapasowymi. Są to dwa różne procesy zaprojektowane w celu zaspokojenia różnych potrzeb. Dziś wyjaśnię, na czym polega różnica między migawkami maszyn wirtualnych a kopiami zapasowymi, i przedstawię kilka scenariuszy, w których każda z nich najlepiej się sprawdza.

Prawdą jest, że wiele produktów Veeam używa migawek jako części kopii zapasowej, ale migawka sama w sobie nie jest kopią zapasową. Ta logika dotyczy migawek maszyn wirtualnych VMware, punktów kontrolnych Hyper-V oraz migawek pamięci masowej.

Jak działają migawki?

W skrócie, migawka maszyny wirtualnej to proces zapisywania stanu danych maszyny wirtualnej z możliwością powrotu do tego punktu w czasie. Podczas wykonywania zrzutów maszyna wirtualna może być wyłączona, włączona lub zawieszona. Wiele migawek jest zorganizowanych w hierarchii rodzic-dziecko.

Zwykle migawki są używane do testowania aktualizacji oprogramowania lub do niebezpiecznych operacji na maszynie wirtualnej, a następnie przywracane do stanu początkowego w razie potrzeby – pomyśl o tym jak o zakładce lub przycisku cofania. Migawki nie są pełną kopią dysku podstawowego, dlatego nie są wystarczające do przywrócenia maszyny wirtualnej w przypadku awarii pamięci masowej.

Snapshoty VMware

W maszynach wirtualnych VMware dysk wirtualny to plik .vmdk rezydujący w magazynie danych (LUN). Po utworzeniu migawki w programie Snapshot Manager oryginalny dysk staje się dyskiem tylko do odczytu, a wszystkie nowe zmiany danych są zapisywane na tymczasowym dysku delta .vmdk, wskazującym na dysk oryginalny. Dysk delta jest różnicą pomiędzy stanem w momencie wykonania snapshota a aktualnym stanem dysku wirtualnego. Proces wykonywania migawek VMware wiąże się również z utworzeniem dwóch dodatkowych plików: snapshots and metadata information (.vmsd) oraz running state information (.vmsn). Po usunięciu migawki (committed) wszystkie zmiany są scalane z oryginalnym plikiem .vmdk, a on sam powraca do trybu odczytu i zapisu.

Why snapshots alone are not backups

Rysunek 1. Migawki w kliencie VMware vSphere

Aby zapewnić zdrowe korzystanie z migawek w środowiskach wirtualnych vSphere, VMware zapewnia kilka najlepszych praktyk:

  • Używaj maksymalnie 32 migawek w łańcuchu, ale dla lepszej wydajności używaj tylko dwóch do trzech migawek
  • Nie pozostawiaj migawki działającej dłużej niż 24 – 72 godziny. Zwiększy on swój rozmiar, a w pamięci masowej może zabraknąć miejsca
  • Nie używaj migawek jako kopii zapasowych. Jeśli oryginalny dysk wirtualny zostanie usunięty, nie można przywrócić maszyny wirtualnej z migawek

Punkty kontrolne Hyper-V

Rzeczy mają się nieco inaczej w przypadku migawek Hyper-V (przemianowanych na punkty kontrolne Hyper-V począwszy od Windows Server 2012 R2). Kiedy punkt kontrolny Hyper-V jest tworzony w Hyper-V Manager, działająca maszyna wirtualna jest wstrzymywana i tworzony jest dysk różnicowy .avhd(x) w tym samym folderze co macierzysty dysk wirtualny (.vhd /.vhdx) w celu przechowywania zmian, wraz z kopią pliku konfiguracyjnego .xml. Oryginalny dysk wirtualny jest ustawiony jako tylko do odczytu, a jeśli maszyna wirtualna jest uruchomiona, pojawią się jeszcze dwa powiązane pliki – zapisany stan maszyny wirtualnej (.bin) oraz informacje o pamięci (.vsv), po czym maszyna wirtualna zostanie wznowiona.

Why snapshots alone are not backups

Rysunek 2. Punkty kontrolne w programie Hyper-V Manager

Zalecenia Microsoftu dotyczące punktów kontrolnych Hyper-V obejmują:

  • Nie używaj migawek na maszynach wirtualnych, które hostują usługi wrażliwe na czas, takie jak Microsoft Exchange Server lub Active Directory Domain Services
  • Nie rozszerzaj istniejącej wirtualnej pamięci masowej maszyny wirtualnej, gdy znajdują się na niej migawki, ponieważ mogą one zostać naruszone
  • Użyj programu Hyper-V Manager, aby usunąć pliki .avhd(x) z drzewa migawek, zamiast usuwać je ręcznie

A co z migawkami pamięci masowej?

Snapshoty pamięci masowej to świetne rozwiązanie, które można wykorzystać jako część zadania tworzenia kopii zapasowych. Rozwiązanie Veeam Backup & Replication obsługuje wiele macierzy pamięci masowej zarówno w przypadku tworzenia kopii zapasowych z migawek pamięci masowej, jak i eksploratora Veeam Explorer for Storage Snapshots. W tym miejscu należy również poruszyć kilka kwestii:

  • Nawet w przypadku macierzy obsługującej Veeam Explorer for Storage Snapshots nadal trzeba wykonać kopię zapasową, aby przejść do innej pamięci masowej. Veeam Explorer for Storage Snapshots to technika odzyskiwania tylko z macierzy źródłowej, która wykonała migawkę.
  • Backup from Storage Snapshots to świetny sposób na wykonanie kopii zapasowej z wykorzystaniem mocy macierzy dyskowej i przeniesienie danych do innej pamięci masowej.

Jeden z ewangelistów firmy Veeam, Rick Vanover, lubi powtarzać, że: „Mamy tylko dowody w postaci historii sukcesów klientów, że dobre macierze rzeczywiście ulegają awariom – proszę więc przenosić kopie zapasowe do innej pamięci masowej i przestrzegać zasady 3-2-1 Rule.”

Kiedy powinienem używać migawek?

Migawki są rozwiązaniem krótkoterminowym, które należy stosować głównie w środowiskach testowych i deweloperskich w celu wprowadzania poprawek, aktualizacji lub szybkiego testowania rzeczy i przywracania w przypadku awarii. Są one mniej zalecane w produkcji. Istnieją jednak pewne scenariusze, w których snapshoty naprawdę przydają się w środowisku produkcyjnym. Na przykład, jeśli podejmujesz ryzykowne działania, takie jak aktualizacja systemu operacyjnego lub zmiany konfiguracji, które mogą uszkodzić system, wtedy migawki są dobrym pomysłem.

Dlaczego migawki nie są zalecane dla środowisk produkcyjnych? Głównie z powodu integralności danych. W przypadku migawek nie jest wykonywana kopia wirtualnego dysku twardego. Istnieje dysk wirtualny VM i dysk delta, co oznacza, że jeśli wolumen dysku VM ulegnie uszkodzeniu, to migawki również przepadną, ponieważ nie można ich scalić na dysku podstawowym. Migawki nie chronią Cię przed awariami dysków i nadal będziesz miał pojedynczy punkt awarii.

Inny powód jest oparty na wydajności. Snapshoty mogą wpływać na wydajność maszyn wirtualnych. Nie zdarza się to zbyt często – występuje tylko w niektórych szczególnych sytuacjach, ale może się zdarzyć. Przykładowo, uruchomienie bardzo obciążonych maszyn wirtualnych na starych (a więc o zwiększonym rozmiarze) snapshotach zdecydowanie pogorszyłoby wydajność tych maszyn, zwłaszcza jeśli korzystają one z dysków dynamicznych. Częstym błędem jest utrzymywanie maszyny wirtualnej uruchomionej na snapshocie przez długi czas – snapshot będzie zwiększał swój rozmiar, ponieważ będzie absorbował wszystkie zmiany, zamiast dysku źródłowego. W związku z tym zatwierdzanie będzie trwało znacznie dłużej i może nawet spowodować ogłuszenie maszyny wirtualnej podczas procesu scalania.

Czekaj, czy Veeam nie używa migawek?

Dobre spostrzeżenie! Veeam Backup & Replication rzeczywiście używa migawek jako części zadania tworzenia kopii zapasowej. Może używać migawek maszyn wirtualnych VMware, punktów kontrolnych Hyper-V lub migawek pamięci masowej. Ważne jest, aby zauważyć, że migawka sama w sobie nie jest kopią zapasową – ale może być używana jako krytyczna część procesu tworzenia kopii zapasowej. Dzieje się tak, ponieważ migawka jest używana jako część procesu przenoszenia danych do pliku kopii zapasowej lub replikowanej maszyny wirtualnej. Migawka jest usuwana po zakończeniu zadania tworzenia kopii zapasowej.

Snapshoty vs kopie zapasowe

Kopia zapasowa to spójna kopia maszyny wirtualnej, która daje możliwość przywrócenia jej w przypadku, gdy oryginalne pliki zostaną naruszone w wyniku katastrofy lub błędu ludzkiego. W przeciwieństwie do snapshotów, kopie zapasowe są niezależne od maszyny wirtualnej, można je łatwo wyeksportować i przechowywać poza siedzibą (w chmurze, na taśmie lub innym zdalnym magazynie). Przeczytaj o złotej regule 3-2-1.

Veeam Backup & Replication wykorzystuje technologię VSS (Volume Shadow Copy Service) i przetwarzanie obrazu z uwzględnieniem aplikacji do tworzenia kopii zapasowych maszyn wirtualnych na poziomie obrazu. Kopie zapasowe maszyn wirtualnych na poziomie obrazu umożliwiają ochronę całego obciążenia – dysku wirtualnego, systemu operacyjnego, aplikacji i plików konfiguracyjnych systemu. Wszystkie te elementy są przechowywane w pojedynczym pliku kopii zapasowej maszyny wirtualnej na poziomie obrazu, co zapewnia wiele opcji przywracania krytycznych aplikacji biznesowych – od odzyskiwania całej maszyny wirtualnej po odzyskiwanie poszczególnych elementów aplikacji.

Ponadto rozwiązanie Veeam Backup & Replication wyposażono w liczne technologie optymalizacji ruchu kopii zapasowych i zmniejszania rozmiaru plików kopii zapasowych, takie jak deduplikacja, kompresja czy akceleracja WAN. Ponadto firma Veeam udostępnia alternatywny sposób szybkiego testowania i rozwiązywania problemów z maszyną wirtualną – laboratorium wirtualne. Można w nim utworzyć odizolowane środowisko wirtualne, które nie ma wpływu na produkcję, i wykonywać różne operacje, takie jak testowanie aktualizacji oprogramowania lub prowadzenie szkoleń.

A co, jeśli moje środowisko nie toleruje migawek dowolnego typu? Jednym ze sposobów na przeprowadzenie procesu tworzenia kopii zapasowych jest użycie Veeam Agent for Microsoft Windows lub Veeam Agent for Linux. Te nowe produkty Veeam do tworzenia kopii zapasowych nie korzystają z żadnych migawek infrastruktury pod systemem operacyjnym. W przypadku systemu Windows do wykonania kopii zapasowej opartej na obrazie wykorzystywany jest framework VSS, a w przypadku systemu Linux do uzyskania obrazu systemu plików używany jest veeamsnap.

Dodatkowo, w Veeam Backup & Replication v10, możliwości Veeam CDP zapewnią silnik replikacji dla maszyn wirtualnych VMware, który nie wykorzystuje migawek VMware. Wykorzystuje on interfejsy API vSphere do filtrowania operacji wejścia/wyjścia lub VAIO, które działają na ścieżce pamięci masowej maszyny wirtualnej.

Wnioski

Samych migawek maszyn wirtualnych nie można używać jako niezawodnego sposobu ochrony danych i przywracania ich w przypadku awarii, ale są one bardzo przydatne do szybkiego testowania i rozwiązywania problemów. Ponadto migawkę maszyny wirtualnej można wykorzystać, jeśli jest ona częścią kompleksowej sekwencji zdarzeń związanych z tworzeniem kopii zapasowej lub replikacją. Należy jednak pamiętać, aby kontrolować ilość snapshotów i odpowiednio nimi zarządzać, aby uniknąć problemów z pamięcią masową i wydajnością. Z drugiej strony, kopie zapasowe maszyn wirtualnych na poziomie obrazu zapewniają wysoki poziom ochrony aplikacji i danych, pozwalają uzyskać niskie RPO i obsługują praktycznie każdy scenariusz odzyskiwania – od przywracania całej maszyny wirtualnej do przywracania elementów aplikacji.