失去控制器所产生的影响取决于该控制器是作为独立控制器部署,还是作为三节点控制器集群的一部分部署。控制器可能会由于各种原因发生故障,例如软件故障或底层硬件故障。控制器还可能会因为与 NSX Advanced Load Balancer 基础架构的其余部分所在的网络断开连接而发生故障。

控制器集群

在控制器集群中,工作负载会在三个控制器之间进行分配。如果一个控制器出现故障,其余两个控制器将继续正常运行,而不会影响数据平面流量。

如果出现故障的控制器是集群主节点,则其余控制器中将有一个控制器接管集群主节点。主节点的这一变化不会对运行产生直接影响。如果已创建控制器集群 IP 地址,该 IP 地址将移到新的主节点,该主节点将开始对地址进行 ARP(通告)。

集群仲裁数

在控制器集群的三个节点中,需要至少有两个节点处于启动状态,集群才能维持仲裁数。这可消除“脑裂”情况,即两个设备同时处于活动状态(同时为主节点)并可能发生冲突的配置更新。

如果某个控制器仍处于联机状态,但只是与其他控制器断开连接,则在重新获得连接之前,该控制器将不再是集群的一部分。因此,如果在三个数据中心中的每个数据中心分别创建了一个控制器和多个服务引擎,当一个数据中心与另外两个数据中心断开连接时,隔离数据中心内的控制器将不会作为独立控制器接受配置更改。隔离的控制器必须与集群重新连接,或正式降级为独立控制器。

替换出现故障的控制器

如果控制器故障是永久性的,请执行以下操作以移除控制器并还原集群的完全高可用性。

  1. 如果控制器位于虚拟机中,请从云 Orchestrator 中删除该虚拟机。

  2. 从另一个仍处于启动状态的控制器的 Web 界面中,删除出现故障的控制器的 IP 地址。导航到管理 > 控制器

  3. 安装一个新控制器。

    注:

    请勿登录到新控制器的 Web 界面。仅执行初始设置,例如选择云 Orchestrator。

  4. 从现有控制器中,添加新控制器的 IP 地址。几分钟后,集群状态应当变为绿色。

独立控制器

在独立控制器配置中,控制器故障会使 NSX Advanced Load Balancer 系统处于无主状态。在无主状态下,现有服务引擎 (Service Engine, SE) 将继续按照它们收到的最后指令运行。

在还原控制器之前,无法进行新的配置更改。要还原控制器,可以重新构建新的控制器(这会中断现有连接),也可以使现有控制器恢复联机(这对于现有数据流量是透明的)。

在无主状态下,如果有足够的可用磁盘空间,SE 将尝试缓冲客户端日志。如果控制器暂时处于脱机状态(例如,在重新引导控制器主机时),SE 将在控制器恢复正常后重新连接,从而允许检索缓冲的客户端日志。