Storage dla wirtualizacji

Środowisko wirtualizacji stawia wysokie wymagania systemom składowania danych. Przedstawiamy problemy związane z dostarczeniem wydajności i niezawodności rozwiązania.

Przy niewielkiej skali wdrożenia wydajność rzadko staje się problemem. W najprostszym wdrożeniu dysk maszyny wirtualnej jest tylko plikiem binarnym w systemie plików obsługiwanym przez hypervisor. Przy tym schemacie i dzisiejszych technologiach strat wydajnościowych nie da się uniknąć. Przy małej skali wdrożenia nie stanowi to problemu, ale w miarę wzrostu potrzeb i wielkości instalacji pojawiają się ograniczenia, dlatego należy minimalizować straty wydajności.

Systemy plików, na których znajdują się dyski maszyn wirtualnych, to rozwiązania klastrowe. W przypadku systemu VMFS liczba współdzielących jej hypervisorów ma duży wpływ na wydajność - im jest ich więcej, tym bardziej wydajność spada. Gdy chce się osiągnąć większą wydajność, niezbędne jest montowanie LUN bezpośrednio w maszynach wirtualnych, za pomocą mechanizmów w stylu RDM. Wyklucza to jednocześnie podstawowe metody backupu, gdyż nie występuje tu już zwykły plik, który można skopiować na dysk lub taśmę. Nadal występuje narzut obciążenia, chociaż mniejszy niż przy VMFS.

Mechanizm przypisania fizycznej karty HBA do serwera wirtualnego i bezpośrednie montowanie zasobów dyskowych niweluje straty wydajnościowe, ale blokuje maszynę wirtualną na fizycznym hoście. Wzrasta także stopień skomplikowania backupu i traci się argument, który przemawia za wirtualizacją - elastyczność i funkcjonalność - a pozostaje jedynie konsolidacja obciążeń na fizycznych hostach.

Od realu do wirtualu

Nowoczesne technologie storage, takie jak thin provisioning czy deduplikacja, umożliwiają dużą konsolidację maszyn wirtualnych na niewielkiej przestrzeni dyskowej. Zatem typowym błędem przy szacowaniu potrzeb związanych z wirtualizacją jest radykalne niedoszacowanie potrzeb w dziedzinie operacji wejścia/wyjścia. Podejście polegające na sumowaniu pojemności dotychczasowych serwerów i dzieleniu ich przez pojemność pojedynczego napędu (np. 600 GB SAS) bez uwzględnienia obciążenia sprawia, że typowym wynikiem jest żądanie zmieszczenia 40 serwerów na 10 dyskach. Nie uwzględnia się przy tym, że nawet niezbyt obciążone aplikacje przed wirtualizacją pracowały na dedykowanych woluminach LUN, mirrorach lub grupach RAID. Konsolidacja obciążeń wejścia/wyjścia w jednym urządzeniu o niedużej ilości fizycznych napędów oraz narzut związany z wirtualizacją sprawiają, że taka metoda obliczania zapotrzebowania prowadzi do klęski projektu.

Czym połączyć serwery z macierzą

Tradycyjne rozwiązanie polega na użyciu sieci SAN, korzystającej z różnych protokołów: Fibre Channel, iSCSI, FCoE lub udostępnienie plików za pomocą NFS.

Fibre Channel (w skrócie: FC) to przesłanie informacji magistrali SCSI za pomocą światłowodów. Jest to magistrala stabilna o niedużych opóźnieniach i wysokiej wydajności, ale mało elastyczna i kosztowna. Znajduje zastosowanie w centrach danych, w których panuje konserwatywne podejście do sieci SAN i poziom dostępności jest głównym czynnikiem decydującym przy wyborze technologii. Przy data center intensywnie wykorzystującym wirtualizację, FC wprowadza istotne ograniczenia, ponadto niektóre kwestie będą wymagały rozwiązań w przyszłości - na przykład problemy z deduplikacją w czasie rzeczywistym oraz odtwarzaniem kopii migawkowych. Wbrew powszechnej opinii, jest tylko marginalnie stabilniejsze i bardziej dostępne od IP.

