Serwer aplikacji OracleAS 10g w architekturach o podwyższonej niezawodności



Podobne dokumenty
Klastrowe architektury serwera aplikacji Oracle Application Server 10g

Wprowadzenie do J2EE. Maciej Zakrzewicz.

Serwery LDAP w środowisku produktów w Oracle

Centralne uwierzytelnianie i autoryzacja użytkowników za pomocą Oracle Application Server Identity Management

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Referat pracy dyplomowej

OAS Web Cache: przegląd zastosowań

Od czego zacząć przy budowaniu środowisk wysokiej dostępności?

Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net

Wybrane działy Informatyki Stosowanej

Dokumentacja techniczna SIS2-SAD

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ

Jarosław Kuchta. Administrowanie Systemami Komputerowymi. Klastry serwerów

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

Sprawa numer: BAK.WZP Warszawa, dnia 16 sierpnia 2016 r.

Tworzenie aplikacji bazodanowych

REFERAT O PRACY DYPLOMOWEJ

Wykład I. Wprowadzenie do baz danych

Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego

Zasady licencjonowania produktów bazodanowych ORACLE

Skalowalne aplikacje internetowe wysokiej dostępności

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

Wykorzystanie wirtualizacji w kluczowych scenariuszach data-center

ZALECENIA DLA MIGRACJI NS-BSD V8 => V9

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

PROCEDURA ADMINISTROWANIA ORAZ USUWANIA AWARII I BŁĘDÓW W CSIZS

11. Autoryzacja użytkowników

WHITE PAPER. Planowanie, przygotowanie i testowanie działań na wypadek wystąpienia awarii

Sieciowa instalacja Sekafi 3 SQL

Win Admin Replikator Instrukcja Obsługi

System multimedialny Muzeum Górnośląski Park Etnograficzny.

Dni: 5. Opis: Adresaci szkolenia. Kurs jest przeznaczony dla:

2. Jakie i ile licencji Oracle 10g posiada zamawiający i czy posiada do tych licencji wsparcie techniczne?

Wymagania systemowe dla Qlik Sense. Qlik Sense June 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1

WZÓR UMOWY. Zawarta w Białymstoku, w dniu.. pomiędzy:

Wszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego.

ZAŁOŻENIA PROJEKTOWE I SPECYFIKACJA USŁUG

Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

7. zainstalowane oprogramowanie zarządzane stacje robocze

VMware vsphere 5.5: Install, Configure, Manage

Zapytanie ofertowe nr 03/05/2014. Zakup licencji na oprogramowanie do wirtualizacji Działanie POIG 8.2

Kielce, dnia roku. HB Technology Hubert Szczukiewicz. ul. Kujawska 26 / Kielce

Zastosowanie Oracle Designer/2000 do projektowania i implementacji aplikacji WWW

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Szczegółowy harmonogram rzeczowy realizacji prac systemu B2B

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych.

Projektowanie zabezpieczeń Centrów Danych oraz innych systemów informatycznych o podwyższonych wymaganiach bezpieczeństwa

Implementowanie zaawansowanej infrastruktury serwerowej Windows Server 2012 R2

Wprowadzenie. Dariusz Wawrzyniak 1

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Przetwarzanie danych w chmurze

Laboratorium Chmur obliczeniowych. Paweł Świątek, Łukasz Falas, Patryk Schauer, Radosław Adamkiewicz

1 Wprowadzenie do J2EE

Pojęcie systemu baz danych

Protokoły zdalnego logowania Telnet i SSH

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Graficzny terminal sieciowy ABA-X3. część druga. Podstawowa konfiguracja terminala

POLITECHNIKA POZNAŃSKA

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

DESlock+ szybki start

Wybrane działy Informatyki Stosowanej

Bezpieczeństwo systemów informatycznych

Polityka prywatności Spółdzielni Mieszkaniowej Słoneczny Stok

