Sześć sposobów szybkiej wirtualizacji

Wdrożenie wirtualizacji desktopowej wymaga wydajnych serwerów i pamięci dyskowych. Obecnie można pokładać nadzieje w pamięci Flash oraz w nowych opcjach środowiska VDI.

Wdrożenie wirtualizacji desktopowej (VDI - Virtual Desktop Infrastructure) z centralnie uruchamianym środowiskiem wiąże się z silną konsolidacją obrazów maszyn wirtualnych. Dzięki temu można ograniczyć koszty sprzętu, zapewniając elastyczność rozwiązania. Jednak wprowadzenie VDI sprawia, że tak mocno konsolidowane środowisko stawia bardzo wysokie wymagania systemom składowania danych. Gdy wszystkie obrazy i dane muszą być składowane na dyskach, powinny zaoferować bardzo szybki transfer, by nie spowolnić pracy środowiska.

Przy dzisiejszych procesorach barierą wydajnościową i wąskim gardłem przy większości wdrożeń nie jest niedostateczna moc procesorów, ale wąskie pasmo dostępu i powolne składowanie najczęściej przetwarzanych porcji danych. Jeszcze kilka lat temu odpowiedzią na problem z operacjami wejścia/wyjścia w skonsolidowanych środowiskach była instalacja macierzy dyskowej z dużą liczbą napędów, by rozłożyć obciążenie na wiele dysków. Obecnie znacznie lepsze efekty można uzyskać za pomocą pamięci półprzewodnikowej.

Dzięki kilku nowym opcjom środowiska wirtualizacji desktopowej VMware View 5.1 można skutecznie usprawnić jego pracę w połączeniu z pamięcią półprzewodnikową. Wśród oferowanych możliwości optymalizacji środowiska VDI należy wymienić:

- dostosowanie liter dysków z tymczasowymi zasobami (Disposable Disk);

- akcelerację za pomocą pamięci RAM w serwerze;

- lepszą integrację z macierzami dyskowymi;

- klastry z NFS obsługujące do 32 hostów.

Podczas testów przeprowadzonych na konferencji VMworld 2012 specjaliści Jeff Whitman z firmy VMware i Victor Backman z Fusion-IO zademonstrowali sprawne hostowanie 200 obrazów VDI z pojedynczego dwuprocesorowego serwera, wykorzystując poniższe porady. Wadą tej konfiguracji jest nieprzenośność maszyn między serwerami podczas pracy (brak vMotion).

1. Macierze i moduły SSD

Pamięć półprzewodnikowa (SSD) w porównaniu do dysków mechanicznych charakteryzuje się bardzo małymi opóźnieniami losowego odczytu i o wiele lepszą przepustowością. Licząc na operację wejścia/wyjścia, jest to rozwiązanie najtańsze, i to mimo wysokiej ceny modułu. Obecnie niemal wszyscy producenci macierzy dyskowych korzystają z SSD. Niektóre macierze traktują dyski mechaniczne tylko jako miejsce długoterminowego składowania danych lub w ogóle nie zawierają dysków mechanicznych. Takimi macierzami są: XtremIO, Violin Memory, Pure Storage czy Texas Memory Systems RamSan.

Są też rozwiązania specjalizowane pod kątem wirtualizacji, np. Nutanix, NexGen czy Pivot3. Produkty nie są tanie, ale bardzo szybkie, co ma znaczenie w środowisku wirtualizowanym. Istnieją również rozwiązania programowe, zapewniające deduplikację i uruchamiane jako maszyna wirtualna pomiędzy hypervisorem a macierzą dyskową lub dyskami lokalnymi, m.in. Atlantis ILIO. Nawet najszybsze macierze nadal znajdują się daleko od procesora, a zatem transmisja będzie się odbywała wolniej niż przy pamięci SSD bezpośrednio dołączanej do płyty głównej magistralą PCI Express.

2. SSD w serwerze

