Wirtualizacja à la Microsoft, część II

0

Rozmowa z Michałem Jędrzejczakiem, Głównym Architektem Rozwiązań Infrastruktury IT w polskim oddziale firmy Microsoft.

Pierwszą część wywiadu można przeczytać tutaj.

Virtualfocus: Dlaczego ponad rok po premierze Hyper-V wciąż znacznie więcej klientów używa produktów VMware?

Michał Jędrzejczak: Wprawdzie Virtual Server Microsoftu istnieje od dawna, ale kiedyś był to zupełnie inny poziom wirtualizacji. Nie mieliśmy hypervisora porównywalnego z ESX’em. O ile VMware startował szybciej od nas z wirtualizatorem, który działa bezpośrednio na sprzęcie, to narzędzia administracyjne Microsoft ma od wielu lat. Oni dopiero zaczynają z narzędziami do wykorzystania do infrastruktury wirtualnej. Microsoft posiada Operations Managera już od 8 lat, jak również API antywirusowe w systemie. VMware dopiero zaczyna nad tym prace, a przecież wirtualizacja serwerów składa się kilku elementów – z wirtualizatora, z warstwy administracyjnej i integracji z innymi komponentami.

Nasza strategia jest następująca: zakładamy, że wirtualizatory mogą być różne, ale każdy z nich, nawet taki, który się pojawi w przyszłości, będzie mógł być zintegrowany z System Center, ponieważ klienci mają mieszane systemy i mało jest takich, którzy mają serwery jednego producenta. VMware próbuje poszerzyć swoje portfolio i inwestuje w monitoring, ponieważ takie są oczekiwania klientów, jednak przed nimi jeszcze długa droga.

Rafał Janus: Czy w związku z udostępnieniem Windows Server 2008 R2 zawierającym nową wersję Hyper-V wzrosło zainteresowaniem tym rozwiązaniem do wirtualizacji serwerów?

Michał Jędrzejczak: Podczas każdej rozmowy klienci pytają o Hyper-V. Zainteresowanie jest spore, ponieważ HyperV jest rolą Windows Servera 2008. Jeśli klienci mają ten system, testują HyperV. Ponieważ jest integralną częścią systemu operacyjnego, a nie osobnym produktem, trudno jest śledzić jego sprzedaż. Jeśli jednak cykl wymiany serwerów trwa mniej więcej cztery lata, to można przyjąć, że za dwa lata połowa serwerów będzie miała Windows Server 2008 z Hyper-V.

Rafał Janus: Pod względem funkcjonalności musicie gonić konkurencję. Jakich rozwiązań można spodziewać się w kolejnej wersji Hyper-V?

Michał Jędrzejczak: Ważniejsze, aby klienci zaczęli używać tego, co jest w tej chwili dostępne. Nie zgodziłbym się z tezą, że musimy gonić konkurencję. W tej kwestii jest wiele mitów. Na przykład spotkałem się z opinią, że całkowity koszt utrzymania infrastruktury na VMware jest dwukrotnie niższy, ponieważ współczynnik konsolidacji jest dwukrotnie wyższy w porównaniu z Hyper-V.

Jest to nieporozumienie, które bierze się stąd, że VMware oferuje technologię Memory over Commitment. Pozwala ona zmieścić w pamięci hosta wirtualizacyjnego większą ilość gości wirtualnych niż wynikałoby to z ograniczenia ilości fizycznej pamięci RAM. Do składowania danych z pamięci wykraczającej poza fizyczną pamięć RAM host wykorzystuje plik wymiany na dysku. Jakie są skutki? Po pierwsze: część obciążenia z serwera produkcyjnego przenosi się na system dyskowy, który jest o wiele wolniejszy wolniejszy od pamięci RAM. Po drugie: wątpliwa staje się separacja procesów między sobą, ponieważ ten sam fragment RAM’u jest przydzielony w różnych momentach do różnych maszyn wirtualnych. Taka sytuacja grozi potencjalnym atakiem, bo jakaś aplikacja może przeczytać to, co po sobie pozostawił w pamięci inny proces. Być może dlatego sam producent odradza stosowanie tej technologii na maszynach produkcyjnych. W dokumentacji VMware zaleca użytkownikom, aby upewnić się, że w fizycznym serwerze jest więcej RAM’u, niż w sumie potrzebują goście. A zatem, można zrobić takie testy, które wykażą przewagę tej technologii, jednak istotą rzeczy jest zrozumienie, jak ona faktycznie działa.

Virtualfocus: Czy przypomina Pan sobie jeszcze jakieś mity dotyczą produktów VMware?

