Serwery wiecznie żywe

Dziesiątki instancji, klastry geograficzne, równoważenie obciążeń, a wszystko to w środowisku maszyn wirtualnych - tak buduje się środowiska aplikacyjne o naprawdę wysokiej dostępności.

Dziesiątki instancji, klastry geograficzne, równoważenie obciążeń, a wszystko to w środowisku maszyn wirtualnych - tak buduje się środowiska aplikacyjne o naprawdę wysokiej dostępności.

W dużych organizacjach wysoka dostępność usług i aplikacji jest jedną z najważniejszych trosk działów IT. Optymalizacja procesów osiągnęła w nich poziom, przy którym awaria aplikacji jest równa "awarii organizacji". Nic zatem dziwnego, że rozwiązania pozwalające utrzymać systemy i aplikacje w ruchu pomimo nieuniknionych problemów z poszczególnymi elementami środowiska, wciąż są doskonalone.

Problem w tym, że pochodną dużej skali bardzo często są niestandardowe potrzeby, których nie zaspokajają produkty instalowane prosto z pudełka. Dlatego też duże firmy są zmuszone kreatywnie wykorzystywać to, co jest dostępne na rynku. Ciekawy projekt tego typu zakończył się niedawno w Polkomtelu, który dąży do tego, by wszystkie ważniejsze aplikacje mogły bezproblemowo działać w jednym z dwóch ośrodków przetwarzania.

Budowa środowiska business continuity to dla Polkomtela cel długofalowy, którego realizacja z konieczności jest rozłożona w czasie. Bezpośrednim celem omawianego tu projektu była natomiast chęć stworzenia "niezatapialnego" środowiska do udostępniania serwerów aplikacji. Rozwiązanie stworzone wspólnie przez dział Departament Infrastruktury Informatycznej Polkomtela i inżynierów IBM łączy w sobie klastrowe środowisko, platformy wirtualizacyjne VMware ESX Server i Vmotion oraz replikację na poziomie macierzy dyskowych.

Serwer mieć niezatapialny

"Na prawdziwie wysoką dostępność składają się dwa zabiegi. Pierwszy to zwielokrotnienie chronionego środowiska i zapewnienie mu szybkiej i niezawodnej metody przejęcia obciążenia przez środowisko zapasowe. Drugi to sprawna odbudowa środowiska, które uległo awarii, by mogło służyć jako zabezpieczenie dla środowiska, które właśnie przejęło jego obciążenie.

Serwery wiecznie żywe

Roman Wiśniewski, dyrektor Departamentu Infrastruktury Informatycznej w Polkomtel SA

Ograniczenie się jedynie do pierwszego może być interesujące dla firmy średniej, ale nie dla dużej, która konsoliduje kilka serwerów aplikacji w jednym systemie
" - mówi Roman Wiśniewski, dyrektor Departamentu Infrastruktury Informatycznej w Polkomtel SA.

Fundamentem sprzętowym rozwiązania wysokiej dostępności zbudowanego w Polkomtelu są dwa serwery IBM eServer xSeries 445 działające w odległych od siebie lokalizacjach na terenie Warszawy. W każdej z lokalizacji zainstalowano też VMware ESX Server 2.51 jako system podstawowy (system-gospodarz), na którym działa środowisko maszyn wirtualnych Windows Server 2003 i Linux.

Klastry w macierz wpięte

Niezależnie od równoważenia obciążenia, korespondujące ze sobą systemy-gospodarze tworzą dwa równolegle działające klastry, komunikując się ze sobą poprzez firmową sieć WAN. Jeśli cały serwer fizyczny ulegnie awarii, oprogramowanie VMotion współdziałające z zewnętrznym systemem-arbitrem zapewnia automatyczne przeniesienie systemów i aplikacji do drugiej lokalizacji.

"W większości firm taki poziom zabezpieczeń będzie wystarczający, ale w tym wypadku stawką jest dostępność danych dla kilkunastu ważnych aplikacji" - mówi Roman Wiśniewski. Z tego właśnie powodu serwery aplikacyjne w Polkomtelu zostały zainstalowane na maszynach wirtualnych środowiska VMware ESX Server 2. "Odtwarzanie serwerów działających wewnątrz maszyn wirtualnych trwa wielokrotnie krócej, niż gdybyśmy chcieli odtwarzać środowiska działające bezpośrednio na sprzęcie" - mówi Krzysztof Krawczyk, kierownik Działu Administratorów Infrastruktury Informatycznej w Departamencie Infrastruktury Informatycznej w Polkomtel SA.

Serwery wiecznie żywe

Krzysztof Krawczyk, kierownik Działu Administratorów Infrastruktury Informatycznej Wdepartamencie InfrastrukturyInformatycznej w Polkomtel SA

Szybkie przeniesienie instancji serwera, który wymaga naprawy, nie oznacza jednak automatycznie jego pełnej sprawności. "W czasie gdy serwer przechodzi procedurę wyłączenia i odtworzenia w drugiej lokalizacji, użytkownicy już wykonują transakcje na drugim węźle klastra VMware. Aby serwer mógł powrócić do swojej dawnej roli, trzeba więc jeszcze zsynchronizować dane znajdujące się w pamięci RAM - VMotion robi to automatycznie" - wyjaśnia Krzysztof Krawczyk.

Do tego celu Polkomtel wykorzystuje sieć światłowodową, umożliwiającą bezpośrednią wymianę danych między macierzami dyskowymi znajdującymi się w dwóch odległych centrach danych. "Synchronizowanie danych na poziomie serwerów aplikacyjnych jest wprawdzie możliwe i wykonalne, ale... lepiej jest pozwolić działać macierzy: synchronizacja danych blokowych po łączach Fibre Channel między macierzami jest znacznie szybsza i bezpieczniejsza, a przede wszystkim nie obciąża serwerów" - tłumaczy Krzysztof Krawczyk.

