配置高可用性部署
高可用性 (HA) 是指一个系统始终可供用户使用,而不会中断服务。高可用性设置在系统停机、网络或应用程序故障期间至关重要,是任何企业的关键要求。两个 NetScaler Console 节点以主动-被动模式进行高可用性部署,并采用相同的配置,可提供不间断的操作。
部署场景
注意
单个 NetScaler Console HA 部署的经验证最大存储限制为 3 TB。有关详细信息,请参阅部署指南。
重要
要使用 HTTPS 访问 NetScaler Console 12.1 build 48.18 或更高版本:
如果您已配置 NetScaler 实例以在高可用性模式下对 NetScaler Console 进行负载平衡,请首先移除该 NetScaler 实例。然后,配置一个浮动 IP 地址以在高可用性模式下访问 NetScaler Console。
以下是 NetScaler Console 中高可用性部署的优势:
-
改进了监视主节点和辅助节点之间心跳的机制。
-
提供数据库的物理流式复制,而不是逻辑双向复制。
-
能够在主节点上配置浮动 IP 地址,从而无需单独的 NetScaler 负载平衡器。
-
使用浮动 IP 地址可轻松访问 NetScaler Console 用户界面。
-
NetScaler Console 用户界面仅在主节点上提供。通过使用主节点,可以消除访问和更改辅助节点的风险。
-
配置浮动 IP 地址可处理故障转移情况,并且无需重新配置实例。
-
提供内置功能,可检测和处理脑裂情况。
下表描述了高可用性部署中使用的术语。
| 术语 | 描述 |
|---|---|
| 主节点 | 在高可用性部署中注册的第一个节点。 |
| 辅助节点 | 在高可用性部署中注册的第二个节点。 |
| 心跳 | 在高可用性设置中用于在主节点和辅助节点之间交换消息的机制。这些消息确定每个独立节点上应用程序的状态和运行状况。 |
| 浮动 IP 地址 | 浮动 IP 是一种 IP 地址,可以在同一子网中的一个节点与另一个节点之间即时移动。在内部,它被设置为主节点网络接口上的别名。如果发生故障转移,浮动 IP 地址将从旧主节点无缝移动到新主节点。它在高可用性设置中很有用,因为它允许客户端使用单个 IP 地址与高可用性节点通信。 |
注意:
有关端口和协议详细信息的更多信息,请参阅端口。
高可用性架构的组件
下图显示了以高可用性模式部署的两个 NetScaler Console 节点的架构。
HA 架构(/en-us/netscaler-application-delivery-management-software/media/haarchitecture-console.png)
在高可用性部署中,一个 NetScaler Console 节点配置为主节点 (MAS 1),另一个配置为辅助节点 (MAS 2)。如果主节点因任何原因发生故障,辅助节点将接管成为新的主节点。
监控工具
监控工具是一个内部进程,用于监控、警报和处理故障转移情况。该工具在高可用性中的每个节点上都处于活动运行状态。它负责启动子系统、在两个节点上初始化数据库、在发生故障转移时决定主节点或辅助节点等。
主节点
主节点接受连接并管理实例。所有进程(例如 AppFlow、SNMP、LogStream、syslog 等)都由主节点管理。NetScaler Console 用户界面可在主节点上访问。浮动 IP 地址在主节点上配置。
辅助节点
辅助节点侦听来自主节点的心跳消息。辅助节点上的数据库仅处于只读副本模式。辅助节点中没有活动进程,并且 NetScaler Console 用户界面在辅助节点上不可访问。
物理流复制
主节点和辅助节点通过心跳机制同步。通过数据库的物理流复制,辅助节点以只读副本模式启动。辅助节点侦听从主节点接收到的心跳消息。如果辅助节点在 180 秒内未收到任何心跳,则认为主节点已关闭。然后,辅助节点接管成为主节点。
心跳消息
心跳消息是主节点和辅助节点之间发送和接收的用户数据报协议 (UDP) 数据包。它监控 NetScaler Console 的所有子系统和数据库,以交换有关节点状态、运行状况、进程等信息。信息每秒在高可用性节点之间共享。如果发生故障转移或高可用性状态中断,则会向管理员发送通知作为警报。
浮动 IP 地址
浮动 IP 地址与高可用性设置中的主节点关联。它是分配给主节点 IP 地址的别名,客户端可以使用它连接到主节点中的 NetScaler Console。由于浮动 IP 地址配置在主节点上,因此在发生故障转移时无需重新配置实例。实例会重新连接到相同的 IP 地址以访问新的主节点。
关键注意事项
-
在高可用性设置中,两个 NetScaler Console 节点都以主动-被动模式部署。它们必须位于相同的子网中,使用相同的软件版本和内部版本,并具有相同的配置。
-
浮动 IP 地址:
-
浮动 IP 地址配置在主节点上。
-
如果发生故障转移,实例无需重新配置。
-
您可以通过使用主节点 IP 或浮动 IP 地址从用户界面访问高可用性节点。注意:我们建议您使用浮动 IP 地址访问用户界面。
-
-
数据库:
-
在高可用性设置中,所有配置文件每隔一分钟自动从主节点同步到辅助节点。
-
数据库同步通过数据库的物理复制即时发生。
-
辅助节点上的数据库处于只读副本模式。
-
-
NetScaler Console 升级:
-
内部进程会隐式地将 NetScaler Console 从早期版本升级。注意:升级成功后,您必须配置浮动 IP 地址。
-
-
两个节点上都提供了 UDP 默认端口 5005,用于发送心跳和接收消息。
-
MAC 地址 管理程序中“MAC 地址更改”选项的设置会影响虚拟机接收的流量。允许在虚拟交换机上启用 MAC 地址更改,以便在故障转移后浮动 IP 地址无缝移动到新的主节点。 例如,在 VMware ESXi 上部署 NetScaler Console 高可用性时,请确保接受 MAC 地址更改。ESXi 现在允许将活动 MAC 地址更改为初始 MAC 地址以外的地址。注意:对于部署在 ESXI 6.7 版上的 NetScaler Console,您也可以将“MAC 地址更改”选项设置为“拒绝”。故障转移后,无论“MAC 地址更改”设置如何,流量都会无缝流向新的主节点。因此,接受 MAC 地址更改不是强制性的。如果 NetScaler Console 部署在低于 6.7 的 ESXI 版本上,请确保“MAC 地址更改”选项仅设置为“接受”。