platforma zapewniająca usługi wirtualizacji

Szczegółowy opis przedmiotu zamówienia

Bezpieczny dostęp do usług zarządzania danymi w systemie Laboratorium Wirtualnego

Windows Server 2012 Hyper-V Replica.

Win Admin Replikator Instrukcja Obsługi

System kontroli dostępu ACCO NET Instrukcja instalacji

HP Designjet Partner Link. Instrukcje

Wymagania systemowe dla Qlik Sense. Qlik Sense February 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Wykorzystanie wirtualizacji w kluczowych scenariuszach data-center

Szczegółowe informacje dotyczące przekazywania do Bankowego Funduszu Gwarancyjnego informacji kanałem teletransmisji

VMware View: Desktop Fast Track [v5.1] Dni: 5. Opis: Adresaci szkolenia

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows

Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i

Niezawodnoœæ, dostêpnoœæ, wydajnoœæ ró ne cele, ró na organizacja œrodowiska opartego o RAC, DataGuard i RMAN

POLITYKA PRYWATNOŚCI

Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

ZAŁĄCZNIK NR 3 OPIS PRZEDMIOTU ZAMÓWIENIA DOTYCZĄCY WDROŻENIA PLATFORMY ZAKUPOWEJ

ZAPYTANIE OFERTOWE. Ministerstwo Rolnictwa i Rozwoju Wsi (MRiRW) zwraca się z prośbą o złożenie oferty cenowej zgodnie z przedstawionymi wymogami:

Sposób funkcjonowania

Autor: inż. Wojciech Zatorski Opiekun pracy: dr inż. Krzysztof Małecki

Dostęp bezprzewodowy do Uczelnianej Sieci Komputerowej Politechniki Poznańskiej Instrukcja dla studentów Politechniki Poznańskiej

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Wprowadzenie do technologii Business Intelligence i hurtowni danych

Wybrane działy Informatyki Stosowanej

Client Management Solutions i Mobile Printing Solutions

systemów intra- i internetowych Platformy softwarowe dla rozwoju Architektura Internetu (2) Plan prezentacji: Architektura Internetu (1)

Tytuł kursu: Oracle 11g XE Administracja (kompleksowe)

SERWER AKTUALIZACJI UpServ

Działanie komputera i sieci komputerowej.

Cena powinna zawierać koszt użytkowania niezbędnego oprogramowania serwera i bazy danych na okres obowiązywania umowy.

System zarządzający grami programistycznymi Meridius

Transkrypt:

