poniedziałek, 6 września 2021

Nie należy używać funkcji VMware Snapshot (i AutoProtect) do tworzenia kopii zapasowych


VMware oraz wszystkie inne platformy wirtualne nie zalecają używania funkcji VMware Snapshot lub AutoProtect Snapshot do tworzenia kopii zapasowych maszyn wirtualnych w środowisku VMware. Poniżej przedstawiono powody i alternatywne rozwiązania. Aby podjąć właściwą decyzję, należy przede wszystkim wiedzieć, na czym polega działanie migawek i funkcji AutoProtect, a na czym nie, aby podjąć właściwą decyzję.
Co to jest VMware Snapshot?

Snapshot w VMware to mechanizm, który pozwala użytkownikowi maszyny wirtualnej "zamrozić" maszynę i powrócić do tego stanu w późniejszym czasie. Naturalnie, funkcja ta jest bardzo popularna wśród programistów i testerów oprogramowania, ponieważ pozwala im na powtarzanie testów z dokładnie tym samym zdefiniowanym punktem startowym i warunkami systemowymi. Ale jak to jest robione wewnętrznie? W tym tkwi odpowiedź na pytanie, dlaczego nie należy postrzegać snapshotów jako mechanizmu backupu.

VMware implementuje snapshoty poprzez zapisywanie wirtualnego dysku i stanu pamięci wewnętrznej maszyny wirtualnej m.in. w oddzielnych plikach, tzw. snapshot files. Dla każdego VMDK (pliku dysku twardego maszyny wirtualnej) i każdego snapshota wykonanego dla maszyny wirtualnej powstaje nowy VMDK. Po "zamrożeniu" maszyny wirtualnej poprzez wykonanie jej migawki, VMware przestaje zapisywać zmiany dyskowe na oryginalnym dysku wirtualnym i zamiast tego uruchamia nowy plik dysku wirtualnego. Po utworzeniu snapshotu, oryginalny VMDK pozostaje nietknięty.

Niestety VMware używa bardzo głupiego ustawienia domyślnego, które większość użytkowników ignoruje. Powoduje ono dzielenie plików VMDK na pliki o wielkości 2GB. Wirtualny dysk o pojemności 2 TB jest więc dzielony na 1024 pliki o wielkości 2GB. Jeśli teraz myślisz, że to naprawdę głupie, rozważ to: Jeśli teraz wykonasz dwa, trzy snapshoty, folder maszyny wirtualnej będzie zawierał ponad 3000 plików! I nagle okazuje się, że maszyna wirtualna zaczyna działać bardzo wolno, a Ty zastanawiasz się dlaczego.
Co się dzieje po przywróceniu zrzutu VMware Snapshot?

Przywracając snapshot VMware, VMware usuwa wtórny VMDK, w którym zapisane były zmiany i ładuje pamięć wewnętrzną oraz inne struktury z poprzedniego stanu maszyny wirtualnej. Wszystkie te informacje są zawarte w kilku plikach związanych z migawką. Gdy maszyna wirtualna jest znowu sprawna, pliki z migawkami są usuwane.
Co się stanie, gdy usuniesz migawkę VMware Snapshot?

Usunięcie zrzutu wymaga więcej pracy, ponieważ teraz użytkownik informuje VMware, że chce zachować wprowadzone zmiany, co jest mało prawdopodobne; VMware musi więc połączyć oryginalny dysk wirtualny ze zmianami wprowadzonymi od tego czasu. Jeśli wprowadzono wiele zmian, scalanie może zająć trochę czasu. Po zakończeniu tej operacji pliki migawek są usuwane.

Pozwólcie, że podzielę się tu pewną refleksją. Sposób w jaki VMware i inne platformy zaimplementowały snapshoty jest naprawdę dowodem na to, że nie są one przeznaczone do tworzenia kopii zapasowych i nie nadają się również do systemów produkcyjnych. Gdyby architekci VMware chcieli używać snapshotów jako mechanizmu ochrony, zdecydowaliby się na zapisywanie zmian na oryginalnym dysku i zapisywanie oryginalnych bloków do pliku "preserve the original".  W ten sposób nie byłoby żadnego wpływu na wydajność przy kolejnych odczytach lub zapisach, a usuwanie migawek byłoby bardzo szybkie i łatwe. Ale tak się nie stało, i nie zrobili tego z dobrego powodu: powodem jest po prostu to, że migawki nie są przeznaczone do tworzenia kopii zapasowych.
Czy snapshoty są dozwolone na systemach produkcyjnych? Nie.

