在 VMM 构造中设置 SDN 软件负载平衡器

重要

此版本的 Virtual Machine Manager (VMM) 已终止支持。 建议 升级到 VMM 2022

本文介绍如何在软件定义的网络 (SDN) 中部署软件负载均衡器 (SLB)。

SLB 允许在虚拟网络资源之间均匀分配租户和租户客户网络流量,以便多个服务器可以托管同一工作负载,以提供高可用性和可伸缩性。 了解详情

可使用 VMM 部署网络控制器和软件负载均衡器。 设置 SLB 后,可以在 SDN 基础结构中使用多路复用和 NAT 功能。

VMM 2022 为 SLB 提供双栈支持。

注意

  • 从 VMM 2019 UR1 开始,“一个连接的网络”类型已更改为“连接的网络”
  • VMM 2019 UR2 及更高版本支持 IPv6。

准备工作

确保以下信息:

  • 规划:阅读如何规划软件定义的网络,并参看文档中的规划拓扑。 该图展示了一个 4 节点设置示例。 该设置高度适用于三个网络控制器节点 (VM) 和三个 SLB/MUX 节点。 该图展示了 2 个租户和 1 个分解为 2 个虚拟子网的虚拟网络,两个子网用于模拟 Web 层和数据库层。 基础结构和租户虚拟机均可在所有物理主机之间重新分布。
  • 网络控制器:应在 VMM 构造中部署 SDN 网络控制器 ,以便在设置负载均衡之前运行计算和网络基础结构。
  • SSL 证书:若要导入 SLB 服务模板,需要准备 SSL 证书。 在网络控制器部署过程中使证书可用。 若要使用在 SLB 的网络控制器部署中准备的 SSL 证书,请右键单击此证书并以 .CER 格式导出(无需密码)。 将其放在库中,位于设置网络控制器时创建的 NCCertificate.CR 文件夹中。
  • 服务模板:VMM 使用服务模板实现 SLB 部署自动化。 服务模板支持第 1 代和第 2 代 VM 上的多节点部署。
  • SLB VM:所有 SLB 虚拟机都必须运行安装了最新修补程序的 Windows Server 2016 或更高版本。
  • HNV 网络:确保在 NC 验证期间创建了提供程序 HNV 网络。 了解详细信息

部署步骤

  1. 准备 SSL 证书:将证书放入 VMM 库。
  2. 下载服务模板:下载 SLB/MUX 部署时所需的服务模板。
  3. 创建传输逻辑网络:需创建逻辑网络:
    • 用于镜像传输(前端)物理网络的逻辑网络。
    • 专用虚拟 IP (VIP) 和公共 VIP 网络,用于将 VIP 分配到 SLB 服务。
  4. 创建专用和公共 VIP 逻辑网络:专用虚拟 IP (VIP) 和公共 VIP 网络,以将 VIP 分配到 SLB 服务。
  5. 导入服务模板:导入和自定义 SLB 服务模板。
  6. 部署 SLB:将 SLB 部署为 VMM 服务,并配置服务属性。
  7. 验证部署:在 SLB/MUX 实例和 BGP 路由器之间配置 BGP 对等互连,将公共 IP 地址分配给租户 VM 或服务,并从网络外部访问 VM 或服务。

准备证书

请确保 NC 部署期间创建的 SSL 证书已复制到 NCCertificate.CR 文件夹。

下载服务模板

  1. 从 Microsoft SDN GitHub 存储库下载 SDN 文件夹,并将 模板从 VMM>模板>SLB 复制到 VMM 服务器上的本地路径。
  2. 将内容提取到本地计算机的文件夹。 稍后将它们导入到库中。

下载内容包含两个模板:

  • SLB 生产第 1 代 VM.xml 模板适用于在第 1 代虚拟机上部署 SLB 服务。
  • SLB 生产第 2 代 VM.xml 模板用于在第 2 代虚拟机上部署 SLB 服务。

这两个模板的默认计数为三个虚拟机,可在服务模板设计器中进行更改。

建议将简化的 SDN 拓扑 (两个物理网络) 用于 SLB 部署。 使用简化的 SDN 拓扑模板时,跳过“创建传输逻辑网络”。