Z kolei iSCSI łączy wszystkie wady protokołów Fibre Channel i IP, ale oferuje lepszą elastyczność od FC oraz bardzo niski koszt wdrożenia. Zatem przy małych obciążeniach związanych z najprostszymi i najmniejszymi wdrożeniami to nie najgorsza technologia. Jest najtańsza, a wada polegająca na trudności przełączania iSCSI nie jest problemem w tak prostym środowisku.

FCoE (Fibre Channel over Ethernet) enkapsuluje ruch FC w dziesięciogigabitowym Ethernecie. Optymalizacja przesyłu pod kątem FC sprawia, że w pewnych warunkach FCoE może być sprawniejsze od Fibre Channel z prędkością 8 Gb/s. Standard jest wykorzystywany za pomocą specjalnych kart, by połączyć się z HP VirtualConnect czy Cisco UCS. Jest to sprawne rozwiązanie, można oczekiwać bardzo szybkiego rozwoju tej technologii w najbliższej przyszłości.

Stary, dobry NFS

Oprócz dostępu blokowego, w wielu rozwiązaniach stosuje się dostęp plikowy, wykorzystując przy tym NFS. Ponieważ pliki maszyn wirtualnych są duże, rozmiar bloku w klastrowych systemach plików dla FC używanych przez hypervisory jest olbrzymi w kontekście klasycznych systemów plików. Ze względu na taki charakter dostępu różnice wydajnościowe pomiędzy FC i NFS w poprawnie skonfigurowanym środowisku są niewielkie, a NFS ma istotną przewagę - elastyczność. Po pierwsze, zarządzanie takimi połączeniami jest łatwe i wszystkie macierze NAS bezproblemowo obsługują eksport zasobów via NFS. Po drugie, odtworzenie pojedynczych plików za pomocą mechanizmów macierzowych jest bardzo proste i szybkie, ponadto dobrze działa wtedy deduplikacja, a tworzenie kopii bezpieczeństwa nie musi bazować wyłącznie na drogiej integracji online oferowanych przez aplikacje backupowe. NFS via 10 Gigabit Ehternet wcale nie jest wolniejszym medium niż Fibre Channel 8 Gbit/s, wymaga jedynie odrobinę więcej zasobów CPU po stronie kontrolerów. Różnicę należy jednak uwzględnić, gdyż kontroler, który poradzi sobie świetnie przy dostępie blokowym FC, być może nie wystarczy przy NFS, zakładając jednakową ilość operacji wejścia/wyjścia. Różnica wynika stąd, że przy pracy z Fibre Channel pakiety są enkapsulowane sprzętowo przez kontroler HBA (Host Bus Adapter), a w NFS - do protokołu IP przez procesor kontrolera. Jednym z niewielu wyjątków są macierze BlueArc, które mają sprzętową akcelerację pracy, w tym obsługi NFS. Akceleracja jest również obecna w kontrolerach CNA (Converged Network Adapter), będących opcjonalnym wyposażeniem macierzy NetApp czy EMC. Karty wymagają jednak specjalistycznej infrastruktury FCoE obecnej w rozwiązaniach serwerowych Cisco UCS. W każdym przypadku należy zaprojektować osobną szybką podsieć LAN wyłącznie na potrzeby połączeń via NFS.

Wirtualizacja storage’u - tak czy nie?

Rozwiązaniem, które coraz częściej toruje sobie drogę do data center różnych przedsiębiorstw, jest wirtualizacja składowania danych. Technologia umożliwia zastosowanie urządzeń storage różnych producentów i różnej konstrukcji, kierując właściwie strumienie danych z serwerów do odpowiednich urządzeń. Spełniając przy tym potrzeby biznesowe, umożliwia utworzenie pul składowania danych obejmujących różne zasoby - od bardzo szybkich dysków SSD, poprzez szybkie i względnie pojemne dyski SAS, aż to tańszych, ale znacznie wolniejszych dysków SATA. Utworzenie pul składowania danych podzielonych pod względem częstości przetwarzanych danych sprawia, że można dobrze wyzyskać istniejące technologie, odkładając najczęściej przetwarzane bloki lub pliki do najszybszych zasobów. Podział ten, nazywany tieringiem, można także realizować automatycznie, dzięki czemu administratorzy, którzy nie dysponują wystarczającą wiedzą, mogą z powodzeniem obsłużyć taki system. Automatyczny tiering zasobów jest obecnie jedną z opcji oferowanych przez różnych dostawców storage, zwłaszcza w urządzeniach kierowanych do sektora małych i średnich przedsiębiorstw.

