Application Delivery Management

配置高可用性部署

高可用性 (HA) 是指一个始终为用户提供不间断服务的系统。高可用性设置在系统停机、网络或应用程序故障期间至关重要,是任何企业的关键要求。采用相同配置的两个 NetScaler® ADM 节点以主动-被动模式进行高可用性部署,可提供不间断运行。

部署场景

场景

注意

单个 NetScaler ADM HA 部署的经验证的最大存储限制为 3 TB。有关详细信息,请参阅部署指南

重要

要使用 HTTPS 访问 NetScaler ADM 12.1 build 48.18 或更高版本:

如果您已配置 NetScaler 实例以在高可用性模式下对 NetScaler ADM 进行负载平衡,请先删除该 NetScaler 实例。然后,配置一个浮动 IP 地址以在高可用性模式下访问 NetScaler ADM。

NetScaler ADM 中高可用性部署的优势如下:

  • 改进了主节点和辅助节点之间心跳的监视机制。

  • 提供数据库的物理流式复制,而非逻辑双向复制。

  • 能够在主节点上配置浮动 IP 地址,从而无需单独的 NetScaler 负载平衡器。

  • 使用浮动 IP 地址可轻松访问 NetScaler ADM 用户界面。

  • NetScaler ADM 用户界面仅在主节点上提供。通过使用主节点,可以消除访问和更改辅助节点的风险。

  • 配置浮动 IP 地址可处理故障转移情况,无需重新配置实例。

  • 提供内置功能以检测和处理脑裂情况。

下表描述了高可用性部署中使用的术语。

术语 描述
主节点 在高可用性部署中注册的第一个节点。
辅助节点 在高可用性部署中注册的第二个节点。
心跳 一种用于在高可用性设置中在主节点和辅助节点之间交换消息的机制。这些消息确定每个独立节点上应用程序的状态和运行状况。
浮动 IP 地址 浮动 IP 是一个 IP 地址,可以在同一子网中的一个节点与另一个节点之间即时移动。在内部,它被设置为主节点网络接口上的别名。如果发生故障转移,浮动 IP 地址将从旧主节点无缝移动到新主节点。它在高可用性设置中很有用,因为它允许客户端使用单个 IP 地址与高可用性节点通信。

注意

有关端口和协议的详细信息,请参阅端口

高可用性体系结构的组件

下图显示了以高可用性模式部署的两个 NetScaler ADM 节点的体系结构。

HA 体系结构

在高可用性部署中,一个 NetScaler ADM 节点配置为主节点 (MAS 1),另一个配置为辅助节点 (MAS 2)。如果主节点因任何原因发生故障,辅助节点将接管成为新的主节点。

监视工具

监视工具是一个内部进程,用于监视、警报和处理故障转移情况。该工具在高可用性中的每个节点上都处于活动运行状态。它负责启动子系统、在两个节点上初始化数据库、在发生故障转移时决定主节点或辅助节点等。

主节点

主节点接受连接并管理实例。所有进程(例如 AppFlow®、SNMP、LogStream、syslog 等)都由主节点管理。NetScaler ADM 用户界面可在主节点上访问。浮动 IP 地址在主节点上配置。

辅助节点

辅助节点侦听从主节点发送的心跳消息。辅助节点上的数据库仅处于只读副本模式。辅助节点中没有活动进程,并且无法在辅助节点上访问 NetScaler ADM 用户界面。

物理流式复制

主节点和辅助节点通过心跳机制进行同步。借助数据库的物理流式复制,辅助节点以只读副本模式启动。辅助节点侦听从主节点接收到的心跳消息。如果辅助节点在 180 秒内未收到任何心跳,则认为主节点已关闭。然后,辅助节点接管成为主节点。

心跳消息

心跳消息是用户数据报包 (UDP),在主节点和辅助节点之间发送和接收。它监视 NetScaler ADM 和数据库的所有子系统,以交换有关节点状态、运行状况、进程等信息。信息在每秒钟在高可用性节点之间共享。如果发生故障转移或高可用性状态中断,则会向管理员发送警报通知。