Michał Jędrzejczak: Często klienci mylnie sądzą, a dotyczy to wszystkich rozwiązań do wirtualizacji, że funkcje VMotion czy Live Migration, pozwalają na wysoką dostępność systemu. Jeśli coś złego dzieje się z hostem, funkcja ta ma jakoby umożliwić przeniesienie wirtualnych maszyn na inny serwer fizyczny. Jeśli jednak host rozpada się, np. coś się stanie z płytą główną, to nie mamy czego przenosić.

Wysoką dostępność zwykle liczymy na poziomie dostępu do danych, np. do bazy danych. Usługa przestaje być dostępna nie tylko z tego powodu, że serwer ulegnie awarii albo system operacyjny przestanie reagować. Z samą usługą również mogą być problemy. Jeżeli spotkamy się z taką sytuacją, to przeniesienie maszyny wirtualnej, w której zaciął się serwer bazodanowy na drugiego hosta nie rozwiąże nam problemu. Klienci nadal nie będą mogli korzystać z bazy. Technologią, która jest od lat związana z wysoką dostępnością źródła danych są klastry, np. w przypadku SQL’a, który przestał reagować, kończą one proces na jednym węźle i uruchamiają nową instancję na innym węźle klastra. Aplikacja zostaje uruchomiona, baza danych znajduje się na zewnętrznej pamięci masowej, jest montowana przez instancję SQL-a i zaczyna ponownie obsługiwać klientów.

Inny mit jest związany z vSphere 4. VMware ogłosił API antywirusowe VMsafe w hypervisorze. Z tego co wiem, na razie nie ma jednak producenta, który by zrobił takiego antywirusa. Jeśli w hoście wirtualnym mamy czterech gości, a w każdym z nich jest inny system operacyjny, to mamy dwa wyjścia: zainstalować w każdym oprogramowanie antywirusowe, które jest napisane pod konkretny system operacyjny albo – i takie podejście proponuje VMware – zrobić uniwersalnego antywirusa i wrzucić go na poziom wirtualizatora. Trudno jednak wyobrazić sobie uniwersalny skaner antywirusowy, który działa lepiej niż rozwiązania dedykowane.

Virtualfocus: Moim zdaniem nie jest to pozbawione sensu. Przecież większość wirusów działa w Windows. Może wystarczy monitorować wszystkich gości z Windows, aby wyeliminować 95% wirusów?

Michał Jędrzejczak: Tylko co wtedy, jeśli mamy bramkę SNTP na Linuksie ze skanerem antywirusowym? Uniwersalne rozwiązania nie zawsze pasują do wszystkiego. Dochodzi jeszcze problem natury technicznej. Załóżmy, że u każdego z czterech gości mamy do przeskanowania 1 GB danych. Skanowanie wykonuje procesor. Jakie ma znaczenie, czy zostanie ono wykonane na poziomie hypervisora czy na poziomie gościa? W gościu jest skaner świadomy struktury źródła, który ma dużo sprytniejsze algorytmy.

Z powodu lawinowo rosnącej liczby nowych wirusów coraz trudniej jest je wykrywać na podstawie sygnatur. Z tego powodu, zagrożenia nowym narzędziem obrony są algorytmy heurystyczne, które próbują oszacować, czy jakiś proces może być groźny, na podstawie jego zachowań. Do tego konieczna jest świadomość tego, co się dzieje wewnątrz gościa. Skaner na poziomie hypervisora będzie miał dużo mniej świadomości, niż skaner zintegrowany z systemem operacyjnym albo z konkretnym źródłem danych, jak np. skaner poczty.

Co wtedy, gdy mamy szyfrowane transmisje end-to-end, SSL i tunele zestawiane poprzez warstwy wirtualizatora? Skaner na poziomie hypervisora przerzuca tylko pakiety, ale nie ma kluczy do wyciągnięcia zawartości. Skaner musi być więc na końcówce klienta, bo wtedy może, np. wychwycić wiadomości e-mail, jeśli zostanie ona odszyfrowana z użyciem certyfikatu użytkownika. Certyfikat może być w systemie operacyjnym, ale jeśli klient ma go na karcie chipowej, to skaner hypervisora nie zadziała skutecznie. Takie rozwiązanie ma więc sporo słabych stron. To tak, jakbyśmy próbowali wprowadzić uniwersalny protokół sieciowy. Pomijając protokół IP, w warstwach aplikacyjnych mamy różne protokoły.