Wirtualizacja storage’u umożliwia zrealizowanie scenariuszy replikacji danych między urządzeniami różnych producentów. Wprowadzenie dodatkowej warstwy abstrakcji między serwerami a macierzami umożliwia synchroniczną lub asynchroniczną replikację między urządzeniami praktycznie dowolnego producenta, przy czym proces będzie niezależny od możliwości macierzy.

Wadą wirtualizacji storage'u jest wprowadzenie narzutu na wydajność pracy systemu, z drugiej strony jest on rekompensowany przez zysk, spowodowany wydajniejszym strumieniowaniem danych z jednego lub wielu serwerów do jednego lub wielu źródeł danych jednocześnie. Należy pamiętać, że im bardziej skomplikowane są założenia tieringu, tym trudniej uzyskać optymalną wydajność - w gąszczu ustawień zagubił się niejeden administrator.

Kolejnym problemem, o którym często się zapomina, jest wprowadzenie kolejnego punktu awarii w momencie wdrożenia wirtualizacji storage’u. Komplikacja rozwiązań wirtualizacji storage’u nie pozwoli żadnemu specjaliście na ignorowanie tego czynnika, a ryzyko jest duże. Przykłady praktycznych wdrożeń takich rozwiązań jak FalconStor czy StorNext wskazują, że wdrożenia te ewidentnie łamią zasadę "im prostsze, tym stabilniejsze".

Komentarz

Dedykowane systemy zewnętrznych pamięci masowych stały się jeszcze bardziej istotnym elementem infrastruktury niż dotychczas: wirtualizacja serwerów wymusza konsolidację storage'u. W artykule zostały poruszone ciekawe elementy i zagadnienia, z którymi klienci wdrażający środowiska wirtualne będą się zmagać, m.in. z koniecznością podjęcia ważnych decyzji, kiedy nie istnieją jednoznacznie dobre i złe odpowiedzi na stawiane pytania. Nie istnieje jeden uniwersalny przepis na budowę swojej chmury, a już na pewno na zabezpieczenie znajdujących się w niej danych.

Comtegra jako ekspert w dziedzinie zarówno storage'u, jak i wirtualizacji, jest kompetentnym partnerem w budowie rozwiązań łączących obie te dziedziny. Posiadana wiedza oraz wieloletnia praktyka mają szczególnie duże znaczenie na etapie projektowania środowisk wirtualizacyjnych oraz są nieocenione na etapie budowy, integracji produktów różnych producentów, w codziennym serwisowaniu czy rozwoju.

Kompetencje i doświadczenie partnerów pozwalają uniknąć wielu zagrożeń i optymalnie zaprojektować cały system. Optymalnie, to znaczy bez wąskich gardeł, z właściwym doborem wszystkich komponentów, tak aby zapewnić realizację celu biznesowego. Istotne znaczenie ma wizja "storage forever", która adresuje zagadnienia przechowywania danych w perspektywie dłuższej niż 3 lata (typowy czas życia macierzy dyskowej). Kolejne wersje systemu VMware z mechanizmami typu Storage vMotion dają wiele nowych możliwości. W dużych i obciążonych systemach wirtualizacja storage’u, czy też właściwy dobór urządzeń składujących dane są niezbędne, aby w praktyce osiągnąć "dane na zawsze". Ma to znaczenie zwłaszcza dziś, gdy platformy wirtualizacyjne stają się prywatnymi chmurami, a ich elastyczność i bezprzerwowa praca są parametrami krytycznymi.

Powszechnie wiadomo, że wraz z rozrastaniem się środowisk informatycznych pojawia się problem z ich monitorowaniem i administracją. Warto zauważyć, że środowiska wirtualne cechują się szybszym rozrostem niż ich fizyczne odpowiedniki. Ma to podstawy w prostocie i szybkości tworzenia nowych serwerów. Na pocieszenie dodamy tylko, że technologia i w tym aspekcie nie stoi w miejscu. Narzędzia odpowiedzialne za proaktywne wyszukiwanie wąskich gardeł i automatyzację zadań administracyjnych przeżywają teraz prawdziwy rozkwit.

Przemysław Bandurski,

inżynier systemowy w firmie Comtegra

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200