网络控制器高可用性

适用于:Windows Server 2022、Windows Server 2019、Windows Server 2016,Azure Stack HCI 版本 21H2 和 20H2

可以使用本主题了解软件定义网络 (SDN) 的网络控制器高可用性和可扩展性配置。

在数据中心部署 SDN 时,可以使用网络控制器集中部署、监控和管理许多网络元素,包括 RAS 网关、软件负载平衡器、租户通信的虚拟网络策略、数据中心防火墙策略、SDN 策略的服务质量 (QoS)、混合网络策略等。

由于网络控制器是 SDN 管理的基石,因此对于网络控制器部署来说,提供高可用性以及根据数据中心需求轻松扩展或缩减网络控制器节点的能力至关重要。

尽管可以将网络控制器部署为单台计算机群集,但为了实现高可用性和故障转移,必须在至少三台计算机的多个计算机群集中部署网络控制器。

注意

可以在服务器计算机或运行 Windows Server 2016 Datacenter Edition 的虚拟机 (VM) 上部署网络控制器。 如果在虚拟机上部署网络控制器,则虚拟机必须在同时运行 Datacenter Edition 的 Hyper-V 主机上运行。 网络控制器在 Windows Server 2016 Standard Edition 上不可用。

网络控制器即 Service Fabric 应用程序

为了实现高可用性和可伸缩性,网络控制器依赖于 Service Fabric。 Service Fabric 提供一种分布式系统平台,用于生成可缩放、可靠且易于管理的应用程序。

作为一个平台,Service Fabric 提供了构建可伸缩的分布式系统所需的功能。 它提供多个操作系统实例上的服务托管、同步实例之间的状态信息、选举领导者、故障检测、负载均衡等功能。

注意

有关 Azure 中的 Service Fabric 的信息,请参阅 Azure Service Fabric 概述

在多台计算机上部署网络控制器时,网络控制器在 Service Fabric 群集上作为单个 Service Fabric 应用程序运行。 可以通过连接一组操作系统实例来形成 Service Fabric 群集。

网络控制器应用程序由多个有状态 Service Fabric 服务组成。 每个服务负责一个网络功能,例如物理网络管理、虚拟网络管理、防火墙管理或网关管理。

每个 Service Fabric 服务都有一个主要副本和两个辅助副本。 主要服务副本处理请求,而两个辅助服务副本在主副本由于某种原因被禁用或不可用的情况下提供高可用性。

下图描绘了具有五台计算机的网络控制器 Service Fabric 群集。 四种服务分布在五台计算机上:防火墙服务、网关服务、软件负载均衡 (SLB) 服务,以及虚拟网络 (Vnet) 服务。 四种服务各自都包括一个主要服务副本和两个辅助服务副本。

Network Controller Service Fabric cluster

使用 Service Fabric 可以获得的优势

以下是将 Service Fabric 用于网络控制器群集的主要优势。

高可用性和可伸缩性

由于网络控制器是数据中心网络的核心,因此它必须能够灵活应对故障,并且必须具有足够的可伸缩性,以便在数据中心网络中随时间推移进行敏捷更改。 以下功能提供了上述这些能力:

  • 快速故障转移。 Service Fabric 提供极快的故障转移速度。 多个热辅助服务副本始终可用。 如果操作系统实例由于硬件故障而不可用,则会立即将其中一个次要副本提升为主要副本。
  • 缩放的敏捷性。 根据你的资源需求,你可以轻松快速地将这些可靠的服务从几个实例扩展到数千个实例,然后再缩减到几个实例。

持久存储

网络控制器应用程序的配置和状态需要大量存储。 应用程序还必须在计划内和计划外停机期间可用。 为此,Service Fabric 提供了一个键值存储(简称 KVS),它是一个复制的、事务性的持久化存储。

模块化

网络控制器采用模块化架构设计,每个网络服务(如虚拟网络服务和防火墙服务)都内置为单独的服务。

此应用程序体系结构具有以下优点。

  1. 网络控制器模块化允许根据需要独立开发每个受支持的服务。 例如,可以更新软件负载均衡服务,而不会影响任何其他服务或网络控制器的正常运行。
  2. 随着网络的发展,网络控制器模块化允许添加新的服务。 可以在不影响现有服务的情况下向网络控制器添加新服务。

注意

在 Windows Server 2016 中,不支持向网络控制器添加第三方服务。

Service Fabric 模块化使用服务模型架构来最大限度地简化应用程序的开发、部署和维护。

网络控制器部署选项

要使用 System Center Virtual Machine Manager (VMM) 部署网络控制器,请参阅在 VMM 结构中设置 SDN 网络控制器

要使用脚本部署网络控制器,请参阅使用脚本部署软件定义的网络基础架构

要使用 Windows PowerShell 部署网络控制器,请参阅使用 Windows PowerShell 部署网络控制器

有关网络控制器的详细信息,请参阅网络控制器