Obecnie więcej wdrożeń systemów odbywa się w środowiskach wirtualizowanych niż bezpośrednio na sprzęcie. Maszyny wirtualne są bardzo wygodnym sposobem uruchamiania różnych systemów, ale wymagają spójnej strategii backupu i odtwarzania poawaryjnego. W najlepszym przypadku skracają czas odtwarzania o kilka rzędów wielkości w stosunku do środowiska fizycznego, w najgorszym – odtwarzanie będzie dłuższe niż gdyby wirtualizacji nie było w ogóle.
Historycznie pierwszy model wykonywania kopii bezpieczeństwa maszyn wirtualnych zakładał wykonywanie backupu w taki sam sposób, jak w klasycznym modelu – instalację agentów w maszynach wirtualnych oraz kopiowanie wszystkich informacji na taśmę. W przypadku serwerów hostujących dużą liczbę maszyn wirtualnych ten sposób zajmuje nadmierną ilość pamięci, powoduje silne obciążenie CPU i sieci LAN, skutkuje nadmiernym wydłużeniem okna backupowego. W pewnych przypadkach takie rozwiązania mają jednak istotny sens – jeśli organizacja wykorzystuje środowisko mieszane, uruchamiane na sprzęcie oraz w maszynach wirtualnych, spójna polityka backupu, obejmująca wszystkie systemy za pomocą tego samego narzędzia może się sprawdzić. Backup za pomocą wbudowanego w systemy klienckie agenta można usprawnić dzięki oprogramowaniu, które rozpoznaje rozłożenie maszyn wirtualnych na poszczególnych hostach i optymalizuje wykonywanie backupu, a zatem zmniejsza związane z tym obciążenie sieci LAN i SAN.
Kopie migawkowe
Najważniejsze środowiska wirtualizowane posiadają od dawna mechanizmy kopii migawkowych, które zapewniają wykonanie spójnej kopii pracującej maszyny wirtualnej. Wykonanie takiej kopii nie byłoby możliwe bez mechanizmów API, które zapewniają spójność zapisu na dysk po uruchomieniu przez oprogramowanie wykonujące backup. Następuje wtedy zapisanie wszystkich buforów na dysk, wstrzymanie zapisu do przestrzeni dyskowej danej maszyny (informacje mogą być zapisane w pliku różnicowym), a następnie pobranie kopii migawkowej przez serwer wykonujący backup. Po zakończeniu procesu backupu, informacje tymczasowo zapisane przez maszynę wirtualną podlegają zapisowi na właściwe miejsce. W starszych środowiskach VMware do tego celu służył mechanizm VCB (VMware Consolidated Backup), obecnie działa vStorage API, w środowisku Microsoftu maszynę można przełączyć na czas kopiowania w stan SavedState albo użyć mechanizmu VSS (Volume Shadow Copy Service) uruchomionego wewnątrz samej maszyny wirtualnej z systemem Windows. Niezależnie od platformy i wybranej metody backupu, kopia migawkowa maszyny wirtualnej jest bardzo dobrym sposobem sporządzenia kopii bezpieczeństwa. Lepsza od niej będzie tylko kopia obrazu maszyny wirtualnej, której wszystkie aplikacje oraz cały system operacyjny zostały poprawnie zamknięte. Niemal wszystkie profesjonalne narzędzia do wykonywania kopii bezpieczeństwa zintegrowane ze środowiskiem wirtualizacji w mniejszym lub większym stopniu korzystają z migawek.
Wykorzystanie kopii migawkowych ma swoje wady. Jeśli serwer backupowy nie prześle informacji o zakończeniu wykonywania kopii do wszystkich węzłów, możemy mieć do czynienia z nadmiernym użyciem zasobów przez niepotrzebne już kopie migawkowe. Ponadto mechanizm kopii migawkowych zintegrowany w systemie klienta (np. VSS w Hyper-V) wymaga, by wszystkie backupowane maszyny obsługiwały niezbędne opcje.
Czy ten backup działa?
Kopie bezpieczeństwa są wykonywane po to, by można było je odtworzyć. Niemal każda procedura wykonywania backupu zakłada testowe kopii w testowym środowisku. Metoda ta, choć kosztowna i pracochłonna, jest niezbędna do tego, by sprawdzić w praktyce funkcjonowanie wszystkich narzędzi. Środowisko wirtualizowane umożliwia usprawnienie procesu testowego odtworzenia maszyn, ale wymaga pewnego nadmiaru zasobów. Innym rozwiązaniem jest użycie narzędzia, które umożliwia sprawdzenie poprawności wykonywanego backupu. Jest to szczególnie istotne w przypadku hostowanych maszyn z systemem Microsoft Windows, gdzie niedostatki narzędzia lub błędy w kopiowaniu bloków skutkują brakiem możliwości odtworzenia sprawnej maszyny. Niektóre z narzędzi podobne sprawdzenia wykonują automatycznie, ponadto dzięki odpowiednio przygotowanej aplikacji, kopię maszyny wirtualnej można zamontować i uruchomić (prosto z backupu). Jest to nieoceniona opcja przy odtwarzaniu poawaryjnym lub migracji.
Wykorzystanie deduplikacji
Środowiska wirtualizacji zakładają dość znaczną konsolidację, dzięki której na jednej maszynie fizycznej pracuje od kilku do kilkudziesięciu maszyn wirtualnych. W wielu przypadkach są to obrazy tego samego systemu operacyjnego, a to oznacza, że znacząca część plików (i bloków), z których składają się te maszyny, będzie identyczna. Wykorzystanie deduplikacji umożliwi zredukowanie ilości danych, które są zapisywane do docelowego medium. Przy dużym poziomie nadmiarowości można oczekiwać redukcji potrzebnej przestrzeni dyskowej rzędu 40:1 (a nawet więcej, w środowiskach niektórych klientów współczynnik ten przekracza 60:1). Pliki VMDK zawierające wirtualne dyski maszyn są wysoce nadmiarowe, na 100GB przydzielonej przestrzeni dla jednej maszyny zazwyczaj zajęte jest około 20GB, a wiele z tych zajętych bloków jest wspólnych dla maszyn korzystających z tego samego systemu operacyjnego. Technologia backupu z deduplikacją sprawia, że kopia wykonuje się bardzo szybko i zajmuje znacznie mniej miejsca, niż w przypadku kopiowania bloków lub plików bez usuwania nadmiarowości. Wadą takich rozwiązań jest ich koszt i czasami skomplikowany sposób licencjonowania.
Rozpoznawanie zawartości maszyny
W wielu przypadkach przy odtwarzaniu funkcjonalności jakiejś maszyny wirtualnej wcale nie trzeba odtwarzać jej wszystkich plików. Proces ten można znacznie przyspieszyć, jeśli oprogramowanie potrafi rozpoznać pliki znajdujące się wewnątrz danej maszyny i odtworzyć z kopii jedynie wybrane elementy. Metoda ta sprawdza się w przypadku odtwarzania po awarii spowodowanej błędem we wprowadzonych aktualizacjach testowego środowiska. Detaliczne odtwarzanie maszyn wirtualnych w połączeniu ze sprawnie działającą deduplikacją może przyspieszyć naprawę środowisk o rzędy wielkości, gdyż nie będzie trzeba odtwarzać kompletnych maszyn.
Wykorzystanie kopii migawkowych macierzy dyskowej
Kopia bezpieczeństwa nie powinna być jedyną strategią ochrony danych w maszynach wirtualnych. Chociaż większość procedur odtwarzania danych kończy się na odzyskaniu stosunkowo niewielkich ilości informacji, zdarzają się problemy, które będą wymagały działania w znacznie większej skali. Oprócz awarii macierzy dyskowej, przyczyną takich szkód może być błąd człowieka. Jeśli administrator wyłączy, a potem usunie udział LUN, z którego korzystała duża maszyna wirtualna, odtwarzanie z kopii bezpieczeństwa zajmie co najmniej kilka godzin. W przypadku kopii na taśmach i ograniczonym paśmie odtwarzania czas ten będzie jeszcze dłuższy. Wiele firm decyduje się na wprowadzenie mechanizmu cyklicznie wykonywanych kopii migawkowych na macierzach dyskowych. Prowadzone automatycznie kopie migawkowe można porównać do wielokrotnego polecenia „cofnij” obejmującego woluminy oraz LUNy. Nowoczesne macierze umożliwiają utworzenie historii kopii migawkowych i przedstawienie wybranej kopii do serwera wirtualizacyjnego. Dzięki integracji z systemem vCenter taką akcję można przeprowadzić z samego środowiska wirtualizacji, bez konieczności odwoływania się do systemu składowania danych na macierzach.
Dwie macierze – komplet danych
Wirtualizacja w bardzo szybkim tempie wkroczyła także do aplikacji krytycznych. Wysoka dostępność z wykorzystaniem klastra wirtualizacyjnego wprowadziła znaczącą poprawę jakości usług wielu aplikacji, ale potrzeby biznesu zaczęły sięgać jeszcze dalej. Obecne aplikacje muszą nie tylko być dostępne niemalże przez cały czas. Niedopuszczalna jest utrata danych, nawet w przypadku awarii. Większość dostawców urządzeń storage oferuje rozwiązania, które minimalizują ryzyko utraty danych, oferując synchroniczną replikację do drugiego urządzenia. Jeśli jedna z macierzy dyskowych ulegnie awarii, rezerwowa nadal jest dostępna. Synchroniczna replikacja jest szczególnie korzystna przy budowie rezerwowego ośrodka, gdyż minimalizyje ryzyko utraty danych w przypadku wyłączenia z eksploatacji całej serwerowni. Środowiska wirtualizowane dobrze wpisują się w tę strategię, umożliwiając szybkie przełączenie do ośrodka rezerwowego.
Pięć wyzwań backupu środowiska wirtualizowanego
Technologia wirtualizacji przyniosła nowe wyzwania związane z wykonywaniem kopii bezpieczeństwa. Są nimi: identyfikacja, medium, precyzja, procesy oraz wydajność.
Identyfikacja
Fizyczny serwer można zidentyfikować, jego adres IP i port sieciowy zmienia się rzadko, a zatem wszelkie problemy komunikacyjne da się stosunkowo łatwo rozwiązać. W środowisku wirtualizowanym identyfikacja maszyn napotyka na problemy, ponieważ same maszyny mogą przenosić się między fizycznymi serwerami klastra, a nawet między macierzami obsługującymi różne zasoby. Nawet jeśli adresy IP pozostają niezmienne, lokalizacja ulega zmianie, często maszyny są klonowane. W wyniku różnych migracji maszyn zaplanowana kopia bezpieczeństwa może się nie udać. Aby uniknąć tego problemu, należy odwoływać się do maszyny wirtualnej nie przez fizyczny serwer, na którym rezyduje, ale poprzez odwołanie do klastra lub obiektu w VMware vSphere.
Medium
Przy wykonywaniu kopii bezpieczeństwa powszechnie korzysta się z technologii śledzenia zmienionych bloków. Systemy te są dobrze przystosowane niemal wyłącznie do backupu na dysk, gdyż do odtworzenia wymagają częstego dostępu do starszej kompletnej kopii oraz do informacji o wszystkich zmianach od czasu jej wykonania. Mimo swoich zalet backup na dysk jest obarczony ograniczeniami w skalowalności i nie oferuje przenośności medium zapisu przydatnej przy przenoszeniu danych do rezerwowej lokalizacji poza firmą (takiej jak skrytka bankowa). Ograniczenia można minimalizować dzięki systemom backupowym, które obsługują różne media (także taśmę) i potrafią zapisać syntetyczny backup złożony ze starszej pełnej kopii po uwzględnieniu zmienionych od tego czasu bloków. Alternatywą dla wynoszenia taśm jest replikacja do zdalnego ośrodka. Chociaż rozwiązania macierzowe wykorzystujące kopie migawkowe działają dobrze, należy zapewnić wykonywanie kopii w sposób spójny i obejmujący wszystkie chronione zasoby.
Precyzja
Większość procesów odtwarzania danych wiąże się z przywracaniem niewielkich porcji informacji: pojedynczych plików lub katalogów albo danych w obrębie jednej aplikacji, takich jak załączniki poczty elektronicznej. Odtwarzanie całego serwera należy do rzadkości. Większość procesów odtwarzania wymaga zatem działania z dużą precyzją. Oprogramowanie, które po prostu kopiuje i odtwarza pliki, z których składa się maszyna wirtualna nie spełni pokładanych w nim nadziei, gdyż nie umożliwi odtworzenia pojedynczego obiektu. Jeśli oprogramowanie nie potrafi rozpoznać zawartości wewnątrz pliku i dokonać odtworzenia wybranej części danych, podczas przywracania wybranego obiektu narzędzia muszą odtworzyć całą maszynę wirtualną do tymczasowej lokalizacji. Proces ten trwa o wiele dłużej, zajmuje zasoby dyskowe oraz pasmo sieciowe, co może wpływać na wydajność pracujących aplikacji. O wiele lepiej działają narzędzia, które operują wewnątrz pliku maszyny wirtualnej, obsługując przy tym dwa najważniejsze formaty właściwe dla systemów wirtualizacji VMware’a i Microsoftu. Jeśli dodatkowo potrafią rozróżnić format zapisu najważniejszych aplikacji (na przykład serwera pocztowego), proces precyzyjnego odtwarzania może trwać znacznie krócej od przywracania całej maszyny. Technologii granularnego przywracania systemów należy używać ostrożnie, ponieważ niewłaściwe odtwarzanie może spowodować naruszenie spójności systemów.
Wydajność
Wirtualizacja umożliwia skonsolidowanie wielu systemów operacyjnych i pracujących w nich aplikacji na mniejszej liczbie serwerów hostujących. Skonsolidowane maszyny wirtualne umożliwiły dociążenie serwerów i możliwie pełne wykorzystanie nieużywanej dotąd mocy obliczeniowej procesorów serwera. Korzyści płynące z konsolidacji były powodem wdrożenia wirtualizacji w wielu firmach, ale razem z nimi pojawiły się problemy wydajnościowe spowodowane właśnie zgromadzeniem wielu maszyn wirtualnych na jednym hoście. Backup zawsze był obarczony ograniczeniami wydajnościowymi, nawet wtedy, gdy na potrzeby kopii bezpieczeństwa budowano dedykowaną sieć. Konsolidacja sprawia, że ograniczenia te stają się jeszcze poważniejsze, backup serwerów wirtualnych za pomocą infrastruktury i metod dostosowanych do serwerów fizycznych prowadzi w prostej linii do nadzwyczaj silnych problemów wydajnościowych. Ograniczenia można ominąć kopiując dane bezpośrednio z hosta, za pomocą odpowiednich interfejsów API (takich jak vStorage API for Data Protection, VADP). Obecnie wszystkie najważniejsze produkty dedykowane do środowiska wirtualizowanego korzystają z tych interfejsów, bowiem dzięki nim proces kopiowania nie wymaga sięgania do maszyny-gościa.
Backup darmowego ESXi
Oprogramowanie ESXi Hypervisor jest mocno ograniczoną, ale darmową wersją popularnego pakietu firmy VMware. Ponieważ nie ma możliwości skorzystania z pełnej funkcjonalności oferowanej przez komercyjny produkt, powstało wiele narzędzi firm trzecich, które oferują backup maszyn w takim środowisku. Większość darmowych wersji umożliwia backup tylko dwóch maszyn, użytkownicy mają do wyboru zakup oprogramowania komercyjnego lub nieco trudniejszych w obsłudze narzędzi takich jak XSIBackup.