Serwer aplikacji OracleAS 10g w architekturach o podwyższonej niezawodności Maciej Zakrzewicz PLOUG, Politechnika Poznańska mzakrz@cs.put.poznan.pl Streszczenie. Jednym z etapów wdrażania wielowarstwowych systemów informatycznych jest przygotowanie odpowiednio skonfigurowanej platformy serwera aplikacji. Obecne zastosowania coraz częściej stawiają znaczne wymagania w zakresie dostępności i niezawodności serwerów aplikacji. Wysoka niezawodność serwera aplikacji może być osiągnięta poprzez użycie właściwie dobranej architektury sprzętowo-programowej. W artykule omówiono metody podnoszenia niezawodności Oracle Application Server 10g m.in. za pomocą klastrów serwerów aplikacji (zarządzanych automatycznie z użyciem różnych typów repozytoriów i zarządzanych ręcznie) oraz klastrów infrastruktur (Cold Failover Cluster, Active Failover Cluster, Service Replication). 1 Wprowadzenie Serwer aplikacji to oprogramowanie o charakterze systemowym, stanowiące platformę wykonywania komponentów aplikacji wielowarstwowych. Serwer aplikacji oferuje wykonywanym programom szereg usług m.in. obsługi komunikacji z komponentami klienta, komunikacji z bazami danych, uwierzytelniania i autoryzacji użytkowników, rozpraszania żądań i obciążenia, itp. Łączność komponentów klienta z serwerem aplikacji jest zwykle realizowana z użyciem protokołu lub S ( szyfrowany przez SSL). Na rynku dostępnych jest wiele amatorskich i komercyjnych serwerów aplikacji do czołówki komercyjnej niewątpliwie należą: BEA WebLogic, IBM WebSphere i Oracle Application Server. Niezawodność działania serwera aplikacji jest wyznacznikiem niezawodności całego systemu informatycznego, pracującego na jego platformie. Z chwilą, gdy awarii ulega serwer aplikacji, klienci tracą dostęp do swoich aplikacji biznesowych, w wyniku czego funkcjonowanie firmy lub instytucji ulega całkowitemu paraliżowi. Obecne zastosowania zatem coraz częściej stawiają znaczne wymagania w zakresie dostępności i niezawodności serwerów aplikacji. Z punktu widzenia niezawodności serwerów aplikacji należy wyodrębnić trzy główne źródła awarii: (1) uszkodzenia pojedynczych procesów serwera aplikacji wynikające z błędów oprogramowania, (2) uszkodzenia sprzętowe, np. pamięci operacyjnej lub CPU, powodujące awarię systemu operacyjnego, (3) ataki zewnętrzne typu DOS (Denial of Service), których celem jest zablokowanie funkcjonowania serwera aplikacji poprzez skierowanie do niego nadmiernego obciążenia. Zwykle najtrudniejsze do rozwiązania są awarie typu (2), gdyż w istocie wymagają stosowania sprzętu bezawaryjnego. Ze względu na bardzo wysoki koszt sprzętu komputerowego, który posiada wewnętrzne zabezpieczenia przed skutkami fizycznych uszkodzeń, dużą popularnością cieszą się architektury oparte na redundancji sprzętowej, nazywane powszechnie architekturami klastrowymi. W architekturach takich elementy serwera aplikacji są rozproszony pomiędzy wiele fizycznych maszyn w taki sposób, aby po awarii jednej z nich, pozostałe mogły przejąć obsługę wszystkich żądań użytkowników. W dalszej części artykułu omówimy techniczne rozwiązania serwera aplikacji Oracle Application Server 10g (OAS 10g) umożliwiające konstrukcję klastrów podnoszących niezawodność systemu.

