设置基本的高可用性配置

设置并配置基本的高可用性环境的主服务器和备份服务器。

安装并配置 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 的指南

在主服务器和备份服务器上安装并配置 Rational Team Concert

要在 WebSphere Application Server 上安装并配置两个 Rational Team Concert™ 实例,请参阅 设置 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 应用程序。
重新配置主应用程序服务器上的 Rational Team Concert 应用程序以便对 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 Team Concert 服务器和备份服务器,以便引用同一个全文本索引位置。要保持索引最新并可供主服务器和备份服务器使用,请更新主服务器和备份服务器上 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 Team Concert 服务器之间发生可能的数据争用,必须关闭备份服务器上的异步任务(即后台任务)。
  1. 在备份服务器上的 teamserver.properties 文件中添加下面这一行:
    com.ibm.team.repository.scheduler.migration.mode.enabled=true
  2. 在备份服务器上重新启动 jazz.war 应用程序。

编辑用于 Rational Team Concert 空闲备用配置的 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. 请使用以下 URL 从 HTML 浏览器中调用 Snoop servlet:https://webserver/snoop
  3. 请求信息将显示正在作为本地主机为请求提供服务的主机 - 在本例中,将显示 LoadBalanceWeight 为 1 的服务器。
  4. 尝试在主服务器与备份服务器之间交换 LoadBalanceWeight,并记录处理 Snoop servlet 请求的服务器。

检测主服务器上的故障

为了实现高可用性,您必须在主服务器关闭时了解到此情况。这对于这种基本的高可用性解决方案而言至关重要,此解决方案不允许进行自动故障转移以便从主服务器切换到备份服务器。

检测故障服务器的过程是一项必须及时完成的紧急任务。服务器故障可以由多个因素体现,例如网络问题、配置问题、应用程序超负荷或用户错误。无论您选择哪种解决方案来检测服务器故障,都必须确保尽可能及时地发出警报。


反馈

这些对您是否有帮助?您可以在 Jazz.net 中提供反馈(需要注册):在论坛中发表意见提交 bug