安装和配置群集 Windchill 环境
本部分提供了有关安装和配置群集 Windchill 系统的详情,应注意文件电子仓库管理和数据加载。
服务器群集配置概述
群集是指一组计算机,可以单独访问这些计算机,也可以将这些计算机作为一个整体来访问。可将群集视为单个工作单元 (被定义为 HTTP 请求或 RMI 方法调用),并可将其分配给某个 Windchill 服务器。
同单个服务器相比,群集的主要优点就是可提高系统的性能、可缩放性和可靠性。由于 Windchill 服务器进程在给定节点上具有较少的竞争,因而性能得到了提高。系统具有可缩放性。当负载增加时,可添加其他 Windchill 服务器。这种可缩放性也提高了系统的可靠性。当 Windchill 服务器失败时,可将请求定向到其余服务器。
配置典型服务器群集
下图为典型的群集配置。此图中,5 台计算机 (A、B、C、D 和 E) 同时工作以提高系统的性能、可缩放性和可靠性。
典型 Windchill 群集由三段组成:
• 负载平衡路由器 (A)
• 持久存储服务器或主缓存 (D)
• 一台或多台附加 Windchill 服务器或缓存客户端 (B 和 C)
如图所示,
Windchill 群集与物理电子仓库 (E) 所在的服务器进行交互。本组主题中并未讨论如何设置
Windchill 与文件服务器之间的交互。有关设置的详情,请参阅
文件服务器管理程序。
负载平衡路由器接收来自客户端的请求,并将这些请求分配给某个 Windchill 服务器。对于网络上的其余部分,此路由器将显示为单个 Windchill 服务器。有关负载平衡器的信息,请参阅“配置负载平衡路由器”部分。
群集中的 Windchill 服务器类似于单个独立的 Windchill 服务器,不同之处就是前者与群集中的其他成员共享同一个数据库和缓存机制。由于缓存受制于来自顶级主缓存更新,因此这些服务器节点也称为缓存客户端。它们共享通用 DNS 名称,以便将客户端指向群集,而不是将其指向单个 Windchill 服务器以进行后续请求。
持久存储服务器计算机包含关系数据库以及 Windchill 缓存主服务器和后台方法服务器。对于任何部署,即使采用群集数据库,也将使用单个数据库存储整个群集的持久数据。对于群集部署,必须部署单独的服务器管理器并将其指定为“主缓存”。此服务器管理器负责在所有客户端缓存之间同步缓存。
群集中每个节点上的服务器管理器进程均可管理缓存。在上图中,运行于持久存储服务器上的服务器管理器还充当群集主缓存。必须在 wt.properties 文件中设置其他特性,以便正确配置已分配的缓存机制。
| 在群集系统中,您可以通过“创建表示”窗口使用本地磁盘中的文件创建表示。有关详情,请参阅 查看表示。 |
主服务器管理器故障转移
在任何给定的时间点,都仅有一个缓存主服务器管理器。默认情况下,此主服务器管理器是最初通过与其他服务器管理器协商来选择的。通常,这是所启动的第一个群集节点上的服务器管理器。群集选择主缓存节点后,此服务器管理器将保持为主缓存,直到其变为不可访问。如果发生这种情况,则另一个服务器管理器会自动成为主服务器管理器。在切换主缓存节点后,如果上一主服务器管理器变为可访问,则该管理器将恢复为次缓存状况。
配置负载平衡路由器
负载平衡路由器接收来自客户端的请求,并将这些请求分配给可用的 Windchill 服务器。此路由器也可充当防火墙,将 Windchill 群集与网络上的其余部分分离开来。对于网络上的其余部分,此路由器将显示为单个 Windchill 服务器。
| 以上说明中提供的负载平衡器配置是指特殊类型的负载平衡器 - Alteon 负载平衡器。对于不同的负载平衡器,指示可能有所不同。此外,PDS 参考体系结构中的负载平衡器只能平衡 Web 服务器的通信。由于 PDS 参考体系结构使用分离的 Web 服务器系统,因此使用 AJP13 负载平衡来处理从 Web 服务器到 Servlet 引擎和方法服务器的通信的负载平衡。 |
配置相似性
最终用户通常通过负载平衡路由器来访问 Windchill 群集。负载平衡路由器将其请求发送给多台计算机,力图平均分配工作负载。但是,在负载平衡器中配置相似性可以利用 Servlet 引擎会话缓存和处理多步操作的优势。此配置将后续相关请求定向到同一 Servlet 引擎和方法服务器进行处理。
负载平衡路由器必须负载平衡允许通过此边界的任何/全部 TCP 通信和 IP 通信。因此,如果将流量限制为 HTTP 或 HTTPS,则仅需要负载均衡路由器来处理 HTTP 或 HTTPS。如果允许跨此边界的其他 TCP 通信和 IP 通信,如直接 RMI 通信,则也必须对其进行负载平衡。
负载均衡器仍必须对包括隧道流量在内的 HTTP 和 HTTPS 流量正确实施关联。如果直接 RMI 端口由路由器进行负载平衡,则负载平衡器必须对这些端口强制实施相似性。由于 RMI 协议无法处理 cookie 或其他用于实施相似性的标记,因此通常会在一段时间内使用客户端主机相似性来强制实施此功能。
Windchill 也有 Servlet 引擎相似性需求,不过,它需要客户端主机相似性或会话相似性。客户端主机相似性会将在指定时间段内来自给定主机的所有请求映射到同一个 Servlet 引擎 JVM 中,从而确保来自主机的所有会话数据属于此 JVM。会话相似性更精确,且能够最大程度地满足 servlet 引擎的实际要求。
IP 负载平衡路由器是否能够确保此相似性取决于体系结构。例如,您可以使用一个 IP 负载平衡路由器在多台计算机之间来平衡负载,每台计算机上均运行基于 Apache 的 Web 服务器和 mod_jk,并通过所有计算机中的全部 Servlet 引擎来进行负载平衡。如果照此进行了正确的操作,则 mod_jk 能够确保会话相似性,且不必使用 IP 负载平衡器来确保任何相似性。但是,传入的请求很可能会定向到任意 Web 服务器进行初始处理。然后,将请求定向到另一台计算机上的 Servlet 引擎以进行后续处理。
另外,您可以使用基于 Apache 的 Web 服务器和 mod_jk 作为负载平衡器,在“负载平衡器”计算机上只有一个 Web 服务器,并允许其发送请求到群集节点上的 Servlet 引擎。此方法要求所有非 HTTP(S) 通信必须通过 HTTP(S) 进行隧道连接。
最简单的方法就是对负载平衡路由器进行配置,使所有 TCP 连接和 IP 连接具有主机相似性。这样可确保由群集中的同一节点来处理某一特定时间段内来自特定客户端主机的所有请求。
| 依据负载平衡软件和硬件的不同,配置将具有较大的差异。这组主题仅讨论 Windchill 服务器系统的配置。 |
确定负载平衡器或防火墙所需的端口
客户端系统通常通过负载平衡路由器来访问 Windchill 群集服务器环境。出于安全性方面的考虑或端口的限制,在集成了工作组管理器和 Windchill 可视化的群集环境下,您需要确定必须为负载平衡器打开的 TCP 端口和 IP 端口。
许多可能的通信环境将使客户端和服务器之间的通信需求复杂化。为了简化客户端和服务器之间的通信对端口的需求,在此进行的讨论将做如下假设:
• 客户端站点和服务器站点之间只有一条通信线路。
• 客户端站点仅由 HTTP 客户端和 HTTPS 客户端组成。
• 所有 Windchill 服务器组件 (例如,Web 服务器、Servlet 引擎、LDAP、Oracle) 均位于服务器站点中。
• 客户端站点和服务器站点之间已建立了单个负载平衡器和防火墙。
需要开启的端口取决于客户环境:
• 对于工作组管理器,依据特定的产品来确定需要打开的其他端口。CADDS5 和 CATIA V4 的 Windchill Workgroup Manager 使用同 Windchill 服务器一起运行的注册服务器 (RS)。注册服务器使用 2 个端口。每次启动注册服务器时,该服务器都会使用 registryserver.ini 文件中所指定的端口以及另外一个随机端口。必须在两个端口上都授予访问权限,才能使 Windchill Workgroup Manager 正常工作。
使用 <Windchill>/codebase/cfg/site 下的 registryclient.ini 和 registryserver.ini 中定义的 "registry_port" 来手动分配端口。
Creo Parametric 的 Workgroup Manager 和大多数其他工作组管理器使用的统一 Workgroup Manager 框架是常规 HTTP 客户端。因此,适用于所有 HTTP 客户端 (例如,Web 浏览器) 的服务器配置也适用于 Creo Parametric 的 Workgroup Manager 和大多数其他工作组管理器。
有关通过 PTC 解决方案安装程序 (PSI) 设置的端口的详情,请参阅
先决条件核对表。
配置 Windchill 群集环境
PTC 根据具体需求推荐两类群集配置。对于第一类群集配置,群集中的每个节点都是相同的。群集中的每个节点都可以通过协商变成主缓存节点。此类群集被称为相同节点群集。对于第二类群集配置,将配置单独的次节点和主节点。这样就可以使用单独的专用主缓存节点和专用的前台次缓存节点。此类型的群集称为专用主节点群集。
所有 Windchill 群集节点的配置必须相同,以便所有服务器对同一请求均可做出相同的响应。尽管有多个服务器在后台响应请求,但客户端仍会将此系统作为单一服务器进行访问。
要配置 Windchill 群集环境,请参阅以下各部分,并完成适用于您环境的各部分中的说明:
配置相同的节点群集
使用专用主节点配置群集
在群集配置中配置 Windchill 适配器 (可选)
配置相同的节点群集
在示例配置中,所有群集节点的配置都相同。正确配置的单个群集节点可以同步到其他节点,并且可以在群集内执行而无需任何修改。
配置要求所有 HTTP 访问均通过主 IP 负载平衡器来实现。以下“示例特性”部分列出了最低特性配置要求。有关特性的详细说明,请参阅“了解示例中使用的特性”部分。
示例特性
所有群集节点都需要以下特性 (可在 wt.properties 文件中找到):
wt.rmi.server.hostname=A
wt.cache.main.secondaryHosts=B, C, D
使用专用主节点配置群集
在示例配置中,所有群集节点的配置都相同。但是,只允许特定节点成为群集节点。正确配置的单个群集节点可以同步到其他节点,并且可以在群集内执行而无需任何修改。
配置要求所有 HTTP 访问均通过主 IP 负载平衡器来实现。以下“示例特性”部分列出了最低特性配置要求。有关特性的详细说明,请参阅“了解示例中使用的特性”部分。
示例特性
所有群集节点都需要以下特性 (可在 wt.properties 文件中找到):
wt.rmi.server.hostname=A
wt.cache.main.secondaryHosts=B, C, D
wt.cache.main.hostname=D
在示例图表中,只允许主机 D 作为主缓存。如果要将多台主机用作主缓存,则可以将这些主机名添加到 wt.cache.main.hostname 特性值中。
了解示例中使用的特性
下表列出先前示例中使用的特性并介绍其用法:
特性 | 说明 |
---|
wt.rmi.server.hostname=A | 群集中的每个节点的角色就如同其是整体中的群集一样。群集中某个节点的请求所产生的响应需要与群集中其他所有节点对此请求所产生的响应相同。设置本地主机查询以便将通用名称解析到当前节点。以下条目应添加到服务器主机文件中 (UNIX 主机文件为 /etc/hosts;Windows 主机文件为 <WNNT>/system32/drivers/etc/hosts): 127.0.0.1 A 为使客户端作为单服务器群集访问这些节点,必须将 RMI 主机名设置为整个群集的通用名称,在这种情况下,应设置为主机 A。该特性应在安装过程中设置。 |
wt.cache.main.secondaryHosts=B, C, D | 为允许 JMX 管理组件从每个节点进行通信,所有群集节点上都需要设置此特性。此特性还告知 Windchill 群集节点,此特性中的主机受信任,并允许访问次节点。 |
wt.cache.main.hostname=D | 此特性用于定义允许成为主缓存的主机名。如果未定义此特性,则群集中的任何主机都可以成为主缓存。设置后,必须在所有群集节点上设置此特性。 |
在群集配置中配置 Windchill 适配器 (可选)
将为运行于 Windchill 次缓存节点上的前台方法服务器自动配置 Windchill 适配器。单一 Windchill 适配器在安装阶段配置。每当 Windchill 适配器启动时,都会将其配置的端口范围与 Windchill RMI 使用的端口范围 (由 wt.method.minPort 和 wt.method.maxPort wt.property 值配置) 进行比较。如果配置的端口范围小于 Windchill RMI 使用的端口范围,则此范围会自动增加以匹配大小。
有关配置
Windchill 适配器的完整详情,请参阅
Windchill 适配器一节。
在群集节点上配置方法服务器和后台方法服务器
每个群集节点上允许的 MethodServer 和 BackgroundMethodServer 实例数没有限制。在具有专用主节点的群集中,PTC 建议将后台队列处理专用于主节点上的 BackgroundMethodServer 实例。有关详情,请参阅以下各章部分:
• 有关配置其他 MethodServer 实例的信息,请参阅
高级 Windchill 配置下的“为多个方法服务器配置 Windchill 特性”部分。
• 有关配置后台方法服务器的信息,请参阅
配置后台方法服务器下的“配置后台方法服务器”部分。