Przerwa niemile widziana

Sprzętowe zagranie

Zapewnienie aplikacji wysokiej dostępności wymaga także decyzji odnośnie do sprzętu i jego konfiguracji. Opcji jest co najmniej kilka. Pierwsza możliwość polega na połączeniu dwóch lub więcej serwerów dedykowanymi łączami o dużej przepustowości i, co ważniejsze, niskich opóźnieniach (np. Memory Channel wywodzące się z serwerów AlphaServer lub co najmniej 1 Gigabit Ethernet). Interesującą odmianą takiej konfiguracji wydają się oferowane już przez wszystkich liczących się dostawców serwery typu blade, które zwykle łączone są za pomocą dedykowanych szybkich interfejsów. Ich dodatkową zaletą jest dostarczane wraz z nimi oprogramowanie do zarządzania.

Te same serwery można jednak zestawić w inny sposób. Umieszczając przed nimi pojedynczy serwer lub specjalizowane urządzenie rozdzielające obciążenie, można stworzyć farmę, w której na każdym węźle działa oddzielna kopia aplikacji, a ewentualna awaria pojedynczego serwera nie będzie miała wpływu na pozostałe. W przeciwieństwie do typowego rozwiązania klastrowego, w razie wystąpienia awarii tylko część użytkowników będzie musiała się ponownie zalogować - pozostali nawet jej nie zauważą.

Dostępność wirtualna

Wysoką dostępność można też osiągnąć, wydzielając kilka partycji - fizycznych lub logicznych - w ramach jednego dużego serwera. Partycje fizyczne w serwerach klasy średniej to zwykle wydzielone płyty główne, zaś w serwerach klasy wyższej - nawet pojedyncze procesory z przypisaną im infrastrukturą pamięci, I/O itd. Partycje logiczne to działające obok siebie wirtualne kopie systemu operacyjnego, zwykle w środowisku innego systemu wzbogaconego o oprogramowanie do wirtualizacji.

IBM oferuje oprogramowanie VM umożliwiające uruchomienie nawet stu serwerów wirtualnych. Hewlett-Packard i Sun Microsystems intensywnie pracują nad rozwiązaniami do wirtualizacji zasobów, Microsoft zaś zamierza włączyć do systemu Windows Server 2003 funkcje wirtualizacyjne oparte na produktach przejętej niedawno firmy Connectix. Sprawdzonym dostawcą rozwiązań tego rodzaju jest firma VMware, jednak na razie pracują one tylko na serwerach zawierających do 2 procesorów 32-bitowych.

Partycjonowanie wydaje się dobrym rozwiązaniem nie tylko z powodu łatwiejszego zarządzania czy możliwości szybkiego odbudowania środowiska po awarii, ale też najlepszym sposobem na budowę klastra aplikacyjnego. Pozwala bowiem na zrezygnowanie z mało wydajnej synchronizacji poprzez zewnętrzne mechanizmy I/O na rzecz synchronizacji w ramach pamięci tego samego urządzenia. Nie jest to związane ze zwiększeniem szybkości wymiany danych, lecz szybkości potwierdzania operacji blokowania i uwalniania zasobów realizowanych przez obecny w każdym rozwiązaniu klastrowym mechanizm typu lock manager.

Bez końca

Jest wiele metod zwiększania dostępności systemów informatycznych. Tradycyjne rozwiązania klastrowe stanowią obecnie jedynie podzbiór dostępnych opcji - liczba możliwych konfiguracji stale się zwiększa. Na rynku amerykańskim pojawiły się ostatnio serwery czteroprocesorowe prekonfigurowane jako "wewnętrzny klaster" dwóch serwerów dwuprocesorowych. Być może do budowania rozwiązań o podwyższonej dostępności zostaną wkrótce wykorzystane inne technologie, np. hyperthreading lub też procesory z wieloma rdzeniami.

Sposoby zwiększania dostępności

Klaster aplikacyjny

Serwer aplikacyjny

W bazach danych:

shadow copy

replikacja/log shipping

kopia natychmiastowa

Wirtualizacja systemu operacyjnego

Farma z równoważeniem obciążenia

Replikacja na poziomie macierzy dyskowej