Zamiast lub obok wydajnych, ale bardzo kosztownych szybkich macierzy dyskowych coraz częściej oferowane są rozwiązania wykorzystujące pamięć Flash w serwerach. Takie rozwiązanie może usprawnić pracę środowiska VDI, gdyż karty SSD połączone są z procesorami serwera za pomocą bardzo szybkiej magistrali PCI-Express. Oczekiwaną przepustowość wejścia/wyjścia można osiągnąć bez nadzwyczaj szybkiego kontrolera pamięci masowej, dużej liczby dysków i szerokopasmowej magistrali SAN.

Metoda ma wiele zalet, gdyż odciąża magistralę SAN, przenosi obciążenie blisko procesora w serwerze, więc daje możliwość radykalnego przyspieszenia pracy środowiska wirtualizowanego. Wadą jest ograniczona pula zasobów przechowywanych w pamięci, ze względu na jej wysoki koszt.

Victor Backman mówi: "Jeśli oprogramowanie potrafi wydzielić najbardziej obciążone partie danych, to nawet jedna wydajna karta SSD łączona za pomocą PCI Express da bardzo dobre efekty za rozsądną cenę. Wystarczy gorące dane składować właśnie na niej, a pozostałe odłożyć przez sieć SAN na zwykłą macierz dyskową lub nawet na lokalne dyski serwera".

3. Pamięć RAM jako bufor

Istotną opcją, która radykalnie zmniejsza użycie zasobów wejścia/wyjścia, jest wykorzystanie pamięci RAM jako cache. Za pomocą opcji VSA (View Storage Accelerator) oprogramowania View można przydzielić do 2 GB fizycznej pamięci RAM serwera do przechowywania najczęściej odczytywanych bloków danych. Dzięki temu można zmniejszyć ruch w sieci SAN nawet o 80%. Akcelerator jest dostępny od wersji VMware vSphere 5 wraz z VMware View 5.1. Działa w sposób przezroczysty dla wirtualizowanych systemów, można go zastosować w każdej konfiguracji.

Efekty wykorzystania pamięci widać wyraźnie podczas startu wielu obrazów, gdy występuje skrajne obciążenie podsystemu wejścia/wyjścia. Jeśli tylko serwer ma wolną pamięć RAM, to opcja View Storage Accelerator jest jedną z pierwszych, które warto włączyć, ale trzeba rozważnie z niej korzystać.

"Akcelerację VSA należy stosować uważnie w środowiskach z nadrezerwacją pamięci (memory overcommit). Pliki skrótów (digest files) zajmują przestrzeń dyskową, co trzeba uwzględnić w szacunkach wolnej przestrzeni. Typowa rezerwacja pamięci VSA to od 5 do 12 MB na każdy gigabajt pliku vmdk, ale jeśli administrator chce maksymalnie wyzyskać akcelerację tą drogą, musi przeprowadzić strojenie" - wyjaśnia Jeff Whitman.

4. Klonowanie za pomocą macierzy dyskowej

Operacje tworzenia obrazów wiążą się z kopiowaniem niektórych bloków dysków. Integracja z macierzami za pomocą VCAI (View Composer Array Integration) sprawia, że część operacji dotąd realizowanych przez hypervisor będzie wykonywać "w tle" macierz dyskowa. Zrobi to szybciej i sprawniej niż hypervisor.

Obecnie tylko macierze NetApp i EMC mają certyfikację do tak głębokiej integracji ze środowiskiem wirtualizowanym. Certyfikacja do integracji z nowym API dla VMware View (VCAI) jest w toku. Jeff Whitman mówi: "Opcja ta jest nadal w fazie prób, nie jest oficjalnie wspierana. Pojawiają się problemy przy skalowaniu ponad 2000 desktopów, ale niektóre firmy prowadzą zaawansowane testy. Na razie należy używać jej na własne ryzyko. Gdy pojawi się certyfikacja VCAI, będzie można ją wdrożyć produkcyjnie".

5. Testy