创建传输逻辑网络

  1. 打开“创建逻辑网络向导”,然后键入名称和可选描述。
  1. 在“设置”中,选择“一个连接的网络”。 选中“创建同名的 VM 网络”框以允许虚拟机直接访问此逻辑网络,并选择“由网络控制器托管”。
  • 对于 VMM 2019 UR1 及更高版本,请在 “设置”中选择连接的网络”,然后选择“ 由网络控制器管理”。
  1. “设置”中,选择“ 连接的网络”,然后选择“ 由网络控制器管理”。
  1. 在“网络站点”中,为子网添加网络站点信息。
  2. 查看“摘要”信息,然后完成逻辑网络向导。

为传输逻辑网络创建 IP 地址池

此 IP 地址池中的 DIP 被分配到 SLB/MUX 虚拟机和 BGP 对等节点虚拟机(如果已部署)。

此 IP 地址池中的 DIP 被分配到 SLB/MUX 虚拟机和 BGP 对等节点虚拟机(如果已部署)。

在 VMM 2019 UR1 及更高版本中,可以使用“ 创建逻辑网络 ”向导创建 IP 地址池。

可以使用“ 创建逻辑网络 ”向导创建 IP 地址池。

注意

  • 确保使用与传输网络 IP 地址空间对应的 IP 地址范围。 不要在要创建的 IP 池中包含子网的第一个 IP 地址。 例如,如果可用子网为 .1 到 .254,则范围应从 .2 开始。
  • 创建传输逻辑网络后,请确保将此逻辑网络与在网络控制器部署期间创建的管理交换机上行端口配置文件相关联。

创建 IP 地址池

  1. 右键单击逻辑网络 >“创建 IP 池”。

  2. 为 IP 池提供名称和可选描述,并确保所选逻辑网络正确。

  3. 在“网络站点”中,选择此 IP 地址池要服务的子网。 如果 HNV 提供程序网络中有多个子网,则需要为每个子网创建静态 IP 地址池。 例如,如果只有一个站点 (,例如示例拓扑) ,则只需选择“ 下一步”。

  4. 在“IP 地址范围”中,配置起始和结束 IP 地址。 请勿使用可用子网的前三个 IP 地址。 例如,如果可用子网为 .1 到 .254,地址应从 .4 或 .4 之后开始。

  5. 接下来配置默认网关地址。 选择“默认网关”框旁边的“插入”,键入地址,然后使用默认指标。 (可选)配置 DNS 和 WINS。

  6. 查看摘要信息,然后选择“ 完成 ”以完成向导。

    注意

    确保将逻辑网络与管理交换机上行端口配置文件相关联。

创建私有和公共 VIP 逻辑网络

需要专用 VIP 地址池将 VIP 和公共 VIP 分配给 SLB 管理器服务。

注意

创建两者的过程类似,但存在一些差异。

创建私有 VIP

  1. 启动“创建逻辑网络向导”。 为此网络键入名称和可选描述。
  1. 在“设置”中,选择“一个连接的网络”。 选择“创建同名的 VM 网络,允许虚拟机直接访问此逻辑网络”。 选择“由网络控制器托管”。
  1. 在“设置”中,选择“一个连接的网络”。 选择“创建同名的 VM 网络,允许虚拟机直接访问此逻辑网络”。 选择“由网络控制器托管”。 对于 UR1 及更高版本,在“设置”中,选择“连接的网络”,然后选择“由网络控制器托管”。 专用 VIP
  1. 在“网络站点”中,为专用 VIP 逻辑网络添加网络站点信息。
  2. 查看 摘要 信息,并完成向导。

创建公共 VIP

  1. 启动“创建逻辑网络向导”。 为此网络键入名称和可选描述。
  1. 在“设置”中,选择“一个连接的网络”。 选择“创建同名的 VM 网络,允许虚拟机直接访问此逻辑网络”。 选择“由网络控制器托管”和“公共 IP 地址网络”
  1. 在“设置”中,选择“一个连接的网络”。 选择“创建同名的 VM 网络,允许虚拟机直接访问此逻辑网络”。 选择“由网络控制器托管”。

    对于 UR1 及更高版本,在“设置”中,依次选择“连接的网络”、“由网络控制器托管”和“公共 IP 地址网络”。

    公共 VIP 的屏幕截图。

  1. 在“网络站点”中,为公共 VIP 逻辑网络添加网络站点信息。
  2. 查看“摘要”信息,然后完成该向导。