浮动 IP 地址

浮动 IP 地址与高可用性设置中的主节点关联。它是赋予主节点 IP 地址的别名,客户端可以使用它连接到主节点中的 NetScaler ADM。由于浮动 IP 地址在主节点上配置,因此在发生故障转移时无需重新配置实例。实例重新连接到相同的 IP 地址以到达新的主节点。

注意要点

  • 在高可用性设置中,两个 NetScaler ADM 节点都以主动-被动模式部署。它们必须位于相同的子网中,使用相同的软件版本和内部版本,并具有相同的配置。

  • 浮动 IP 地址:

    • 浮动 IP 地址在主节点上配置。

    • 如果发生故障转移,无需重新配置实例。

    • 您可以通过用户界面访问高可用性节点,可以使用主节点 IP 或浮动 IP 地址。

      注意

      Citrix 建议您使用浮动 IP 地址访问用户界面。

  • 数据库:

    • 在高可用性设置中,所有配置文件每隔一分钟自动从主节点同步到辅助节点。

    • 数据库同步通过数据库的物理复制即时发生。

    • 辅助节点上的数据库处于只读副本模式。

  • NetScaler ADM 升级:

    • 内部进程隐式地将 NetScaler ADM 从早期版本升级。

      注意

      升级成功后,您必须配置浮动 IP 地址。

  • UDP 默认端口 5005 在两个节点上都可用,用于发送心跳和接收消息。

  • MAC 地址 虚拟机管理程序中“MAC 地址更改”选项的设置会影响虚拟机接收的流量。允许在虚拟交换机上启用 MAC 地址更改,以便在故障转移后浮动 IP 地址无缝移动到新的主节点。 例如,在 VMware ESXi 上部署高可用性 NetScaler ADM 时,请确保接受 MAC 地址更改。ESXi 现在允许将活动 MAC 地址更改为初始 MAC 地址以外的地址。

    注意

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

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

    ESXI MAC 地址

先决条件

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

  • NetScaler ADM 高可用性部署从 NetScaler ADM 12.0 build 51.24 版本开始受支持。

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

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

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

组件 要求
RAM 32 GB
虚拟 CPU 8 个 CPU
存储空间 Citrix 建议将固态硬盘 (SSD) 技术用于 NetScaler ADM 部署。默认值为 120 GB。实际存储要求取决于 NetScaler ADM 大小估算。如果您的 NetScaler ADM 存储要求超过 120 GB,则必须连接一个额外的磁盘。注意 您只能添加一个额外的磁盘。Citrix 建议您在初始部署时估算存储并连接额外的磁盘。有关详细信息,请参阅如何将额外磁盘连接到 NetScaler ADM
虚拟网络接口 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 ADM

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

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

  3. 部署主节点和辅助节点以进行高可用性设置。

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

要注册第一个节点:

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

    注意

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

    XVA 文件

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

    启动文件

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

    网络配置

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

    注意

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

  5. 要部署主节点,请输入 /mps/deployment_type.py。将显示 NetScaler ADM 部署配置菜单。

    配置菜单

  6. 选择 1 将 NetScaler ADM 服务器注册为主节点。

    注册主节点

  7. 控制台提示您选择 NetScaler ADM 独立部署。输入 No 以确认部署为高可用性。

    确认部署

  8. 控制台提示您选择第一个服务器节点。输入 Yes 以确认该节点为第一个节点。

    确认节点

  9. 控制台提示您重新启动系统。输入 Yes 以重新启动。

    重新启动系统

    系统重新启动,并在 NetScaler ADM 用户界面中显示为主节点。

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

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

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

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

    注意

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

  4. 要部署辅助节点,请输入 /mps/deployment_type.py。将显示 NetScaler ADM 部署配置菜单。

  5. 选择 1 将 NetScaler ADM 服务器注册为辅助节点。

  6. 控制台提示您选择 NetScaler ADM 作为独立部署。输入 No 以确认部署为高可用性。

  7. 控制台提示您选择第一个服务器节点。输入 No 以确认该节点为第二个服务器。

    确认第二个节点

  8. 控制台提示您输入主节点的 IP 地址和密码。

    输入 IP 地址

  9. 控制台提示您输入浮动 IP 地址。

    输入浮动 IP

  10. 控制台提示您重新启动系统。输入 Yes 以重新启动。

    注意

    • 浮动 IP 地址对于节点的高可用性部署是强制性的。

    • 如果配置中存在任何问题,系统将显示错误消息。

    • 系统将重新启动,配置生效需要几分钟。

