Application Delivery Management

配置高可用性部署

高可用性 (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 体系结构

在高可用性部署中,一个 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 地址以外的 MAC 地址的请求。

    注意:

    对于部署在 ESXI 6.7 版上的 NetScaler Console,您也可以将MAC 地址更改选项设置为拒绝。故障转移后,无论MAC 地址更改设置如何,流量都会无缝流向新的主节点。因此,接受 MAC 地址更改不是强制性的。

    如果 NetScaler Console 部署在低于 6.7 的 ESXI 版本上,请确保MAC 地址更改选项仅设置为接受

    ESXI MAC 地址

先决条件

在为 NetScaler Console 节点设置高可用性之前,请注意以下先决条件:

  • NetScaler Console 高可用性部署支持 NetScaler Console 12.0 build 51.24 及更高版本。

  • 从 NetScaler 站点下载 NetScaler Console 映像文件 (.xva):https://www.citrix.com/downloads/

我们建议您将 CPU 优先级(在虚拟机属性中)设置为最高级别,以改善调度行为和网络延迟。

下表列出了虚拟计算资源的最低要求:

组件 要求
RAM 32 GB
虚拟 CPU 8 个 CPU
存储空间 我们建议您将固态硬盘 (SSD) 技术用于 NetScaler Console 部署。默认值为 120 GB。实际存储要求取决于 NetScaler Console 大小估算。如果您的 NetScaler Console 存储要求超过 120 GB,则必须连接一个额外的磁盘。注意: 您只能添加一个额外的磁盘。我们建议您在初始部署时估算存储并连接额外的磁盘。有关更多信息,请参阅如何将额外磁盘连接到 NetScaler Console
虚拟网络接口 1
吞吐量 1 Gbps 或 100 Mbps
虚拟机管理程序 版本
Citrix Hypervisor 6.2 和 6.5
VMware ESXi 5.5 和 6.0
Microsoft Hyper-V 2012 R2
Linux KVM Ubuntu 和 Fedora

以高可用性模式设置 NetScaler Console

从 14.1 build 17.x 版本开始,您可以直接从主节点的 NetScaler Console GUI 部署高可用性设置。

  1. 注册第一个服务器(主节点)。

  2. 注册第二个服务器(辅助节点)。

  3. 在主节点 GUI 中部署高可用性设置。

注册第一个服务器(主节点)

要注册主节点:

  1. 使用从 NetScaler 站点下载的 .xva 映像文件并将其导入到您的虚拟机管理程序中。

    注意:

    .xva 映像文件导入并启动可能需要几分钟。您可以在屏幕底部看到状态。

    XVA 文件

  2. 导入成功后,右键单击并单击启动

    启动文件

  3. 控制台选项卡中,使用初始网络配置配置 NetScaler Console。

    网络配置

  4. 初始网络配置完成后,系统会提示登录。使用以下凭据登录 – nsrecover/nsroot

    注意:

    登录后,如果您想更新初始网络配置,请键入 networkconfig,更新配置,然后保存配置。

注册第二个服务器(辅助节点)

  1. 使用从 NetScaler 站点下载的 .xva 映像文件并将其导入到您的虚拟机管理程序中。

  2. 控制台选项卡中,使用初始网络配置配置 NetScaler Console,如以下图像所示。

  3. 初始网络配置完成后,系统会提示登录。使用以下凭据登录 – nsrecover/nsroot

    注意:

    • 登录后,如果您想更新初始网络配置,请键入 networkconfig,更新配置,然后保存配置。
    • 如果配置有任何问题,系统将显示错误消息。
    • 系统将重新启动,配置生效需要几分钟。

从主节点 GUI 部署高可用性设置

注册主节点和辅助节点后,登录到主节点 GUI 以设置高可用性对。

注意:

  • 在将节点部署到高可用性对之前,请确保辅助节点在初始网络配置后已完成重新启动。

要从主节点部署高可用性对,请按照以下步骤操作:

  1. 登录到主节点 GUI。

  2. 导航到设置 > 管理 > 高可用性设置 > 配置 NetScaler Console 高可用性 (HA)

  3. 配置 NetScaler Console 高可用性 (HA) 页面上,输入辅助节点的以下详细信息:

    • 对等节点 IP 地址
    • 对等节点密码
    • 浮动 IP 地址
  4. 单击配置

  5. 确认页面上,单击

    配置 HA 对

    主节点和辅助节点都将重新启动以形成高可用性对,通常需要大约 10 分钟。

    注意:

    • 您现在可以开始使用浮动 IP 地址
    • 浮动 IP 地址对于节点的 HA 部署是强制性的。
    • 高可用性部署完成后,使用浮动 IP 地址访问 NetScaler Console 用户界面。
  6. 导航到设置 > 部署以验证部署。

    注意:

    辅助节点可能需要大约 10 分钟才能启动。在此之前,辅助节点状态显示为关闭

有关更多信息,请参阅常见问题

禁用高可用性

您可以禁用 NetScaler Console 高可用性对上的高可用性,并将节点转换为独立的 NetScaler Console 服务器。

注意:

从主节点禁用高可用性。

要禁用高可用性:

  1. 在 Web 浏览器中,输入 NetScaler Console 服务器主节点的 IP 地址。

  2. 用户名密码字段中,输入管理员凭据。

  3. 系统选项卡上,导航到部署并单击中断 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 许可证会自动从主节点同步到辅助节点。