2 Podstawowa architektura OAS 10g Oracle Application Server 10g jest produktem, na który składają się cztery główne elementy: serwer aplikacji (Middle Tier), serwer zarządzania bezpieczeństwem ( ), (Metadata Repository) oraz serwer buforujący WebCache. Zasadniczym składnikiem jest serwer aplikacji, będący środowiskiem wykonywania kodu programów wielowarstwowych, takich jak aplikacje CGI, FastCGI, J2EE, Oracle Forms, Oracle Reports, Oracle Discoverer, Oracle Portal. Serwer aplikacji ma budowę modułową i zawiera m.in. serwer (OHS, Oracle Server) i serwer J2EE (OC4J, Oracle Containers for J2EE). Serwer zarządzania bezpieczeństwem służy do centralnego uwierzytelniania użytkowników oraz obsługi ich certyfikatów klucza publicznego. Repozytorium jest bazą danych gromadzącą zarówno parametry konfiguracyjne serwerów aplikacji, parametry związane z bezpieczeństwem (hasła, uprawnienia), jak i kod programowy aplikacji realizowanych w niektórych technologiach, np. Oracle Discoverer lub Oracle Portal. Często serwer zarządzania bezpieczeństwem wraz z są wspólnie nazywane infrastrukturą (Infrastructure). Serwer buforujący WebCache odpowiada za buforowanie statycznych i dynamicznych dokumentów WWW, dzięki czemu wiele żądań użytkowników może być obsługiwanych bez konieczności wykonywania kodu na serwerze aplikacji. Należy podkreślić, że w wielu konfiguracjach nie jest wymagane posiadanie serwera zarządzania bezpieczeństwem ani, ani serwera buforującego WebCache. Przykładowy przebieg obsługi żądania użytkownika został przedstawiony na rys. 1. Użytkownik wysyła żądanie do serwera buforującego WebCache. Jeżeli WebCache nie posiada w pamięci gotowego dokumentu stanowiącego odpowiedź na takie żądanie, to żądanie jest przekazywane do serwera aplikacji. Z chwilą otrzymania żądania, serwer aplikacji dokona weryfikacji użytkownika oraz sprawdzi jego uprawnienia, posługując się serwerem zarządzania bezpieczeństwem. Krok ten może wymagać przekierowania użytkownika do serwera zarządzania bezpieczeństwem w celu pobrania nazwy i hasła użytkownika. Serwer zarządzania bezpieczeństwem orzeka o poprawności hasła użytkownika w oparciu o zapisy w. Po pomyślnym uwierzytelnieniu użytkownika serwer aplikacji uruchamia kod żądanego programu. Gdyby kod programu znajdował się w (kod PL/SQL), wtedy serwer aplikacji otworzyłby bezpośrednie połączenie z i wywołał żądaną jednostkę programową. Jeżeli podczas wykonywania kodu na serwerze aplikacji zaistnieje potrzeba komunikacji z produkcyjną bazą danych, to stosowne połączenie zostanie otwarte przez serwer aplikacji z użyciem adaptera Oracle Net. OracleNet serwer buforujący WebCache LDAP serwer aplikacji TNS instancja serwera b.d. produkcyjna baza danych OracleNet OracleNet serwer zarządzania bezpieczenstwem TNS Rys. 1. Obsługa żądania użytkownika przez Oracle Application Server 10g

3 Mechanizmy zapewniania niezawodności w instalacjach jednomaszynowych Gdy cała instalacja OAS 10g znajduje się na pojedynczej maszynie, wtedy z oczywistych powodów system taki jest podatny na awarie o charakterze sprzętowym. Uszkodzenia CPU, pamięci operacyjnej, sterowników dyskowych, itd. uniemożliwiają dalsze funkcjonowanie systemu i powodują zatrzymanie obsługi żądań użytkowników. Niemniej jednak, nawet dla takiej instalacji administrator może skorzystać z mechanizmów zapewniania niezawodności, chroniących system przed skutkami awarii o charakterze programowym, jak np. awaria pojedynczego procesu serwera. Poniżej przedstawimy mechanizmy podnoszenia niezawodności i samonaprawiania komponentów serwera aplikacji (rys. 2). W celu poprawy dostępności serwera aplikacji w przypadku, gdy awarii ulega jeden z jego procesów, OAS 10g oferuje mechanizm zwielokrotniania procesów. Zwielokrotnienie procesów może dotyczyć zarówno serwera, serwera J2EE, jak i wielu innych komponentów odpowiedzialnych za wykonywanie aplikacji. Zwielokrotnienie procesów oznacza, że w normalnych warunkach pracy, żądania użytkowników są rozpraszane pomiędzy wiele alternatywnych procesów wykonawczych. Gdy jeden z nich ulegnie awarii, wtedy pozostałe mogą kontynuować obsługę użytkowników. Zarówno serwer aplikacji, jak i serwer zarządzania bezpieczeństwem, zawierają komponent służący do ciągłej obserwacji aktywności wszystkich procesów oraz podejmowania akcji ratunkowych: OPMN (Oracle Process and Notification). Na żądanie administratora OPMN uruchamia procesy serwera aplikacji lub serwera zarządzania bezpieczeństwem, a następnie monitoruje ich pracę w celu gromadzenia danych o wydajności oraz wykrywania awarii. Jeżeli OPMN wykryje awarię procesu, wtedy informuje o niej inne procesy zależne i przystępuje do próby ponownego uruchomienia procesu. Dzięki temu, procesy serwera aplikacji i serwera zarządzania bezpieczeństwem są nieśmiertelne, gdyż po każdej ich awarii następuje (w miarę możliwości) samonaprawa. Samonaprawianie komponentów serwera aplikacji nie zawsze pozwala na nieprzerwaną pracę użytkowników. Jeżeli awarii ulegnie proces wykonujący aplikację (np. OC4J), wtedy utracie ulega jej stan (wartości zmiennych, obiekty), nawet jeżeli proces zostanie uruchomiony ponownie. W celu ochrony przed utratą stanu aplikacji OAS 10g umożliwia stosowanie mechanizmu replikacji stanu aplikacji (state replication), polegającego na powielaniu stanu każdej wykonywanej aplikacji pomiędzy wiele procesów wykonujących aplikacje. Obecnie mechanizm ten dostępny jest wyłącznie dla procesów serwera J2EE. webcache OHS OC4J load balancer replikacja stanu webcache OHS OC4J OPMN Rys. 2. Jednomaszynowa instalacja OAS 10g o podwyższonej niezawodności

