設定基本高可用性配置

設定和配置基本高可用性環境中的主要與備用伺服器。

安裝及配置 IBM HTTP Server 與 Web 伺服器外掛程式

如果要安裝及配置 IBM® HTTP Server 與 Web 伺服器外掛程式,請遵循下列步驟:
  1. 安裝 IBM HTTP Server。請參閱http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/tins_webserver.html
  2. 安裝 Web 伺服器外掛程式。請參閱http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/tins_webplugins.html
  3. 將 Web 伺服器和應用程式伺服器分別配置在不同的機器上(遠端)。請參閱http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/tins_webplugins_remotesa.html
  4. 為了保護 Web 伺服器和用戶端之間的傳輸安全,請在 IBM HTTP Server 上啟用 SSL。請參閱在 IBM HTTP Server 中適當設定 SSL 指引

在主要和備用伺服器上安裝及配置 Jazz 應用程式

如果要在 WebSphere® Application Server 上安裝及配置某 Jazz™ 應用程式的兩個實例,例如 IBM Rational® Team ConcertIBM Rational Quality Manager,請參閱設定 WebSphere Application Server
記住: 請一次安裝一個伺服器。每一個伺服器會參照其 teamserver.properties 中的相同資料庫。在開始安裝第二個之前,請確定第一個伺服器已關閉,且沒有連接儲存庫。

同時配置主要和備用伺服器的高可用性

一般而言,jazz.war 應用程式在安裝時,是以單一應用程式伺服器為其目標。為了引進 Web 伺服器,必須修改 jazz.war 應用程式,以容許透過 Web 伺服器遞送。

如果要修改應用程式,請執行下列動作:
  1. 在「WebSphere 主控台」中,按一下 企業應用程式之下的 jazz.war 應用程式鏈結。
  2. 選取管理模組
  3. 選取 jazz.war 應用程式模組的勾選框。
  4. 在叢集和伺服器清單中,同時選取 Web 伺服器和應用程式伺服器,然後按一下套用
  5. 按一下確定,然後按一下儲存變更
  6. 重新啟動 jazz.war 應用程式。
在主要應用程式伺服器上重新配置 Jazz 應用程式,以關閉 jazz.war 應用程式的安全:
  1. 修改安裝至 WebSphere Application Server 之 WAR 檔中的 web.xml。
    提示: 您可能需要將 WAR 檔解壓縮至一個暫存目錄,以取得 web.xml 檔。
  2. 將每一個出現 "CONFIDENTIAL" 之處全改為 "NONE"。
  3. 請確定 WebSphere Application Server 正在執行,然後開啟瀏覽器,並移至:https://localhost:9043/ibm/console/logon.jsp
  4. 移至「應用程式 -> 企業應用程式」頁面。
  5. 選取 jazz_war 應用程式,並按一下更新
  6. 選取取代或新增單一檔案
  7. 在「指定要取代或新增的檔案路徑,並以所安裝的應用程式保存檔為開頭」輸入欄位中,輸入 jazz.war\WEB-INF\web.xml
  8. 按一下瀏覽,並選取您在步驟 1 所修改的 web.xml 檔。
  9. 下一步,並遵循指示執行,直到儲存應用程式為止。
  10. 回到「應用程式」->「企業應用程式」頁面,然後停止再啟動 jazz_war 應用程式。
重新配置主要和備用 Rational Jazz Team Server 兩者,使其參照相同的全文索引位置。如果要讓索引維持最新,並同時可供主要與備用伺服器使用,請在主要和備用伺服器上,同時更新 teamserver.properties 中的 com.ibm.team.fulltext.indexLocation,以將索引儲存在共用磁碟機上。在主要和備用伺服器的 teamserver.properties 檔中,修改下列內容:
  • 以下是您可以在 Windows® 中看到的內容值範例:
    com.ibm.team.fulltext.indexLocation=I\:/sharedIndexFolder/workitemindex
  • 以下是您可以在 Linux® 中看到的內容設定範例:
    com.ibm.team.fulltext.indexLocation=/net/LinuxHost/sharedIndex/workitemindex

關閉備用伺服器中的非同步作業

為了避免這兩個正在執行的 Rational Jazz Team Server 之間,發生任何可能的資料競用情況,必須關閉備用伺服器上的非同步(或背景)作業。
  1. 將下列字行新增至備用伺服器上的 teamserver.properties 檔:
    com.ibm.team.repository.scheduler.migration.mode.enabled=true
  2. 重新啟動備用伺服器上的 jazz.war 應用程式。

編輯 Web 伺服器 plugin_cfg.xml 檔以便閒置待命

每當將 WebSphere Application Server 配置成透過 Web 伺服器,將要求遞送至應用程式伺服器時,就會以該應用程式伺服器的連線資訊來更新 Web 伺服器的 plugin.xml。此時,您已局部配置 plugin-cfg.xml 檔。請在 Web 伺服器的 plugin-cfg.xml 中,取代並編輯下列區段,以完成配置。這個 plugin-cfg.xml 檔位於 Web 伺服器的 plugin\config\webserver1 資料夾 (其中 webserver1 是您在有關安裝及配置 IBM HTTP Server 與 Web 伺服器外掛程式的前面小節中,指派給 Web 伺服器的名稱)。
<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="PrimaryNode01_server1" ServerIOTimeout="0" WaitForContinue="false">
<Transport Hostname="primary.hostname.company.com" Port="9080" Protocol="http"/>
</Server>
<Server LoadBalanceWeight="0" ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1" Name="BackupNode01_server1" ServerIOTimeout="0" WaitForContinue="false">
<Transport Hostname="backup.hostname.company.com" 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"/>

驗證伺服器設定,瞭解是否具備手動失效接手的能力

如果要驗證 WebSphere Application Server 的手動失效接手能力,請編輯 Web 伺服器中的 plugin-cfg.xml 檔,讓 PrimaryNode01 _server1 中有 LoadBalanceWeight ="0",以及讓 BackupNode01_server1 中有 LoadBalanceWeight ="1"。儲存 plugin-cfg.xml 檔。
重要: 由於尚未支援「真正的」叢集作業與負載平衡,不論何時,主要和備用伺服器的 LoadBalanceWeight 不得同時為零以外的值。
  1. 當主要和備用伺服器同在線上時,請執行 WebSphere 範例 Snoop Servlet,以取得正在處理要求的伺服器名稱。
  2. 請從 HTML 瀏覽器使用 URL 來呼叫 Snoop Servlet:https://webserver/snoop
  3. 要求資訊會將正在處理要求的主機顯示成本端主機 - 在此情況下,會顯示其 LoadBalanceWeight =1 的伺服器。
  4. 請嘗試交換主要和備用伺服器之間的 LoadBalanceWeight,並注意是哪一個伺服器在處理 Snoop Servlet 要求。

偵測主要伺服器上的失效情形

為了達到高可用性,您必須知道主要伺服器何時服務中斷。這對於基本高可用性解決方案來說尤其重要,因為它不容許備用伺服器自動失效接手主要伺服器。

偵測失效伺服器程序是一項重要和即時的作業。有某些因素可指出伺服器已失效,例如:網路問題、配置問題、應用程式超載,或是使用者錯誤。不論您選擇哪一種解決方案來偵測伺服器的失效,都必須確定能夠盡可能地即時警示。


意見