Virtualfocus: Klienci VMware’a, którzy korzystali z klastra Microsoftu, narzekają na problemy z zarządzaniem i konfiguracją. Ich zdaniem kłopot rozwiązuje dopiero migracja do środowiska wirtualnego. Co Pan na to?

Michał Jędrzejczak: Zapytałbym takiego klienta, jaki konkretny problem rozwiązała migracja do wirtualnego środowiska. Z moich doświadczeń wynika, że w dużej mierze takie trudności biorą się z niewiedzy. Jeśli mowa o klastrowaniu, to chodzi o klastrowanie źródła danych, typu SQL Exchange czy Oracle, a nie o klastrowanie gościa wirtualnego. Do akcji przeniesienia i recyclingu aplikacji, czyli jej likwidacji na jednym węźle i odtworzenia na drugim, musi dojść w wyniku obserwacji tego, co robi aplikacja, a nie tego, czy host odpowiada na monitoring. Zwykle korzystamy wtedy z możliwości, które producent wbudował w źródło danych. Bo źródło danych najlepiej wie, co zrobić, żeby odtworzyć swój stan, tj. dokonać recyclingu. W przypadku SQL’a może to być wycofanie nieskomitowanych transakcji albo odtworzenie tych, które już zostały skomitowane, ale nie znalazły się jeszcze w pliku bazy. Do tego jest konieczna świadomość tego, jak działa obciążenie, a nie tego czy na dysku C: mamy wolne miejsce i czy interfejs hosta fizycznego czy wirtualnego odpowiada na pingi.

Virtualfocus: Lista systemów operacyjnych wspieranych przez VMware’a jest znacznie dłuższa niż w przypadku Hyper-V. Z czego do wynika i czy Microsoft rozszerzy listę systemów obsługiwanych przez Hyper-V?


Michał Jędrzejczak:
Na liście VMware są systemy, których nie wspierają już sami producenci, np. Microsoft nie wspiera już NT 4.0. Jak więc VMware może wspierać taki system? Wiele dystrybucji linuksowych ma wsparcie jedynie społeczności, tzn można zwrócić się z prośbą o pomoc, ale nie ma gwarancji odpowiedzi. A przecież wsparcie techniczne jest potrzebne klientowi po to, żeby na koniec dnia działała mu baza danych. Jeśli uwzględnimy wirtualizację serwerową, to ten cały łańcuszek składa się ze sprzętu, wirtualizatora, systemu operacyjnego gościa, z silnika bazodanowego, może z jakichś aplikacji.

O wsparciu mówimy wtedy, gdy klient uzyskuje pomoc, wykonując jeden telefon. Dzwoni, wyjaśnia, co jest nie tak, i po 24 godzinach może liczyć na rozwiązanie problemu. Microsoft dostarcza takie wsparcie bezpośrednio na platformie sprzętowej – pod warunkiem, że system operacyjny i aplikacja jest zainstalowana na sprzęcie, który znajduje się na liście HCL – Hardware Compatibility List. Możemy zapewnić takie wsparcie, bo mamy odpowiednią ilość systemów w laboratoriach, co pozwala odtworzyć konkretny problem.

Jeśli mamy platformę wirtualną VMware i klient zadzwoni do Microsoftu, że SQL przestał działać, to nasze wsparcie techniczne poprosi o odtworzenie problemu na sprzęcie, ponieważ nie mamy dostępu do tego, co się dzieje na poziomie hypervisora ESX. A zatem zapewniamy wsparcie dla klientów, którzy uruchamiają swoje Windowsy na tym hypervisorze, ale wtedy prosimy o odtworzenie problemu na sprzęcie z listy HCL albo na platformie Hyper-V.

Virtualfocus: VMware oferuje rozwiązanie do równoważenie obciążenia w wirtualnym środowisku – Distributed Resource Scheduler. Czy dla Hyper-V Microsoft ma podobny mechanizm?

Michał Jędrzejczak: Monitorowanie obciążenia procesora i pamięci RAM nie wystarczy, aby podejmować sensowne decyzje. Procesory mogą mieć sporo zasobów, jednak może zwiększyć się obciążenie systemu dyskowego albo interfejsów sieciowych. Aby monitoring był skuteczny, musi obejmować cztery elementy: procesory, pamięć, kanały sieciowe i kanały dyskowe. Nie wiemy przecież, czy skok obciążenia nie jest chwilowy i nie wynika z charakterystyki aplikacji?