4 Mechanizmy zapewniania niezawodności w instalacjach wielomaszynowych 4.1 Klastry serwerów aplikacji OAS 10g umożliwia konstrukcję klastrów serwerów aplikacji, w których obsługa żądań użytkowników jest rozproszona pomiędzy wiele równoważnych maszyn. Każdy z serwerów uczestniczących w klastrze musi posiadać identyczną konfigurację aplikacji, gdyż musi potrafić zastąpić dowolny inny serwer w tym samym klastrze. W celu ułatwienia administracji klastrami serwerów aplikacji, OAS 10g pozwala scentralizować konfigurację wszystkich serwerów aplikacji poprzez jej zapis we wspólnym. Repozytorium konfiguracji klastra może znajdować się w (Metadata Repository) lub w systemie plików wybranego serwera wchodzącego w skład klastra (File-based Repository). Narzędzia administracyjne OAS 10g umożliwiają m.in. automatyczną instalację aplikacji na wszystkich maszynach klastra, zdalną rekonfigurację dowolnej maszyny wchodzącej w skład klastra. Dla sprawnego funkcjonowania klastrów serwerów aplikacji niezbędna jest obecność mechanizmów rozpraszania żądań użytkowników oraz mechanizmów replikacji stanu aplikacji (rys. 3). Poniżej przedstawimy dostępne rozwiązania w zakresie rozpraszania żądań. węzeł A RAC Database OC4J load balancer webcache bufor rozproszony OHS replikacja stanu TNS TNS instancja serwera b.d. baza danych webcache OHS OC4J instancja serwera b.d. konfiguracji klastra węzeł B Rys. 3. Architektura klastra serwerów aplikacji 4.2 Mechanizmy rozpraszania żądań (load balancing) 4.2.1 WebCache Moduł WebCache umożliwia przekazywanie żądań do wielu serwerów aplikacji. W konfiguracji WebCache z każdym serwerem aplikacji związana jest liczba całkowita (capacity) określająca maksymalną liczbę równoczesnych żądań, jakie serwer aplikacji może przyjąć od WebCache. Liczba ta wpływa również na względny rozkład żądań pomiędzy serwery aplikacji przykładowo, jeżeli dla serwera aplikacji A wartość Capacity wynosi 100, a dla serwera aplikacji B wynosi 200, to serwer B będzie otrzymywać 66,6 % żądań a serwer