Wielu doświadczonych administratorów systemów IT będzie wściekłych, jeśli utworzysz migawki dla produkcyjnej maszyny wirtualnej z powodu opisanych powyżej nieefektywności i złożoności zarządzania. Maszyna wirtualna bez migawek może składać się tylko z dwóch plików - konfiguracji i wirtualnego dysku VMDK. Maszyna wirtualna z migawkami może składać się z kilkudziesięciu do kilkuset plików. Naturalnie wszystkie te nieefektywności zwiększają i spowalniają pracę serwera. Sprawiają, że zarządzanie strukturami danych maszyn wirtualnych jest zbyt skomplikowane i podatne na błędy. Z tych powodów najlepiej i najskuteczniej jest nie używać VMware Snapshots na systemach produkcyjnych.
Dlaczego VMware Snapshot z funkcją AutoProtect nie jest zalecany jako VMware Backup?
Tworzenie kopii zapasowej maszyny wirtualnej jest znacznie bardziej kompletnym i niezawodnym procesem niż zwykłe wykonanie zrzutu. Przede wszystkim zrzuty zmieniają samą maszynę wirtualną, ponieważ wprowadzają nowe zależności, podczas gdy VMware Backup tego nie robi. Po dodaniu snapshota tworzonych jest więcej plików, VMware zapisuje zmiany na dysku do różnych plików itd. Jeśli jakikolwiek plik zostanie uszkodzony lub utracony, cała maszyna wirtualna zostaje uszkodzona. Snapshoty są prawie zawsze przechowywane na tym samym dysku; dlatego też zwykła awaria dysku będzie miała wpływ również na snapshoty. Niemniej jednak, nawet jeśli uszkodzeniu ulegnie tylko migawka, a oryginalne pliki będą w porządku, w obu przypadkach maszyna wirtualna zostanie uszkodzona.

Kopia zapasowa VMware jest przechowywana w oddzielnym magazynie, najlepiej w innym miejscu na innym urządzeniu lub w chmurze. Chroni ona przed wszelkiego rodzaju awariami: sprzętowymi, programowymi, złośliwym oprogramowaniem, błędami systemu operacyjnego, a także przypadkowymi lub nawet celowymi uszkodzeniami dokonanymi np. przez niezadowolonych pracowników. Wykonując niezawodne kopie wszystkich informacji potrzebnych do odtworzenia maszyny wirtualnej, kopia zapasowa VMware zawiera kompletny zestaw wszystkiego, co jest potrzebne do odtworzenia maszyny wirtualnej na dowolnym hoście VMware, np. konfigurację maszyny wirtualnej, dyski wirtualne i wszystkie snapshoty należące do maszyny wirtualnej.
Zalety kopii zapasowych VMware w porównaniu z migawkami

Zautomatyzowana kopia zapasowa VMware na żywo jest technicznie lepsza i bardziej niezawodna niż migawki (backup VMDK files). Kopie zapasowe VMware mogą być wykonywane podczas pracy maszyny wirtualnej lub po jej wyłączeniu, w obu przypadkach działają bezproblemowo. Kopie zapasowe VMware można przywracać, a przywróconą maszynę wirtualną można skonfigurować jako klon oryginału, dzięki czemu możliwe jest porównanie obu maszyn. Kopie zapasowe VMware nie mają wpływu na wydajność po zakończeniu tworzenia kopii zapasowej, w przeciwieństwie do migawek, które spowalniają każdy dostęp do dysku maszyny wirtualnej po ich utworzeniu. Innym ważnym efektem migawek jest to, że wewnętrzne pliki śledzące VMware są zapisywane na dysku bardzo często, aby śledzić bitmapy migawek, a w przypadku dysków SSD może to prowadzić do szybszego zużycia i awarii dysku.
Jaka jest zalecana strategia?

Migawki są świetne w swoim przeznaczeniu: do testowania oprogramowania i systemu operacyjnego. Poza tym, używanie ich nie jest najlepszym pomysłem, szczególnie na systemach produkcyjnych. Ważne produkcyjne maszyny wirtualne powinny być chronione przez dobre rozwiązanie do tworzenia kopii zapasowych VMware, aby można było je przywrócić na dowolnym hoście, bez względu na to, co się stanie, bez wpływu na wydajność hosta maszyny wirtualnej w dłuższej perspektywie i bez komplikowania zarządzania nią. Oprogramowanie do tworzenia kopii zapasowych maszyn wirtualnych pomaga utrzymać szczupłość i wydajność magazynu danych VMware, a maszyny wirtualne działają z najwyższą wydajnością bez nadmiernych obciążeń. Migawki negatywnie wpływają na wydajność, komplikują zarządzanie pamięcią masową, zwiększają prawdopodobieństwo wystąpienia błędów, znacznie ograniczają liczbę maszyn wirtualnych, które host może niezawodnie obsłużyć, i dlatego nie są zalecane do tworzenia kopii zapasowych.


Brak komentarzy:

Prześlij komentarz