建议在三节点集群中部署 NSX Advanced Load Balancer 控制器。由于可用资源有限,一些企业可能认为此建议不可取。在这种情况下,可以将 NSX Advanced Load Balancer 控制器 部署为独立节点。在独立节点部署中,NSX Advanced Load Balancer 控制器 的可用性将由底层基础架构维护,而不是通过集群机制维护。

通过在 VMware 上部署和托管 NSX Advanced Load Balancer 控制器,可以利用 VMware 的本机解决方案来维护 NSX Advanced Load Balancer 控制器 的高可用性。本节重点介绍了如何在 VMware 内托管单节点 NSX Advanced Load Balancer 控制器 集群,以及如何使用本机解决方案以主动和被动方式维护和还原控制器可用性,以免对基础架构造成影响。此外,还重点介绍了如何将 VMware 环境与部署的控制器结合使用。但是,设置 VMware 环境不在本节讨论范围之内。

注:
  • 强烈建议维护最新的配置存档。单节点集群意味着只有一个主机在维护配置。在灾难恢复期间,例如在发生存储故障后,必须从配置存档还原 NSX Advanced Load Balancer 控制器

  • 有关控制器集群和服务引擎上的 VMware HA/DRS/vMotion 的更多信息,请参阅VMware NSX Advanced Load Balancer 安装指南》中的“VMware vCenter 环境中的 NSX Advanced Load Balancer 高可用性”主题。

VMware 解决方案

VMware 提供了一些本机机制来维护关键应用程序和虚拟机的可用性。vMotion 和 VMware 高可用性 (VMware High Availability, VMware HA) 已经过测试,对单节点 NSX Advanced Load Balancer 控制器 可用性的任何影响已进行衡量,而且数据完整性也已经过验证。

vMotion

通过 vMotion,可以在不停机的情况下将虚拟机从一个主机实时迁移到另一个主机。这是一种主动方法,可用于维护虚拟机服务的可用性,在服务器维护之前迁移虚拟机,或者将虚拟机从降级或出现故障的服务器中移出。

有关更多信息,请参阅 vMotion 概览为 vMotion 配置资源的最佳做法

VMware 高可用性 (VMware HA)

VMware 高可用性可为应用程序和虚拟机提供故障保护。如果服务器出现故障,VMware HA 允许动态迁移虚拟机,并在另一台服务器上启动虚拟机,从而恢复应用程序的可用性。

有关更多信息,请参阅关于 VMware HA为 VMware 配置资源的最佳做法

验证场景

对以下场景进行了测试,以便验证、恢复和维护在 VMware 上运行的单节点 NSX Advanced Load Balancer 控制器 的可用性:

  • vMotion 实时迁移

  • 服务器故障

设置规格

验证场景时,使用了以下设置规格:

  • VMware vSphere 6.0 update 3

  • NSX Advanced Load Balancer 17.2.7

  • NFS 共享数据存储

用例

vMotion 实时迁移

在 vMotion 实时迁移期间,NSX Advanced Load Balancer 控制器 从一台服务器迁移到另一台服务器,并且一直处于打开电源状态。

预期

在 API 延迟增加的情况下,始终保持可用性。

结果

在此过程中,NSX Advanced Load Balancer 控制器 保持可用,但会间歇性出现 API 延迟增加的情况。迁移后,所有服务均还原,并且控制器恢复正常运行。在测试场景期间,没有对数据路径造成任何影响(负载均衡的应用程序)。



服务器故障

托管 NSX Advanced Load Balancer 控制器 的 ESXi 服务器发生故障。

预期

控制器有 3 到 5 分钟不可用,而且还需要等待 2 到 3 分钟,之后控制器服务才会启动并运行。VMware 高可用性可还原 NSX Advanced Load Balancer 控制器 的可用性。



结果

ESXi 主机出现故障时,vCenter 需要 3 到 5 分钟来检测主机故障、迁移 NSX Advanced Load Balancer 控制器 并打开电源。在接下来的 2 到 3 分钟内,控制器服务启动并且 API 可用。在测试场景期间,没有对数据路径造成任何影响(负载均衡的应用程序)。

NSX Advanced Load Balancer 部署建议

在使用单个 NSX Advanced Load Balancer 控制器 进行部署时,需要考虑一些最佳部署建议。当 NSX Advanced Load Balancer 控制器 和服务引擎托管在同一 VMware 集群上时,这些建议适用。由于在同一集群上托管的服务引擎和 NSX Advanced Load Balancer 控制器 可能会受到同样的影响,因此需要同时考虑控制平面 (NSX Advanced Load Balancer 控制器) 可用性和数据平面(服务引擎)可用性。这些建议可能因以下情况而有所不同:

有关配置的 SE 组的更多信息,请参阅VMware NSX Advanced Load Balancer 安装指南》中的“NSX Advanced Load Balancer 服务引擎的弹性高可用性”主题,或VMware NSX Advanced Load Balancer 配置指南》中的“NSX Advanced Load Balancer 服务引擎的传统高可用性”主题。

有关 VMware 集成的更多信息,请参阅VMware NSX Advanced Load Balancer 安装指南》中的“在 VMware vSphere 环境中安装 NSX Advanced Load Balancer”主题。

注:

NSX Advanced Load Balancer 控制器NSX Advanced Load Balancer 服务引擎托管在同一 VMware Server 集群上时,这些建议适用。

弹性高可用性 - 写入访问权限