A tylko 33% żądań użytkowników. WebCache wstrzyma przekazywanie żądań do serwera aplikacji, jeżeli stwierdzi jego awarię. Nieaktywny serwer aplikacji będzie wówczas periodycznie odpytywany przez WebCache, aby wykryć moment jego ponownego włączenia. 4.2.2 Serwer Gdy serwer otrzymuje żądania wykonania aplikacji J2EE, wtedy przy użyciu protokołu AJP przekazuje je do jednego z pracujących serwerów J2EE (OC4J). Za bezpośrednią komunikację odpowiada wewnętrzny moduł serwera, nazywany mod_oc4j. W celu uniknięcia kierowania żądań do niesprawnych lub niepracujących serwerów J2EE, każdy serwer posiada tablicę routingu (routing table), której wpisy reprezentują dostępne w danej chwili serwery J2EE. Za aktualizację tablicy routingu odpowiada proces OPMN, który w przypadku wykrycia awarii procesu serwera J2EE usunie go z tej tablicy. Podobnie, po pomyślnym uruchomieniu procesu serwera J2EE, OPMN wprowadzi go do tablicy routingu serwera. Wybór procesu serwera J2EE, do którego zostanie przekazane żądanie jest dokonywany za pomocą jednego z kilku algorytmów, wybranego przez administratora: Round Robin, Random lub Metric-Based. W algorytmie Round Robin, kolejne żądania są w stałym porządku przekazywane do kolejnych procesów serwera J2EE. Algorytm Random każdorazowo dokonuje losowego wyboru procesu serwera J2EE, do którego zostanie przekazane żądanie użytkownika. Natomiast algorytm Metric-Based wykorzystuje informacje o aktualnym obciążeniu każdego z procesów serwera J2EE i dokonuje wyboru tego z nich, który jest obciążony najmniej. Algorytmy rozpraszania żądań mogą również korzystać z predefiniowanych wag węzłów (weighted routing) oraz preferować przetwarzanie lokalne (local affinity). Predefiniowanie wag węzłów polega na określeniu przez administratora mocy obliczeniowej każdego węzła jako pewnej liczby całkowitej, która jest wykorzystywana do wyboru procesu serwera J2EE w taki sposób, aby węzły silniejsze obliczeniowo otrzymywały więcej żądań użytkowników. Natomiast preferowanie przetwarzania lokalnego polega na skłonności serwera do wyboru procesów serwera J2EE znajdujących się na tym samym węźle. 4.2.3 Oracle Net Biblioteka komunikacji sieciowej Oracle Net dopuszcza konfiguracje, w których z pojedynczą nazwą usługi związano kilka instancji bazy danych. W takim przypadku, każdorazowo podczas nawiązywania połączenia z bazą danych następuje wylosowanie instancji, do której zostanie skierowane żądanie. Gdyby instancja ta była niedostępna, wtedy losowanie zostanie powtórzone i nastąpi kolejna próba nawiązania połączenia. Tego typu konfiguracja Oracle Net jest powszechnie wykorzystywana w architekturach serwera bazy danych RAC (Real Application Clusters), gdzie wszystkie instancje są równoważne i oferują jednakowy dostęp do bazy danych. 4.3 Klastry WebCache Serwery buforujące WebCache mogą być organizowane w klastry, w ramach których ich pamięć buforowa jest rozproszona pomiędzy wiele maszyn. W takiej konfiguracji każdy z serwerów buforowych odpowiada za dostarczanie tylko pewnego podzbioru dokumentów, wyznaczanego przez wartość funkcji haszowej opartej na adresie URL. Jeżeli żądanie użytkownika trafia do serwera buforującego, który nie odpowiada za obsługę tego żądania, wtedy serwer ten przekaże żądanie właściwemu serwerowi. W przypadku awarii jednego serwera buforującego w klastrze, pozostałe serwery reorganizują metodę podziału dokumentów.

