本主题解答了关于 NSX Advanced Load Balancer Controller 集群的一些基本问题。

  • 一个 NSX Advanced Load Balancer 控制器 集群支持多少个节点?

    一个 NSX Advanced Load Balancer 控制器 集群可以包含 1 个控制器节点(独立模式),也可以包含 3 个控制器节点。

  • NSX Advanced Load Balancer 控制器 集群需要有多少个活动节点才能正常运行?

    要使三节点集群正常运行,活动的节点必须达到仲裁数(多数)。这意味着,必须至少有两个节点处于启动状态。

  • 能否说明在正常运行期间 NSX Advanced Load Balancer 控制器 中的三个节点是如何使用的?

    在三个节点中选举一个主节点,该节点在集群的所有活动成员之间协调进程启动或关闭。配置和衡量指标数据库在主节点上配置为活动状态,并在从属节点上配置为备用模式。

    配置了流复制以将活动数据库同步到备用数据库。在集群的所有节点之间共享分析功能。给定的虚拟服务将日志和衡量指标流式传输到集群节点之一。

  • 如果某个从属节点关闭,会发生什么情况?

    此节点将从活动成员列表中移除。在此节点上执行的工作将在 NSX Advanced Load Balancer 控制器 集群中的其余节点之间重新分配。

  • 如果主节点关闭,会发生什么情况?

    某个从属节点将被提升为主节点。这会触发在集群的其余节点中热重新启动进程。需要使用热备用,以便在新的主节点上将备用配置和衡量指标数据库提升为活动数据库。

    注:

    在热重新启动期间,控制器 REST API 在 2 到 3 分钟的时间内不可用。

  • 如果有两个节点关闭,会发生什么情况?

    整个集群将无法正常运行,直到至少有一个节点启动为止。必须启动仲裁数量的节点(三个节点中的两个节点),集群才会正常运行。

  • 在集群融合期间(一个或多个节点关闭并恢复启动),流量是否会中断?

    当一个或多个节点关闭并恢复启动时,集群无法正常运行,但 SE 将继续为配置的虚拟服务转发流量。这称为无主模式。

    将在 SE 上缓冲分析数据(日志和衡量指标)。在控制器集群再次正常运行时,集群将与 SE 重新同步并启动衡量指标和日志收集。在这段时间内,数据平面流量继续正常传输。

  • 恢复未正常运行的集群,其中,三个节点中的两个节点永久关闭且无法恢复

    有关详细信息,请参阅恢复未正常运行的控制器集群

  • 在所有三个 NSX Advanced Load Balancer 控制器 节点都永久关闭且无法恢复时恢复系统。

    有关详细信息,请参阅备份和还原 NSX Advanced Load Balancer 配置

  • 重新配置控制器集群成员资格。

    有关详细信息,请参阅更改 NSX Advanced Load Balancer Controller 集群配置

  • 一个集群中的 NSX Advanced Load Balancer 控制器 节点是否可以具有不同的资源分配(内存、CPU 和驱动器空间)?

    建议为三节点控制器集群中的每一个节点分配相同的资源。随着时间的推移,如果需要调整(更改资源分配)集群中 NSX Advanced Load Balancer 控制器 的大小以适应增长需求,请一次更改一个 NSX Advanced Load Balancer 控制器 节点上的资源分配。不过,按照预期,集群中的所有节点最终将调整为相同的分配。

  • 一个集群中的 NSX Advanced Load Balancer 控制器 是否可以位于不同的子网中?

    是。支持该配置,某些拓扑甚至可以首选该配置以提高容错能力。不过,将控制器放置在不同子网中的限制是,不支持集群 IP 地址。集群 IP 地址要求所有控制器节点位于同一子网中。

  • 是否可以手动更改集群主节点?

    否。当前不支持此操作。可以在集群的初始部署期间或恢复完全关闭的集群时选择主节点。不过,无法在集群正常运行时手动更改主节点。

    NSX Advanced Load Balancer 控制器 可参与选举其主节点,并自动决定在发生故障时必须由谁担任新的主节点。

  • 集群故障切换期间使用哪些定时器?是否可以配置集群故障切换定时器?

    主节点发生故障

    如果集群的主控制器发生故障,这会在内部触发控制器进程热重新启动。通常情况下,在检测到主节点发生故障后,这大约需要 2 到 3 分钟的时间。

    正常重新引导主节点

    在正常重新引导时,故障检测几乎是瞬时完成的。

    未正常关闭主节点电源

    如果未正常关闭主节点电源,可能最多需要 30 秒的时间才能检测到主节点是否发生故障。

    这些定时器已根据测试进行了调整,但无法对其进行配置。

  • 是否可以直接在从属控制器上进行配置更改?

    是。几乎可以在任何控制器节点上进行任何配置更改。

    例外:

    集群本身的配置(节点 IP 地址和集群地址)。

    升级(只能在主节点上执行)。

  • 对于不同区域中的多个数据中心,建议的集群部署选项是什么?

    NSX Advanced Load Balancer 建议仅将控制器集群部署在单个区域中。但是,成员节点可以部署在该区域内的多个可用区中。如果有多个区域,建议为每个区域部署一个控制器集群。(有关更多信息,请参阅将不同网络的 NSX Advanced Load Balancer Controller 加入集群)。

  • 如何导入和导出 NSX Advanced Load Balancer 衡量指标数据库?

    在升级到版本 22.1.2 之前,建议导出衡量指标数据库。要导出衡量指标数据库,请复制 /var/lib/postgresql/10/pg_metrics/ 目录,并将其存储在控制器虚拟机外部。如果需要回滚到先前版本,则可以导入之前导出的衡量指标。如此一来,可以防止数据丢失。

    要导入衡量指标数据库,请执行以下操作:

    • 首先在从属节点上然后再在主节点上运行以下命令,以停止进程管理器。

      systemctl stop process-supervisor
    • 将复制的 pg_metrics 目录移动到主节点上的 /var/lib/postgresql/10/pg_metrics/

    • 首先在主节点上然后再在从属节点上运行以下命令,以启动进程管理器,以便将导入的 pg_metrics 数据从主节点复制到从属节点。

      python3 /opt/avi/scripts/pg_rec_fix_cluster.py --nodelist leader_ip follower_1_ip follower_2_ip
    注:

    根据衡量指标数据库的大小,集群需要一些时间才能变为 HA_ACTIVE 状态。