创建专用和公共 VIP 网络的 IP 地址池

  1. 右键单击专用 VIP 逻辑网络 >“创建 IP 池”。
  2. 为 IP 池提供名称和可选描述,并确保所选逻辑网络正确。
  3. 接受默认网络站点,然后选择“ 下一步”。
  1. 在“IP 地址范围”中,配置起始和结束 IP 地址。

    注意

    请勿使用可用子网的第一个 IP 地址。 例如,如果可用子网为 .1 到 .254,地址应从 .2 或 .2 之后开始。

  1. 在“IP 地址范围”中,配置起始和结束 IP 地址。 如果使用 IPv6 地址空间,请指定 IPv6 地址池。

    注意

    请勿使用可用子网的第一个 IP 地址。 例如,如果可用子网为 .1 到 .254,地址应从 .2 或 .2 之后开始。

    单个 VIP 范围内允许的最大地址数为 1024。

  1. 在“IP 地址范围”中,配置起始和结束 IP 地址。 如果使用 IPv6 地址空间,请将 IPv6 子网添加到网络站点并创建 IPv6 地址池。

    注意

    • 加入 SLB 时添加 IPv6 地址池。
    • 请勿使用可用子网的第一个 IP 地址。 例如,如果可用子网为 .1 到 .254,地址应从 .2 或 .2 之后开始。
    • 单个 VIP 范围内允许的最大地址数为 1024。
  1. 在“为负载平衡器 VIP 保留的 IP 地址”框中,键入子网中的 IP 地址范围。 它应与指定的起始和结束地址匹配。
  2. 无需提供网关、DNS 或 WINS 信息,因为此池仅用于通过网络控制器为 VIP 分配 IP 地址。 选择“ 下一步 ”跳过这些屏幕。 键入地址并使用默认指标。 (可选)配置 DNS 和 WINS。
  3. 查看摘要信息并选择“ 完成 ”以完成向导。
  4. 对公共 VIP 逻辑网络重复此过程;这一次,请键入公用网络的 IP 地址范围。

导入服务模板

将服务模板导入到 VMM 库。 将在此示例中导入第 2 代模板。

  1. 选择“ >导入模板”。

  2. 浏览到服务模板文件夹,选择 SLB Production Generation 2 VM.xml 文件。

  3. 导入服务模板时请更新环境参数。

    注意

    库资源是在网络控制器部署期间导入的。

    • WinServer.vhdx:选择之前在网络控制器部署期间准备并导入的虚拟硬盘映像。
    • NCCertificate.CR:此库资源包含用于设置网络控制器的脚本。 映射到 VMM 库中的 NCCertificate.cr 库资源。
    • EdgeDeployment.CR:映射到 VMM 库中的 EdgeDeployment.cr 库资源。
  4. 请记住,应将之前创建的 .CER 证书复制到 NCCertificate.CR 文件夹中。

  5. “摘要 ”页上,查看详细信息并选择“ 导入”。

    注意

    可自定义服务模板。 了解详细信息

部署 SLB 服务

现在,部署 SLB/MUX 服务实例。

  1. 选择 SLB Production Generation 2 VM.xml 服务模板 “配置部署”。 为服务实例键入名称和可选目标。 目标必须映射到一个主机组,该组包含已配置的主机。

  2. 在“网络设置”部分中,将“TransitNetwork”映射到传输 VM 网络,并将“ManagementNetwork”映射到管理 VM 网络。

    注意

    • 使用简化的拓扑模板时,传输网络不适用。
    • 映射完成后,将显示 “部署服务 ”屏幕。 虚拟机实例最初一般为红色。 选择 “刷新预览 ”以自动查找适合虚拟机的主机。
  3. 在“配置部署”窗口的左侧,按下表中所述配置设置:

    设置 要求 说明
    传输网络 必选 传输 VM 网络。
    LocalAdmin 必选 选择环境中的运行方式帐户,该帐户在虚拟机上用作本地管理员。 用户名应为“Administrator”。
    管理网络 必选 选择为主机管理创建的管理 VM 网络。
    MgmtDomainAccount 必选 选择一个运行方式帐户,该帐户有权将 SLB/MUX 虚拟机添加到与网络控制器相关联的 Active Directory 域。 此帐户可以是部署网络控制器时在 MgmtDomainAccount 中使用的同一帐户。
    MgmtDomainFQDN 必选 SLB/MUX 虚拟机将加入的 Active Directory 域的 FQDN。
    SelfSignedConfiguration 必选 如果所使用的证书是自签名证书,则指定 True
  4. 配置这些设置后,选择“ 部署服务 ”以开始服务部署作业。 部署时间因硬件而异,但通常介于 30 到 60 分钟之间。

  5. 如果未使用批量许可的 VHDX,或者如果 VHDX 没有应答文件中的产品密钥,则在 SLB/MUX VM 预配期间,部署将在 “产品密钥 ”页停止。 需要手动访问 VM 桌面,且必须跳过或输入产品密钥。

  6. 完成服务部署作业后,确保可通过“VM 和服务”“服务”“服务的 VM 网络信息””查找到服务。 右键单击该服务并确保在“属性”中的状态是“已部署”。