先决条件
在为 NetScaler Console 节点设置高可用性之前,请注意以下先决条件:
-
NetScaler Console 高可用性部署从 NetScaler Console 12.0 build 51.24 版本开始支持。
-
从 NetScaler 站点下载 NetScaler Console 映像文件 (.xva):
<https://www.citrix.com/downloads/>
我们建议您将 CPU 优先级(在虚拟机属性中)设置为最高级别,以改善调度行为和网络延迟。
下表列出了虚拟计算资源的最低要求:
| 组件 | 要求 |
|---|---|
| 内存 | 32 GB |
| 虚拟 CPU | 8 个 CPU |
| 存储空间 | 我们建议您在 NetScaler Console 部署中使用固态硬盘 (SSD) 技术。默认值为 120 GB。实际存储要求取决于 NetScaler Console 的大小估算。如果您的 NetScaler Console 存储要求超过 120 GB,则必须连接一个额外的磁盘。注意: 您只能添加一个额外的磁盘。我们建议您在初始部署时估算存储并连接额外的磁盘。有关更多信息,请参阅 如何将额外磁盘连接到 NetScaler Console。 |
| 虚拟网络接口 | 1 |
| 吞吐量 | 1 千兆位/秒 或 100 兆位/秒 |
| 虚拟机管理程序 | 版本 |
| 思杰管理程序 | 6.2 和 6.5 |
| 威睿 ESXi | 5.5 和 6.0 |
| 微软 Hyper-V | 2012 R2 |
| 利努克斯 KVM | 乌班图 和 费多拉 |
在高可用性模式下设置 NetScaler Console
从版本 14.1 build 17.x 开始,您可以直接从主节点的 NetScaler Console GUI 部署高可用性设置。
-
注册第一个服务器(主节点)。
-
注册第二个服务器(辅助节点)。
-
在主节点 GUI 中部署高可用性设置。
注册第一个服务器(主节点)
要注册主节点:
-
使用从 NetScaler 站点下载的 .xva 映像文件并将其导入到您的管理程序中。注意:导入并启动 .xva 镜像文件可能需要几分钟。您可以在屏幕底部查看状态。XVA 文件(/en-us/netscaler-application-delivery-management-software/media/importvm.png)
-
导入成功后,右键单击并点击 Start。启动文件(/en-us/netscaler-application-delivery-management-software/media/startvm.png)
-
在 Console 选项卡中,使用初始网络配置来配置 NetScaler Console。网络配置(/en-us/netscaler-application-delivery-management-software/media/admha-initialconfig.png)
-
初始网络配置完成后,系统会提示登录。使用以下凭据登录 – nsrecover/nsroot。注意:登录后,如果您想更新初始网络配置,请键入
networkconfig,更新配置,然后保存配置。
注册第二个服务器(辅助节点)
-
使用从 NetScaler 站点下载的 .xva 镜像文件并将其导入到您的虚拟机管理程序中。
-
在 Console 选项卡中,按照下图所示配置 NetScaler Console 的初始网络配置。
-
初始网络配置完成后,系统会提示登录。使用以下凭据登录 – nsrecover/nsroot。注意:
-
登录后,如果您想更新初始网络配置,请键入
networkconfig,更新配置,然后保存配置。 -
如果配置中存在任何问题,系统将显示错误消息。
-
系统将重新启动,配置生效需要几分钟。
-
从主节点 GUI 部署高可用性设置
注册主节点和辅助节点后,登录主节点 GUI 以设置高可用性对。
注意:
-
在将节点部署到高可用性对之前,请确保辅助节点在初始网络配置后已完成重新启动。
要从主节点部署高可用性对,请按照以下步骤操作:
-
登录主节点 GUI。
-
导航到 设置 > 管理 > 高可用性设置 > 配置 NetScaler Console 高可用性 (HA)。
-
在 配置 NetScaler Console 高可用性 (HA) 页面上,输入辅助节点的以下详细信息:
-
对等节点 IP 地址
-
对等节点密码
-
浮动 IP 地址
-
-
单击“配置”。
-
在“确认”页面上,单击“是”。配置高可用性对(/en-us/netscaler-application-delivery-management-software/media/configure-ha-pair.png)主节点和辅助节点都会重新启动以形成高可用性对,通常需要大约 10 分钟。备注:
-
您现在可以开始使用浮动 IP 地址。
-
浮动 IP 地址对于节点的高可用性部署是强制性的。
-
高可用性部署完成后,使用浮动 IP 地址访问 NetScaler Console 用户界面。
-
-
导航到设置 > 部署以验证部署。注意:辅助节点可能需要大约 10 分钟才能启动。在此之前,辅助节点状态显示为关闭。
有关详细信息,请参阅常见问题。
禁用高可用性
您可以在 NetScaler Console 高可用性对上禁用高可用性,并将节点转换为独立的 NetScaler Console 服务器。
注意:
从主节点禁用高可用性。
要禁用高可用性:
-
在 Web 浏览器中,输入 NetScaler Console 服务器主节点的 IP 地址。
-
在用户名和密码字段中,输入管理员凭据。
-
在系统选项卡上,导航到部署,然后单击中断 HA。将显示一个对话框。单击是以中断高可用性部署。
重新部署高可用性
将高可用性禁用为独立部署后,您可以将其重新部署到高可用性模式。重新部署高可用性与首次部署高可用性类似。有关更多详细信息,请参阅从主节点 GUI 部署高可用性设置。
注意:
禁用 NetScaler® Console 高可用性后,只能使用一个控制台节点作为独立许可证服务器。第二个节点必须重新配置。
高可用性故障转移场景
如果遇到以下任一情况,则会发生故障转移:
-
节点故障:主节点关闭,180 秒内未检测到来自主节点的心跳。
-
应用程序运行状况故障:主节点已启动并正在运行,但其中一个 NetScaler Console 进程已关闭。
查看数据库同步日志消息
在 NetScaler Console HA 对中,配置文件会自动从主节点同步到辅助节点,并发生数据库的物理流式复制。
但是,如果存在流式复制错误,则会显示同步数据库按钮。您可以单击同步数据库按钮以启动数据库同步过程。
要查看数据库同步进度,请单击 查看日志。此时将显示 数据库同步日志 消息,您可以实时查看同步进度的详细信息。
脑裂场景
当由于网络链路停机导致两个节点之间没有通信时,则:
-
主节点继续作为主节点运行
-
由于未能接收到心跳,辅助节点接管成为主节点
-
两个节点都将运行各自的数据库实例
例如,在企业中,两个 NetScaler Console 节点已部署为主节点和辅助节点。由于可能的网络链路停机,两个 NetScaler Console 节点之间的通信完全中断。由于超过 180 秒没有心跳交换,两个节点都认为自己是主节点。两个节点都作为活动节点运行自己的数据库实例。
从 NetScaler Console 12.1 或更高版本开始,在网络链路和心跳恢复后,此脑裂情况将得到妥善处理。高可用性同步会自动恢复。恢复时间取决于数据量和节点之间链路的速度。
注意:
在脑裂情况下,当旧主节点重新加入高可用性时,其上发生的更改将与新主节点同步并重置。在脑裂期间在新主节点上发生的更改保持不变。
许可
NetScaler Console 服务器可以包含 VIP、CICO 和池化容量许可证。当许可证颁发给 NetScaler Console 服务器时,许可证将绑定到服务器主机 ID。禁止将许可证分配给其他 NetScaler Console 服务器。
如果您将 NetScaler Console 高可用性对配置为许可证服务器,则应用于主节点的许可证文件将同步到辅助节点。
注意:
-
在 12.1-50.x 及更高版本中,NetScaler Console 许可证会自动从主节点同步到辅助节点。