Teraz dąży się do monitoringu end-to-end, który obejmuje całą usługę, np CRM. Taki monitoring dzieli ścieżkę związaną z usługą na drobne fragmenty i osobno poddaje kontroli każdy z nich – sprzęt, sieć, bazę danych, systemy aplikacyjne, użytkownika z jego okienkiem itd. Jeśli administrator chce w odpowiedzialny sposób monitorować taką usługę, to musi posługiwać się modelem end-to-end. Wprawdzie w niektórych firmach są administratorzy odpowiedzialny wyłącznie za hosty wirtualizacyjne – wtedy wystarczą im rzeczywiście narzędzia VMware. Jednak wielu klientów prosi o umowy SLA na usłudze. W tym modelu wirtualizacja jest tylko jedną z wielu różnych części. To, co ja robię z usługą, np. używam Clustering Service, czy Live Migration, czy wplatam w to wirtualizację aplikacji czy inne technologie – te wszystkie rzeczy muszę objąć monitoringiem.

Od ośmiu lat oferujemy monitoring systemów. System Center Operations Manager zbiera dane z różnych obiektów w serwerowni. Część z nich dotyczy SQL’a, a część wirtualizacji. Virtual Machine Manager i System Center Operations Manager są ze sobą sprzężone. Jeśli Operations Manager zauważy niepokojące sygnały w jakimś miejscu monitoringu end-to-end, to może przekazać pewne sugestie do VMM, a dokładniej do modułu, który nazywa się Performance and Resource Optimization (PRO). Administrator może przeglądać informacje z Operations Managera albo tak skonfigurować system, żeby automatycznie wykonywał on akcje związane z danym problemem.

Przykładowo, jeśli Operations Manager zauważy, że pewne systemy są przeciążone i nie jest to chwilowa zmiana, to wtedy VMM może zainicjować akcję przesunięcia maszyny z jednego hosta na drugi. A zatem VMM służy do zarządzania wirtualizacją, a nie dubluje funkcjonalności Operations Managera. Jest to dużo dojrzalsze rozwiązanie niż narzędzia VMware, ponieważ umożliwia monitoring end-to-end. Jedną z jego akcji może być, np. przesunięcie nie tylko maszyny, lecz także bazy z backupu danych, jeśli baza straciła spójność. Możemy więc tworzyć dowolnie zautomatyzowane systemy. Narzędzia VMware tego nie potrafią, bo nie są wrażliwe na to, co się dzieje wewnątrz gości. Obserwują je tylko z zewnątrz.

Virtualfocus: Na polu wirtualizacji VMware współpracuje z wieloma firmami, z producentami sprzętu, aplikacji, np. Cisco zrobiło wirtualny przełącznik dla VMware. Jak taka współpraca wygląda w przypadku Microsoftu?

Michał Jędrzejczak: Oprócz Microsoftu nie ma drugiej firmy, która ma tak bogatą dokumentację dla deweloperów do pisania rozszerzeń do swoich systemów. Jest mnóstwo rozszerzeń do Operations Managera, do najróżniejszych aplikacji. Hyper-V jest rolą Windows Servera, pewnie też pojawią się jakieś rozszerzenia, w każdym razie nie ma dokumentów, które by tego zabraniały. Pamiętajmy jednak, że dla użytkownika ważna jest funkcjonalność biznesowa. Można ją realizować na różne sposoby. VMware rzeczywiście współpracuje z wieloma producentami, np. nie ma własnego narzędzia do backupu, więc piszą go inne firmy. Ostatnią zresztą VMware zasugerował firmie, która robi backup dla ESXi, żeby go już nie wspierała. Dla porównania Microsoft Hyper-V Server 2.0 w pełni współdziała z klastrami, z Cluster Share Volume, Light Migration, Volume Shadow Copy, ze wszystkimi API programowymi.

Virtualfocus: Jaki będzie wirtualizator przyszłości?
Michał Jędrzejczak: Przypuszczam, że za parę lat stanie się tym, czym teraz jest BIOS. Teraz już nikogo nie interesuje, kto jest producentem BIOS-u, który działa na naszym sprzęcie. Będziemy więc kupować nowy serwer, a w nim będzie już wirtualizator. Dla klienta ważne jest, aby miał narzędzia, które pozwolą, np. wykreować maszynę, przenosić ją, serwisować i integrować z heterogeniczną infrastrukturą. Wirtualizacja jest kolejnym elementem infrastruktury, którym administrator musi się zająć i potrzebuje do tego efektywnych narzędzi. Same hypervisory są już teraz za darmo.

Rozmawiał Rafał Janus

Pierwszą część wywiadu można przeczytać tutaj.

BRAK KOMENTARZY

ZOSTAW ODPOWIEDŹ