Nie wszyscy wierzymy w wirtualizację. Fakt! Ale dzięki temu stabilność rozwiązania jest elementem na który wszyscy zwracamy największą uwagę, poza oczywiście potencjalnymi oszczędnościami. Wirtualizacja, rzecz nie tak całkiem nowa, jednak wciąż trochę tajemnicza przez co może jeszcze wydawać się nieco ryzykowna. Do nowych technologii większość podchodzi z dużym dystansem, czeka dopóki eksperymentalny z początku kod czy rozwiązanie przejdzie pomyślnie fazę tzw. 'przyswajania'. Jedynie wtedy możemy być pewni, ze niesprawdzony do końca produkt nie spowoduje u nas większych problemów niż oczekiwanych od niego zalet. My też tak robimy.
Wirtualizacja to temat, któremu bardzo mocno przyglądaliśmy się od co najmniej 3–4 lat, traktując z początku jako przereklamowane i niespecjalnie przydatne oprogramowanie (szczególnie w obszarze hostingu zarządzanego). Przed decyzją o próbnej implementacji rozwiązania VMWare poważnie rozważaliśmy wdrożenie IBM AS/400 z działającą w tym systemie architekturą partycjonowania zasobów. Wtedy wydawało się to rozwiązaniem znacznie lepszym – działającym od wielu lat, zaimplementowane na poziome sprzętowym i co ważniejsze – przetestowanym w największych środowiskach. Zaryzykowaliśmy jednak, kupiliśmy pierwsze licencje systemu VMware Infrastructure 3 oraz całkiem duże zaplecze testowe aby całość uruchomić. Efekt zaskoczył nawet nas.
Nie ma się czemu dziwić – obecnie rozumiana wirtualizacja zmienia definicje praktycznie każdego elementu związanego z systemami komputerowymi. Począwszy od projektowania, poprzez techniki zarządzania aż po modyfikację serwerów, ich komunikację, skalowalnoś i wydajność. Innowacyjność nie wynika jedynie z zastosowania nowego systemu operacyjnego ze zdolnościami do wirtualizacji. Wymaga zmian przede wszystkim u nas – zdolności do przybierania ról administratorów, specjalistów, projektantów oraz menadżerów – jednocześnie. Dotychczasowe konfiguracje serwerów pod konkretne zastosowania zostają zastąpione dużo większymi systemami i technologiami dostępnymi dotychczas tylko dla 'największych'. Wraz ze wzrostem skali rozwiązania rosną również potencjalne problemy, na które musimy być przygotowani. Dość powiedzieć, że nawet urządzenia, które do tej pory, wydawało się, będą odporne na wirtualizację, zostały błyskawicznie zwirtualizowane. Spójrzmy na jeden z najlepszych obecnie na rynku LoadBalancerów – Citrix NetScaler – do tej pory dostarczany wyłącznie jako dedykowany i dość kosztowny Appliance. Teraz można go kupić w formie wirtualnej maszyny którą trzeba i należy uruchomić we własnym środowisku. Możemy ją dowoli kopiować, klonować, a zachowuje się dokładnie jak jej starszy brat sprzętowy. Wpływa to na pojęcie redundancji, czy też układów fault–tolerance – teraz już nie trzeba kupować dwóch kosztownych fizycznych maszyn.
Wirtualizacje fizycznych zasobów serwera w celu tworzenia kilku odrębnych instancji systemu operacyjnego stosowano z sukcesem już w roku 1967. Po raz pierwszy technologia zaprezentowana była w oprogramowaniu firmy IBM – CP-40. Na stałe zagościła już w 1972 roku i dostępna jest do dziś w rozwiązaniach mainframe pracujących pod kontrolą systemu System/370. Daje to niemalże 40 lat doświadczeń i może z powodzeniem upewnić nas co do słuszności wyboru technologii.
Od czego zacząć projektowanie nowej infrastruktury? W przypadku dotychczasowych rozwiązań większość decyzji była prosta – wybieramy platformę o optymalnej mocy obliczeniowej, zadowalającej nas wielkości pamięci RAM oraz dysków i możemy być pewni, że przez dłuższy czas nie będziemy musieli do niej zaglądać. Nowy świat maszyn wirtualnych skupia się jednak wokół innego istotnego elementu – wydajności macierzy dyskowych. Kontrolery muszą być zaprojektowane i zoptymalizowane do pracy z dużą ilością hostów, gdzie kluczowym parametrem jest ilość możliwych jednoczesnych operacji w danej jednostce czasu – IOPS.
Inwestycja w serwery z najwydajniejszymi na rynku procesorami i pamięcią nie będzie trafiona, jeżeli hostowane w takim środowisku maszyny wirtualne będą tracić cykle procesorów czekając na zwolnienie kolejek operacji I/O. Łatwość tworzenia wirtualnych serwerów dodatkowo spowoduje, że o wiele częściej będziemy dążyć do tworzenia nowych instancji. Dyski macierzy nie będą obsługiwać tylko jednego serwera – liczby zdecydowanie będą szły w setki. [czarny scenariusz].
W K2 zdecydowaliśmy się na technologie oferowane przez VMWare oraz Hewlett-Packard. Codzienny nasz standard to scenariusze w których wielonodowe klastry serwerów ESX, hostują łącznie nawet po 300 maszyn, wykorzystując przy tym LUN'y skonfigurowane na grupach dyskowych RAID–5 (Vraid). Nie liczba maszyn jest osiągnięciem, ale rewelacyjne czasy dostępu do danych utrzymywane poniżej 20ms w godzinach największego obciążenia. Dopiero w takiej sytuacji możemy być pewni, że wszystkie pozostałe zasoby serwerów fizycznych będą wykorzystywane optymalnie.