Instalacja i konfiguracja głównego i zapasowego serwera dla podstawowego środowiska o wysokiej dostępności.
Instalowanie i konfigurowanie produktu IBM HTTP Server oraz wtyczek serwera WWW
Instalowanie i konfigurowanie aplikacji platformy Jazz na serwerze głównym i zapasowym
Aby zainstalować i skonfigurować
dwie instancje aplikacji platformy Jazz, takie jak produkt
IBM Rational Team Concert lub produkt
IBM Rational Quality Manager w aplikacji WebSphere Application Server, należy zapoznać się z sekcją
Konfigurowanie produktu WebSphere Application
Server.
Zapamiętaj: Serwery należy instalować pojedynczo.
Każdy z serwerów odwołuje się do tej samej bazy danych
w swoim pliku teamserver.properties.
Przed przystąpieniem do instalowania drugiego serwera należy upewnić się, że system pierwszego
jest zamknięty, a serwer nie jest połączony z repozytorium.
Konfigurowanie wysokiej dostępności dla serwera głównego i zapasowego
Aplikacja jazz.war zwykle jest instalowana z jednym serwerem aplikacji jako celem. Po wprowadzeniu serwera WWW
aplikacja jazz.war musi zostać zmodyfikowana tak, aby umożliwiać
kierowanie przez serwer WWW.
Aby zmodyfikować aplikację:
- Na konsoli WebSphere kliknij
powiązanie aplikacji jazz.war w sekcji Aplikacje korporacyjne.
- Wybierz opcję Zarządzaj modułami.
- Zaznacz pole wyboru dla modułu aplikacji jazz.war.
- Na liście klastrów i serwerów zaznacz serwer WWW i serwer aplikacji, a następnie kliknij przycisk Zastosuj.
- Kliknij przycisk OK, a następnie Zapisz zmiany.
- Zrestartuj aplikację jazz.war.
Aby wyłączyć zabezpieczenia aplikacji jazz.war, należy ponownie skonfigurować aplikację platformy Jazz na głównym serwerze aplikacji:
- Zmodyfikuj plik web.xml z pliku WAR zainstalowanego w aplikacji WebSphere Application Server.
Wskazówka: Warunkiem uzyskania dostępu do pliku web.xml może
okazać się dekompresja pliku WAR do katalogu tymczasowego.
- Zmień wszystkie wystąpienia "CONFIDENTIAL" na "NONE".
- Upewnij się, czy WebSphere Application
Server działa, otwórz przeglądarkę i wpisz adres: https://localhost:9043/ibm/console/logon.jsp
- Przejdź do strony Aplikacje -> Aplikacje korporacyjne.
- Zaznacz aplikację jazz_war i kliknij opcję Aktualizuj.
- Wybierz opcję Zastąp lub dodaj pojedynczy plik.
- W polu "Specify the path beginning with the installed application
archive file to the file to be replaced or added (Podaj ścieżkę do pliku, zaczynającą się w pliku archiwum zainstalowanej aplikacji, do zastąpienia lub dodania)" wprowadź jazz.war\WEB-INF\web.xml.
- Kliknij przycisk Przeglądaj i wskaż plik web.xml zmodyfikowany w kroku 1.
- Kliknij przycisk Dalej i kontynuuj dalej aż do zapisania aplikacji.
- Wróć do strony Aplikacje -> Aplikacje korporacyjne i zatrzymaj,
a następnie uruchom aplikację jazz_war.
Aby zarówno główne, jak i zapasowe wdrożenie produktu rodziny
Rational Jazz Team Server odwoływały się do tego samego
położenia indeksu pełnotekstowego, należy ponownie je skonfigurować. Aby zachować aktualność
i dostępność indeksu dla obu serwerów, należy zaktualizować właściwość
com.ibm.team.fulltext.indexLocation w pliku teamserver.properties obu
serwerów, tak aby indeks był zapisywany na dysku współużytkowanym. W tym celu należy zmodyfikować następujące właściwości w pliku teamserver.properties na głównym i zapasowym serwerze:
Wyłączanie zadań asynchronicznych na serwerze zapasowym
Aby uniknąć
możliwej rywalizacji danych między dwoma wdrożeniami produktu rodziny
Rational Jazz Team Server,
należy wyłączyć zadania asynchroniczne (lub działające w tle) na serwerze zapasowym.
- Dodaj następujący wiersz do pliku teamserver.properties na serwerze zapasowym:
com.ibm.team.repository.scheduler.migration.mode.enabled=true
- Zrestartuj aplikację jazz.war na serwerze zapasowym.
Edycja pliku plugin_cfg.xml serwera WWW dla trybu gotowości bezczynnej
Za każdym razem gdy WebSphere Application Server jest konfigurowany w celu kierowania żądań do serwera aplikacji przez serwer WWW,
plik plugin.xml serwera WWW jest aktualizowany informacjami o połączeniu dla tego
serwera aplikacji. W tym momencie plik plugin-cfg.xml jest częściowo
skonfigurowany. Należy zastąpić, a następnie przeprowadzić edycję następującej sekcji
pliku plugin-cfg.xml na serwerze WWW, aby zakończyć konfigurację. Ten plik plugin-cfg.xml znajduje się w folderze plugin\config\serwerwww1
serwera WWW (gdzie serwerwww1 jest nazwą przypisaną do serwera WWW w poprzedniej
sekcji Instalowanie i konfigurowanie produktu IBM HTTP Server i wtyczek serwera WWW).
<ServerCluster CloneSeparatorChange="false" GetDWLMTable="false" IgnoreAffinityRequests="true" LoadBalance="Round Robin" Name="RTC_basicHA_Cluster" RetryInterval="60" PostBufferSize="64" PostSizeLimit="-1" RemoveSpecialHeaders="true">
<Server LoadBalanceWeight="1" ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1" Name="WęzełPodstawowy01_serwer1" ServerIOTimeout="0" WaitForContinue="false">
<Transport Hostname="primary.nazwahosta.firma.pl" Port="9080" Protocol="http"/>
</Server>
<Server LoadBalanceWeight="0" ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1" Name="WęzełZapasowy01_serwer1" ServerIOTimeout="0" WaitForContinue="false">
<Transport Hostname="backup.nazwahosta.firma.pl" Port="9080" Protocol="http"/>
</Server>
</ServerCluster>
<UriGroup Name="default_host_RTC_basicHA_Cluster_URIs">
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/jazz/*"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/snoop/*"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/hello"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/hitcount"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsp"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsv"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsw"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/j_security_check"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/ibm_security_logout"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/servlet/*"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/ivt/*"/>
</UriGroup>
<Route ServerCluster="RTC_basicHA_Cluster" UriGroup="default_host_RTC_basicHA_Cluster_URIs" VirtualHostGroup="default_host"/>
Weryfikowanie konfiguracji serwera pod kątem możliwości ręcznego przełączania awaryjnego
Aby
zweryfikować możliwość ręcznego przełączania awaryjnego w produkcie WebSphere Application Server,
należy zmodyfikować plik plugin-cfg.xml na serwerze WWW, tak aby WęzełPodstawowy01_serwer1 miał przypisany atrybut LoadBalanceWeight ="0", a WęzełZapasowy01_serwer1 miał przypisany atrybut LoadBalanceWeight ="1". Zapisz plik plugin-cfg.xml.
Ważne: Ponieważ "prawdziwe" łączenie w klastry i równoważenie obciążenia nie jest jeszcze obsługiwane,
w żadnym momencie oba serwery (główny i zapasowy) nie mogą jednocześnie
mieć przypisanej niezerowej wartości wagi LoadBalanceWeight.
- Przy obu serwerach włączonych uruchom przykładowy serwlet nasłuchiwania WebSphere,
aby poznać nazwę serwera obsługującego żądanie.
- Z poziomu przeglądarki wywołaj serwlet nasłuchiwania, korzystając z adresu URL: https://serwerwww/snoop.
- Informacje dotyczące żądania przedstawiają hosta obsługującego żądanie
jako hosta lokalnego - w tym przypadku wyświetlany jest serwer z ustawioną wagą
LoadBalanceWeight=1.
- Spróbuj zmiany wartości wag LoadBalanceWeight między serwerami (głównym i zapasowym)
i zwróć uwagę, który serwer będzie obsługiwał żądanie serwletu nasłuchiwania.
Wykrywanie awarii serwera głównego
Aby osiągnąć wysoką
dostępność, należy mieć świadomość kiedy serwer główny jest wyłączony. Jest to szczególnie ważne dla podstawowego rozwiązania wysokiej dostępności, które nie umożliwia automatycznego przełączania awaryjnego głównego serwera
na serwer zapasowy.
Proces wykrywania uszkodzonego serwera
jest zadaniem krytycznym i pożądanym. O awarii serwera mogą świadczyć różne
czynniki, takie jak problemy sieciowe, problemy konfiguracyjne,
przeciążanie aplikacji lub błąd użytkownika. Niezależnie od wybranego
rozwiązania wykrywającego awarie serwera należy upewnić się, że alert
jest możliwie bezzwłoczny.