Aby sprawnie określić maksymalną gęstość konsolidacji maszyn wirtualnych środowiska VDI, należy przeprowadzić praktyczne testy. Próby przeprowadzili badacze Victor Backman i Jeff Whitman na serwerze wyposażonym w dwa 16-rdzeniowe procesory AMD 6282, 256 GB pamięci RAM, dwa dyski lokalne SATA, jedną kartę Flash ioDrive II o pojemności 1,2 TB firmy Fusion-io oraz VMware vSphere 5 i View 5.1. Obraz klienta zawierał: system Windows 7 w wydaniu 64-bitowym, 1,5 GB RAM, jeden wirtualny procesor, 32 GB pamięci dyskowej, opcję linked clone. Do testów wykorzystano oprogramowanie View Planner, ale można użyć także narzędzia LoginVSI. "Podczas określania profilu pracy środowiska wybraliśmy kilka aplikacji biurowych, takich jak: pakiet Microsoft Office, dwie przeglądarki internetowe (Internet Explorer i Mozilla Firefox), czytnik PDF i odtwarzacz wideo. Po kilkakrotnej iteracji zapisaliśmy profil i mierzyliśmy czas odpowiedzi przy różnej gęstości konsolidacji, przy wyborze kierowaliśmy się czasem odpowiedzi" - mówi Jeff Whitman.

Aby określić wariant podstawowy, badacze uruchomili pojedynczą maszynę, osiągając czas odpowiedzi 0,53 s. Przy 100 maszynach czas wzrósł do 0,61 s, przy 200 maszynach - do 0,75, a przy 250 było to już 1,03 s. Jednocześnie badacze obserwowali obciążenie procesorów serwera, notując 30% przy jednej maszynie, 60% przy 150 z nich, 100% przy 250 maszynach wirtualnych uruchomionych na pojedynczym serwerze. Analizując użycie pamięci (nieduże) i procesorów (znaczące powyżej 170 maszyn), badacze ustalili najkorzystniejszą gęstość na 200 maszyn.

6. Strojenie

Aby uzyskać najlepszą wydajność, uczeni zdecydowali się na konfigurację, w której pamięć Flash, połączona magistralą PCI Express, przechowuje obrazy i dane maszyn wirtualnych, a na zewnętrznych zasobach SAN lub dyskach lokalnych są składowane dane użytkownika. Ponieważ pamięć SSD jest bardzo droga, trzeba zmniejszać jej zużycie - należy pilnować plików linked clone, tymczasowych oraz replik.

Warto zarezerwować udział pamięci dla maszyny wirtualnej, by zmniejszać użycie pliku wymiany pamięci wirtualnej w systemie Windows. "W natywnej instalacji Microsoft Windows bezpośrednio na sprzęcie korzystanie z pliku wymiany zmniejsza wydajność, ale przy składowaniu danych w pamięci półprzewodnikowej proces wymiany jest o wiele sprawniejszy. Warto jednak minimalizować proces swapowania, by ograniczyć zapis do pamięci Flash. Ustawienie rezerwacji pamięci w Windows znacznie poprawia wydajność, co widać także po czasie odpowiedzi. Jeszcze lepsze efekty daje włączenie i dostrojenie akceleracji VSA" - wyjaśnia Victor Backman.

Po dostrojeniu parametrów pracy środowiska badacze uzyskali sprawną pracę dwustu obrazów VDI na pojedynczym serwerze.

Ile to kosztuje

Rezygnacja z kosztownych macierzy dyskowych o wysokiej wydajności umożliwia radykalne obniżenie kosztów. Według obliczeń autorów przeprowadzonych na konferencji VMworld 2012 testów:

- 450 desktopów VDI hostowanych na czterech przykładowych serwerach Dell R815,

- 360 licencji View, po 250 USD każda (80% konkurencyjnego wykorzystania),

- licencje na cienkiego klienta (300 USD każda),

- licencje Microsoft VDA (100 USD rocznie)

oznacza koszt pojedynczego desktopu w granicach 215 USD za użytkownika rocznie w ciągu trzech lat. Jest to mniej niż jedna trzecia kosztów podobnego wdrożenia realizowanego rok temu. Koszt został oszacowany na podstawie badań w laboratorium, gdzie testowano typowe oprogramowanie. Przy zastosowaniach wymagających zasobów większych niż dla typowego biura koszt ten może być wyższy, gdyż niezbędne będą mocniejsze serwery.


TOP 200