在弹性高可用性模式下部署服务引擎时,建议将 NSX Advanced Load Balancer 控制器 托管在与服务引擎不同的服务器上。如果服务引擎和控制器托管在同一服务器上,则在发生故障的场景中,在该服务引擎上托管的虚拟服务将受到影响,直到控制器服务完全还原为止。

注:

不建议将 vMotion 和 DRS 用于服务引擎。

NSX Advanced Load Balancer 中的配置

修改服务引擎组以指定可以/不可以在其上创建服务引擎的主机/集群。通过这样做,您可以指定不在其上托管控制器的主机。有关更多信息,请参阅VMware NSX Advanced Load Balancer 配置指南》中的“对集群和主机执行包含-排除操作”主题。

VMware 中的配置

为了将 NSX Advanced Load Balancer 控制器 与服务引擎分开,我们将在 VMware 中使用虚拟机关联性规则。我们将配置虚拟机关联性规则,以使运行控制器的服务器不同于托管服务引擎的服务器。

有关更多信息,请参阅 VMware 虚拟机关联性VMware 虚拟机关联性设置

弹性高可用性 - 无权访问

在弹性高可用性模式下部署服务引擎时,建议将 NSX Advanced Load Balancer 控制器 托管在与服务引擎不同的服务器上。如果服务引擎和 NSX Advanced Load Balancer 控制器 托管在同一服务器上,则在发生故障的场景中,在该服务引擎上托管的虚拟服务将受到影响,直到控制器服务完全还原为止。

注:

不建议将 vMotion 和 DRS 用于服务引擎。

NSX Advanced Load Balancer 中的配置

无需任何措施。

VMware 中的配置

为了将 NSX Advanced Load Balancer 控制器 与服务引擎分开,我们将在 VMware 中使用虚拟机关联性规则。我们将配置虚拟机关联性规则,以使运行控制器的服务器不同于托管服务引擎的服务器。我们将使用一个规则来定义有资格使用控制器的主机,并使用另一个规则定义服务引擎有资格使用的服务器。这样,您就可以为 NSX Advanced Load Balancer 控制器 指定与为服务引擎指定的主机不同的主机。这些规则应将服务引擎与 NSX Advanced Load Balancer 控制器 分开,从而降低主机发生故障时数据平面流量受到影响的风险。

有关更多信息,请参阅 VMware 虚拟机关联性VMware 虚拟机关联性设置

传统高可用性 - 写入访问权限

在传统高可用性模式下部署服务引擎时,建议将 NSX Advanced Load Balancer 控制器 托管在与服务引擎不同的服务器上。如果主服务引擎和控制器托管在同一服务器上,则在发生故障的场景中,在该服务引擎上托管的虚拟服务将受到影响,直到控制器服务完全还原为止。

注:

不建议将 vMotion 和 DRS 用于服务引擎。

NSX Advanced Load Balancer 中的配置

修改服务引擎组以指定可以/不可以在其上创建服务引擎的主机或集群。通过这样做,您可以指定不在其上托管 NSX Advanced Load Balancer 控制器 的主机。

有关更多信息,请参阅VMware NSX Advanced Load Balancer 配置指南》中的“对集群和主机执行包含-排除操作”主题。

NSX Advanced Load Balancer 中的配置

为了将 NSX Advanced Load Balancer 控制器 与服务引擎分开,我们将在 VMware 中使用虚拟机关联性规则。我们将配置虚拟机关联性规则,以使运行 NSX Advanced Load Balancer 控制器 的服务器不同于托管服务引擎的服务器。

有关更多信息,请参阅 VMware 虚拟机关联性VMware 虚拟机关联性设置

传统高可用性 - 无权访问

在弹性高可用性模式下部署服务引擎时,建议将 NSX Advanced Load Balancer 控制器 托管在与服务引擎不同的服务器上。如果服务引擎和 NSX Advanced Load Balancer 控制器 托管在同一服务器上,则在发生故障的场景中,在该服务引擎上托管的虚拟服务将受到影响,直到 NSX Advanced Load Balancer 控制器 服务完全还原为止。

注:

不建议将 vMotion 和 DRS 用于服务引擎。

如果服务器资源不足以将 NSX Advanced Load Balancer 控制器 与所有服务引擎分开,建议不要在传统高可用性配置中选择分配负载。这会导致只有一个服务引擎成为所有虚拟服务的主引擎。

NSX Advanced Load Balancer 中的配置

如果没有足够的可用计算资源来将控制器与所有服务引擎分开托管,请不要在传统高可用性设置中配置分配负载

有关更多信息,请参阅VMware NSX Advanced Load Balancer 配置指南》中的“NSX Advanced Load Balancer 服务引擎的传统高可用性”主题。

VMware 中的配置

要单独托管 NSX Advanced Load Balancer 控制器,我们将在 VMware 中使用虚拟机关联性规则。我们将使用一个规则来定义有资格使用控制器的主机,并使用另一个规则定义服务引擎有资格使用的服务器。这样,您就可以为控制器指定与为服务引擎指定的主机不同的主机。这些规则应将服务引擎与控制器分开,从而降低主机发生故障时数据平面流量受到影响的风险。

如果没有足够的可用服务器资源来将 NSX Advanced Load Balancer 控制器 与所有服务引擎分开托管,请设置关联性规则以将控制器与主服务引擎分开。这样可以防止在托管 NSX Advanced Load Balancer 控制器 的服务器出现故障时影响到数据平面流量。

有关更多信息,请参阅 VMware 虚拟机关联性VMware 虚拟机关联性设置

总之,当企业确定单节点控制器最适合他们时,可以依靠 VMware 的本机解决方案提供 NSX Advanced Load Balancer 控制器 高可用性。