将主节点和辅助节点部署为高可用性对

注册后,主节点和辅助节点都将显示在 NetScaler ADM 用户界面上。将这些节点部署为高可用性对。

注意

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

  • 高可用性部署完成后,请使用浮动 IP 地址访问 NetScaler ADM 用户界面。

要将节点部署为高可用性对

  1. 打开 Web 浏览器并输入第一个 NetScaler ADM 服务器节点的 IP 地址。

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

  3. 在主页中单击开始使用

  4. 选择部署类型为以高可用性模式部署的两个服务器,然后单击下一步

  5. 在“部署”页面上,单击部署

  6. 将显示确认消息。单击

    NetScaler ADM 将重新启动,配置生效大约需要 10 分钟。

    注意

    您现在可以开始使用浮动 IP 地址。

  7. 使用管理员凭据登录 NetScaler ADM,在主页中单击开始使用,并可选择完成以下操作:

    1. 添加 NetScaler 实例

    2. 配置客户身份

      注意

      您也可以单击跳过稍后完成,然后单击完成

  8. 导航到设置 > 部署以验证部署。

    有关详细信息,请参阅常见问题

禁用高可用性

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

注意

从主节点禁用高可用性。

要禁用高可用性

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

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

  3. 系统选项卡中,导航到部署,然后单击中断 HA

    将显示一个对话框。单击以中断高可用性部署。

重新部署高可用性

禁用高可用性以进行独立部署后,您可以再次将其重新部署到高可用性模式。重新部署高可用性与首次部署高可用性类似。有关详细信息,请参阅将主节点和辅助节点部署为高可用性对

注意:

禁用 NetScaler Console 高可用性后,仅使用一个控制台节点作为独立许可证服务器。必须重新配置第二个节点。

高可用性故障转移场景

如果遇到以下任一情况,则会发生故障转移:

  • 节点故障:主节点关闭,180 秒内未检测到来自主节点的心跳。

  • 应用程序运行状况故障:主节点正在运行,但其中一个 NetScaler ADM 进程已关闭。

查看数据库同步日志消息

在 NetScaler ADM HA 对中,配置文件自动从主节点同步到辅助节点,并发生数据库的物理流式复制。

但是,如果存在流式复制错误,则会显示同步数据库按钮。您可以单击同步数据库按钮以启动数据库同步过程。

日志消息

要查看数据库同步的进度,请单击查看日志。将显示数据库同步日志消息,您可以实时查看同步进度的详细信息。

同步日志消息

脑裂场景

当由于网络链路停机导致两个节点之间没有通信时,则:

  • 主节点继续作为主节点运行

  • 辅助节点因未能接收心跳而接管成为主节点

  • 两个节点都将运行其各自的数据库实例

例如,在企业中,两个 NetScaler ADM 节点已部署为主节点和辅助节点。由于可能的网络链路停机,两个 NetScaler ADM 节点之间的通信完全中断。由于超过 180 秒没有心跳交换,两个节点都认为自己是主节点。两个节点都充当活动节点并运行其自己的数据库实例。

从 NetScaler ADM 12.1 或更高版本开始,在网络链路和心跳恢复后,此脑裂情况将得到妥善处理。高可用性同步会自动恢复。恢复时间取决于节点之间链路的数据量和速度。

注意

在脑裂情况下,当旧主节点重新加入高可用性时,旧主节点上发生的更改将随新主节点重置。在脑裂期间在新主节点上发生的更改保持不变。