System ciągle dostępny

Możliwość ciągłego dostępu do danych nie pojawiła się wraz z nastaniem ery Internetu. Jednak dla firm wykorzystujących Internet nabrała szczególnego znaczenia.

Możliwość ciągłego dostępu do danych nie pojawiła się wraz z nastaniem ery Internetu. Jednak dla firm wykorzystujących Internet nabrała szczególnego znaczenia.

Od dawna powszechna jest świadomość, że awaria, czyli niedostępność systemu, może oznaczać poważne straty finansowe, zirytowanie użytkowników lub utratę zaufania klientów. Często podawane informacje o kosztach wynikających z niedostępności systemu - straty tysięcy dolarów na minutę - w przypadku większości organizacji są znacznie przesadzone. Nie ulega jednak wątpliwości, że każdy dostawca technologii, nie chcąc narażać klientów na kłopoty, dąży do zapewnienia wysokiej dostępności systemu.

Producenci mainframe'ów zapewniają dostępność w systemie klastrowym na poziomie tzw. pięciu dziewiątek (99,999%), co oznacza niedostępność danych lub usług systemu przez 30 sekund w miesiącu lub przez 5 minut rocznie. Tak wysoka dostępność jest możliwa również do osiągnięcia w systemach unixowych, wymaga jednak stosowania sprzętu o dużym stopniu niezawodności, który można łatwo przywrócić do pracy po awarii, doskonałych rozwiązań architektury systemu oraz rygorystycznych reguł tworzenia i utrzymywania aplikacji.

Wszystko na zapas

Redundancja sprzętowa jest traktowana jako pierwsza linia obrony w systemach o wysokiej dostępności. Zapobiega awariom komputera i dysków. Redundancja sprzętowa jest możliwa na kilku poziomach.

Wiele procesorów w jednym komputerze zapobiega problemom, związanym z awarią jednego z nich. Wiele maszyn w konfiguracji klastrowej to nieco lepsze rozwiązanie, gdyż nie występuje tu problem awarii zasilacza czy układu chłodzenia. Niektóre z systemów wieloprocesorowych zapewniają możliwość logicznego partycjonowania systemu na wiele niezależnych komputerów wirtualnych.

Redundancja dysków, realizowana w formie powielania kompletnych zestawów dyskowych (kopia lustrzana) lub realizacji zestawu RAID, pozwala uniknąć awarii nośnika. Nie zapobiega jednak powstawaniu tak subtelnych błędów, jak zapisywanie błędnych danych na dysk główny i kopię lustrzaną.

Replikacja

Kopia lustrzana i zestawy dyskowe RAID to metody fizycznej replikacji danych na niskim poziomie wejścia/wyjścia systemu komputerowego. Mechanizmy takiej replikacji nie dysponują informacją na temat tego, co jest zapisywane: sensowne dane czy przypadkowy ciąg bitów. Replikacja fizyczna właściwie nie wpływa na dostępność danych.

Logiczna replikacja natomiast oznacza tworzenie kopii na operacyjnym poziomie bazy i polega na przesyłaniu danych między dwiema bazami. Zamiast replikować ciągi bitów, do bazy przesyłane są operacje typu: "Pobierz z konta Kowalskiego 100 zł". Pozwala to sprawdzić czy Kowalski istnieje, ale również zweryfi- kować jego dane, stan konta i dopuszczalność prowadzonej operacji.

Replikacja logiczna dotyczy dwóch baz danych, działających na różnych komputerach. Takie rozwiązanie zapewnia jednocześnie redundancje: sprzętową i programową. Ochrona danych jest znacznie lepsza niż przy replikacji fizycznej. Replikacja logiczna w połączeniu z fizyczną zapewnia najlepszą dostępność i ochronę danych.

Przejmowanie obciążenia

Przejmowanie obciążenia w razie awarii i równoważenie obciążenia na wszystkie działające kopie aplikacji to dwie strony tego samego medalu. Awarie są nieuniknione, ale użytkownicy nie powinni o nich wiedzieć. Operacja przejmowa-nia aktywnych użytkowników przez zapasową kopię aplikacji, działającą na równoległym komputerze, powinna się odbywać w czasie nie dłuższym niż typowy czas odpowiedzi aplikacji na zapy- tanie użytkownika. Wymaga to jednak szczególnie starannego dobrania elementów systemu.

Współczesne serwery aplikacyjne, wspomagane przez sprzętowe urzą- dzenia do równoważenia obciążenia z sieci skutecznie wspomagają proces odzyskiwania stanu 100-proc. sprawności aplikacji.

Ważne, aby aplikacja nie zawierała obiektów do utrzymywania stanu sesji połączenia z użytkownikiem. Wszystkie te informacje powinny być przechowywane w replikowanej bazie danych, do której "sięga" każda z kopii aplikacji.

W systemach, które muszą działać nieprzerwanie, niebagatelnego znaczenia nabiera przeprowadzanie rutynowych działań konserwacyjnych, takich jak wymiana dysków, wentylatorów, strojenie bazy danych. Współczesne systemy o wysokiej dostępności pozwalają na wymianę kluczowych elementów komputera, włącznie z kartą procesora, "na gorąco" tzn. bez zatrzymywania pracy systemu. Podobne właściwości mają bazy danych: składowanie danych na nośnik archiwalny nie wymaga zawieszania pracy bazy czy aplikacji. Nowe wersje baz Oracle'a, Informixa, Sybase'a i Microsoftu pozwalają również na prowadzenie typowych prac admi- nistracyjnych: tworzenie indeksów czy reorganizację bazy z minimalną stratą czasu.

Odtwarzanie bazy danych najczęściej polega na odzyskiwaniu zawartości bazy z taśm archiwalnych. Większość systemów składowania bazy ma dużą prędkość zapisywania danych na taśmę, natomiast dane te odtwarza znacznie wolniej. Nie jest to dobre rozwiązanie dla aplikacji o wysokiej dostępności. W systemie o wysokiej dostępności nigdy nie powinno wystąpić odtwarzanie zawartości bazy z nośnika zapasowego. System z dużą redundancją odtwarza zawartość bazy na bieżąco, bez zatrzymywania pracy aplikacji.

Internet zmienia wszystko

Dla e-biznesu awaria systemu komputerowego może być równoważna z zamknięciem jedynego sklepu. Klienci więc zrezygnują z niego i udadzą się do innego dostawcy tych samych dóbr. Dlatego nie ma już odpowiedniej pory na strojenie systemu lub składowanie bazy danych.

Rozwiązania o wysokiej dostępności są znane od dawna w telekomunikacji, bankowości i w niektórych gałęziach przemysłu. Jeżeli więc zamierzamy tworzyć system dla Internetu, warto poszukać dostawców technologii, którzy cieszą się dobrą opinią w tym obszarze działalności.