4.4 Klastry serwerów zarządzania bezpieczeństwem 4.4.1 Cold Failover Cluster Architektura ta, nazywana również układem aktywny-pasywny, składa się z dwóch węzłów korzystających ze wspólnej, współdzielonej pamięci dyskowej (rys. 4). Węzły odpowiadają za obsługę komponentów IM oraz za obsługę instancji bazy danych. W danej chwili tylko jeden z węzłów jest aktywny drugi pozostaje wyłączony. W przypadku awarii węzła aktywnego, należy uruchomić węzeł dodatkowy i za jego pomocą kontynuować obsługę żądań użytkowników. Przełączenie węzłów może być wykonane manualnie przez administratora lub z użyciem zautomatyzowanego oprogramowania, dostarczanego przez dostawcę sprzętu. Konfiguracja Cold Failover Cluster wymaga korzystania z wirtualnego adresu IP i wirtualnej nazwy węzła, które są dynamicznie odwzorowywane na adresy fizyczne. Dzięki temu, przełączenie węzła aktywnego w przypadku awarii nie wymaga żadnych zmian konfiguracji serwerów aplikacji, które korzystają z infrastruktury. Węzły muszą posiadać identyczną instalację i konfigurację oprogramowania. aktywny węzeł A danych Wirtualny adres IP danych pasywny węzeł B Rys. 4. Infrastruktura w architekturze Cold Failover Cluster 4.4.2 Active Failover Cluster Architektura ta, nazywana również układem aktywny-aktywny, jest podobna do Cold Failover Clusters, lecz dopuszcza równoczesną pracę wielu węzłów (rys. 5). Gdy wszystkie węzły są sprawne, wtedy wspólnie obsługują one żądania użytkowników. W przypadku awarii jednego węzła, kierowane do niego żądania są przejmowane przez inne węzły aktywne. W sytuacji awarii administrator nie wykonuje żadnych manualnych operacji. Konfiguracja Active Failover Cluster wymaga wykorzystania dwóch dodatkowych składników: modułu rozpraszania żądań (load balancer) oraz serwera bazy danych RAC (Real Application Clusters). Moduł rozpraszania żądań jest konieczny do kierowania żądań użytkowników na różne z aktywnych węzłów, a także do powstrzymania przekazywania żądań do węzła, który uległ awarii. Natomiast serwer bazy danych RAC musi zostać użyty ze względu na konieczność dostępu do plików jednej bazy danych z wielu równocześnie pracujących instancji bazy danych. Wszystkie serwery aplikacji, korzystające z infrastruktury, odwołują się w swoich konfiguracjach do adresu fizycznego modułu rozpraszania żądań (load balancer).

aktywny węzeł A danych RAC Load balancer danych RAC aktywny węzeł B Rys. 5. Infrastruktura w architekturze Active Failover Cluster 4.4.3 Replikacja usług zarządzania bezpieczeństwem W tej architekturze każdy z węzłów posiada autonomiczną instalację komponentów IM i instancji bazy danych oraz własne (rys. 6). W celu ujednolicenia zawartości repozytoriów stosuje się replikację. Serwery aplikacji przekazują swoje żądania za pośrednictwem modułu rozpraszania żądań (load balancer). Nie wymaga się stosowania serwera bazy danych RAC. W przypadku awarii jednego węzła, moduł rozpraszania żądań kieruje żądania użytkowników do innych aktywnych węzłów. W sytuacji awarii administrator nie wykonuje żadnych manualnych operacji. aktywny węzeł A danych Load balancer aktywny danych węzeł B Rys. 6. Infrastruktura w architekturze replikacji usług zarządzania bezpieczeństwem 5 Podsumowanie Zapewnienie wysokiej niezawodności serwera aplikacji OAS 10g wymaga użycia sprzętowej redundancji polegającej na konstruowaniu trzech typów klastrów: klastrów serwerów aplikacji, klastrów serwerów buforujących WebCache i klastrów serwerów zarządzania bezpieczeństwem. W artykule omówiono podstawowe technologie

zwielokrotniania komponentów OAS 10g oraz rozpraszania żądań użytkowników, umożliwiające budowę wymienionych konfiguracji. 6 Literatura [1] Oracle Application Server 10g Documentation, Oracle Corp., http://www.oracle.com/technology/documentation/appserver10g.html