部署后,确保该服务出现在“所有主机服务服务的 VM 网络信息”中。 右键单击 SLB MUX 服务 >“属性”,并将状态指定为“已部署”。 如果 SLB/MUX 部署失败,请确保在尝试再次部署 SLB 之前删除失败的服务实例。

如果要横向扩展或横向扩展已部署的软件负载均衡器服务实例, 请阅读此博客

注意

部署 SLB 服务后,在连接到所有 SLB MUX VM 上的传输 VM 网络的虚拟网络适配器上禁用 DNS 注册。

配置 SLB 角色和 SLB/MUX 属性

注意

在继续操作之前,请确保创建 HNV PA 逻辑网络。

部署服务后,可配置其属性。 需要将部署的 SLB 服务实例与网络控制器相关联,然后在 SLB/MUX 实例与 TOR 交换机或 BGP 路由器对等机之间配置 BGP 对等互连。

  1. 选择“ 构造>网络服务”。 右键单击网络控制器服务 “属性”。
  2. 选择“服务”选项卡 “负载均衡器角色”“关联服务”“浏览”。
  3. 选择之前创建的 SLB/MUX 服务实例。 创建运行方式帐户。
  4. 对于“管理 IP 地址”,使用之前创建的专用 VIP 池中的 IP 地址。 可选择性地指定要从出站 NAT 中排除的 IP 地址范围。 在“SLBM VIP 池”下,同时选择专用和公共 VIP 池,以发布到 NC。
  5. 在向导中选择“负载均衡器角色”下列出的 SLB/MUX 实例。 键入数据中心的本地 ASN 和设备或 SLB/MUX 可与其对等互连的 BGP 对等节点详细信息。
  6. 选择“确定” 。

SLB 服务实例现已与 SLBM 服务关联,应该可以看到 SLB/MUX 虚拟机实例和“负载平衡器角色”下列出的所有设置。

验证部署

部署 SLB/MUX 之后,可通过在 SLB/MUX 实例和 BGP 路由器之间配置 BGP 对等互连,将公共 IP 地址分配给租户虚拟机或服务,以及从网络外部访问租户虚拟机或服务来验证部署。

使用以下过程进行验证

  1. 在向导中输入外部路由器的详细信息。 例如:

    IP 地址的屏幕截图。

  2. 选择“ 确定 ”以完成 SLB/MUX 服务实例配置。

  3. 检查 “作业” 窗口,验证“ 使用所需配置更新结构角色 ”和“ 将服务实例与构造角色作业关联” 是否已成功完成。

  4. 若要完成该 BGP 对等互连操作,需要配置 BGP,使其与路由器上的 SLB/MUX 实例对等。 如果使用硬件路由器,则需要查阅供应商的文档,了解如何为该设备设置 BGP 对等互连。

    还需了解之前已部署的 SLB/MUX 实例的 IP 地址。 为此,可以登录到 SLB MUX 虚拟机并从命令提示符运行 ipconfig /all ,也可以从 VMM 控制台获取 IP 地址。

    注意

    输入来自传输网络的 IP。

  5. 如果在对等互连完成后创建一个新的 VIP 池,需要使用 VMM 控制台播发所有 VIP 地址池。

验证后,可以开始使用 SLB 进行负载均衡。 请参阅负载均衡网络流量配置 NAT 规则了解相关信息。

从 SDN 构造中删除软件负载均衡器

使用这些步骤从 SDN 构造中删除 SLB。

后续步骤

创建 RAS 网关