Odporni na awarie

Prawdopodobieństwo, że wirtualny serwer ulegnie awarii w krótkim czasie jest niewielkie, trzeba jednak pamiętać, że w tym przypadku awaria jednego serwera fizycznego jest równa jednoczesnej awarii kilku, a nawet kilkunastu serwerów wirtualnych. Chcąc zapewnić aplikacjom wysoką dostępność, Polkomtel musi taką ewentualność brać pod uwagę. Sposobem zabezpieczenia się przed nią jest wdrożenie obok VMware ESX Server 2 także oprogramowania VMotion.

"VMotion to bardzo użyteczne oprogramowanie, które pozwala przenosić systemy operacyjne wraz z aplikacjami między maszynami wirtualnymi bez konieczności przerywania ich pracy. Przeniesienie może odbywać się nawet między odległymi serwerami" - wyjaśnia Krzysztof Krawczyk.

W Polkomtelu VMotion "spina" maszyny wirtualne działające w dwóch różnych lokalizacjach, a dzięki temu, że w obu lokalizacjach maszyny wirtualne mają tę samą konfigurację mogą się wzajemnie zastępować i wspomagać się przy odbudowie po awarii. Jeśli więc na serwerze A, na którym zdefiniowano systemy operacyjne (SO) 1 i 2, SO1 ulegnie awarii, klaster przeniesie obciążenie na serwer B, a dokładnie na SO1' (który jest wiernym obrazem SO1, ale uruchomionym już na serwerze B). Podobnie jeśli SO3 na serwerze B ulegnie awarii, jej obciążenie będzie przeniesione na SO3' serwera A.

"VMotion działa naprawdę dobrze - aplikacje klienckie tracą kontakt z serwerami aplikacyjnymi na nie dłużej niż wynosi jeden sieciowy <<ping>>, z czym większość oprogramowania klienckiego radzi sobie doskonale - z reguły trudno nawet zauważyć moment przełączenia. Dzięki możliwości przełączania serwerów wirtualnych «w locie», wyłączenia techniczne przestają być problemem" - mówi Krzysztof Krawczyk.

Co by tu jeszcze

Zachęceni doświadczeniami z wirtualizacją środowiska aplikacyjnego informatycy Polkomtelu zamierzają w najbliższym czasie wykorzystać środowiska VMware ESC Server 2 i VMotion do masowej konsolidacji aplikacji. "Doszliśmy do wniosku, że dzięki rozwiązaniom VMware jesteśmy w stanie zbudować środowisko odporne na awarie, a nawet katastrofy znacznie łatwiej, niż dotychczas sądziliśmy" - mówi Roman Wiśniewski.

Polkomtel zamierza w najbliższym czasie zakupić kilka nowych serwerów, na których staną środowiska wirtualne z mniej wymagającymi aplikacjami. "Z naszych testów wynika, że na jednym serwerze 4-procesorowym z VMware ESX Server 2.51 możemy uruchomić do 10 maszyn wirtualnych z Windows Server 2003. Ponieważ nie mamy ograniczeń po stronie sieci, VMotion będzie spełniać rolę oprogramowania klastrującego, zabezpieczającego korespondujące ze sobą maszyny wirtualne znajdujące się w odległych lokalizacjach. Maszyny wirtualne będą też dzielić się obciążeniem, w pełni wykorzystując moc obliczeniową fizycznego serwera" - przewiduje Krzysztof Krawczyk.

Krzysztof Krawczyk zastrzega, że wdrażanie aplikacji w środowisku VMware/VMotion wymaga uprzednio dokładnego testowania. Według niego, bardzo ważne jest trzymanie się list kompatybilności publikowanych przez VMware oraz unikanie bezpośredniego przypisywania środowiskom wirtualnym tych samych zasobów fizycznych równocześnie, co może prowadzić do niestabilności. Co do VMotion, w praktyce potwierdziło się, że oba serwery, na których działają "współpracujące" maszyny, wirtualne muszą być identyczne. Wniosków z testów jest znacznie więcej.

"VMware ESX Server 2 nie sprawdzi się jako platforma dla aplikacji silnie transakcyjnych, np. dla serwerów poczty Exchange, ani też dla bardzo dużych baz danych. Przynajmniej na razie. Najpoważniejsze ograniczenie to możliwość przypisania maksymalnie dwóch procesorów wirtualnych do jednej maszyny wirtualnej i 3,6 GB pamięci RAM" - wylicza Krzysztof Krawczyk.

Korzyści przy okazji

Cel projektu, czyli zwiększenie dostępności platformy aplikacyjnej, został osiągnięty. Przy okazji eksperymentowania z oprogramowaniem VMware informatycy Polkomtela znaleźli dla niego kilka innych zastosowań, w tym konsolidację aplikacji i ułatwienie aktualizacji oprogramowania. Wyszło też na jaw, że dzięki wirtualizacji można uzyskać oszczędności. "Konsolidacja przez wirtualizację obniża głównie koszty sprzętu serwerowego i oprogramowania licencjonowanego na serwer, np. backupowego, ale zapewnia także niższe koszty bieżącego zarządzania. Do tego możliwe jest szybkie budowanie środowisk testowych poprzez klonowanie serwerów produkcyjnych. Takie podejście gwarantuje lepszą jakość testów ze względu na zapewnienie 100% zgodności środowiska testowego i produkcyjnego. To zaś przekłada się na stabilność aplikacji biznesowych. Można mówić o oszczędnościach rzędu 20%, a więc całkiem sporych" - mówi Krzysztof Krawczyk.

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

TOP 200