Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

在 NFX250 下一代设备上配置 VNF

借助 NFX250 NextGen 设备,您可以从 Junos 控制平面 (JCP) 实例化和管理虚拟化网络功能 (VNF)。JCP 支持创建和管理第三方 VNF。

加载 VNF 映像

要配置 VNF,您必须登录到 JCP:

要从远程位置在设备上加载 VNF 映像,可以使用 file-copy 命令或使用 usb-pass-through 命令从 USB 复制映像。

注意:

您必须将 VNF 映像保存在 /var/public 目录中。

例如:

或者,您可以使用 NETCONF 命令加载 VNF 映像。 file-put

要从 USB 复制 VNF 映像,请参阅 支持在 NFX 系列设备上从 USB 传输文件

准备 Bootstrap 配置

您可以使用附加的配置驱动器(其中包含 bootstrap-config ISO 文件)引导 VNF。有关创建 ISO 文件的示例,请参阅 创建 vSRX 自举 ISO 映像中的过程。根据用于创建 ISO 文件的作系统(例如,Linux、Ubuntu),该过程可能会有所不同。

配置驱动器是一个虚拟驱动器,它可以是 CD-ROM、USB 驱动器或磁盘驱动器,这些驱动器与带有配置数据的 VNF 相关联。配置数据可以是捆绑在构成虚拟 CD-ROM、USB 驱动器或磁盘驱动器的 ISO 文件中的文件或文件夹。

自举配置文件必须包含允许从外部控制器访问 VNF 的初始配置,并接受来自外部控制器的 SSH、HTTP 或 HTTPS 连接以进行进一步的运行时配置。

通过附加配置驱动器,您可以通过 CLI 将 IP 地址、子网掩码和网关等网络配置传递给 VNF。接收到配置输入后,设备会生成一个自举配置 ISO 文件,并将该文件作为 CD-ROM、USB 驱动器或磁盘驱动器附加到 VNF。

有关配置和连接配置驱动器的更多信息,请参阅 (可选)将配置驱动器附加到 VNF

注意:
  • 系统将 bootstrap-config ISO 文件保存在 /var/public 文件夹中。仅当文件夹中的可用空间是文件中内容总大小的两倍以上时,才会保存文件。如果文件夹中的可用空间不足,则在提交配置时会显示错误消息。

  • 重新启动系统时,系统将生成新的 bootstrap-config ISO 文件,并将现有 ISO 文件替换为 VNF 上的新 ISO 文件。

  • 配置驱动器是只读驱动器。根据 VNF,您可以将配置驱动器指定为只读 CD-ROM 驱动器、USB 驱动器或磁盘驱动器。

配置驱动器支持 VNF 的以下数据:

  • 以文件形式呈现的静态内容 — 设备通过 CLI 接受一个或多个文件路径,将这些文件转换为 ISO 映像,并将其附加到 VNF。配置驱动器支持 VNF 配置中的多个静态文件。

  • Jinja2 模板和参数 - Jinja2 参数由键值对组成。键在模板中指定,呈现模板时,该值将替换键。系统会将渲染的输出文件添加到 ISO 映像,并将其附加到 VNF。模板的最大参数数为 256 个键值对。配置驱动器支持 VNF 配置中的多个模板及其参数。

    注意:

    配置驱动器仅支持 Jinja2 模板。

  • 目录 — 设备接受特定目录内容,将给定文件夹中的文件夹结构转换为 ISO 映像,并将其附加到 VNF。配置驱动器只接受一个文件夹。该文件夹将成为 ISO 映像中的根目录,所有后续文件夹和文件都将添加到 ISO 映像中。

注意:
  • 您可以在一个 VNF 配置中添加多个源模板和源文件。

  • 要在 VNF 配置中添加多个源模板和一个源文件夹,目标模板文件必须位于源文件夹内。

  • 您只能在 VNF 配置中添加一个源文件夹。

  • 如果两个 VNF 共享同一文件集,则会为每个 VNF 生成单独的 bootstrap-config ISO 文件。删除一个 VNF 不会影响另一个 VNF。

为 VNF 分配 CPU

表 1 列出了 NFX250 型号可用于 VNF 的 CPU。

表 1:可用于 VNF 的 CPU

可用于 VNF 的 CPU

吞吐量模式

混合模式

计算模式

自定义模式

Flex 模式

性能模式

NFX250-S1

0

4

8

8

8

NFX250-S1E

0

4

8

8

8

NFX250-S2

0

4

8

8

8

注意:

自定义模式和自定义模式的资源分配flexperf基于默认 Junos 配置中提供的模板。

注意:

更改设备的性能模式时,建议检查 VNF 的 CPU 可用性。

要检查 CPU 可用性及其状态,请执行以下作:

注意:

vjunos0 是系统 VNF,您无法修改 vjunos0 的 CPU 分配。

要指定 VNF 所需的虚拟 CPU 数量:

  1. 指定 VNF 所需的 CPU 数量:
  2. 将虚拟 CPU 连接到物理 CPU:
  3. 提交配置:

物理 CPU 编号可以是数字,也可以是数字范围。默认情况下,VNF 会分配一个未连接到任何物理 CPU 的虚拟 CPU。

注意:

在 VNF 运行时,您无法更改 VNF 的 CPU 配置。您必须重新启动 VNF 才能使更改生效。

从 Junos OS 22.1 R1 版开始,您可以使用以下命令将仿真器固定到特定的物理 CPU:

不能使用 CPU 0 或脱机 CPU 进行模拟器固定。如果未将仿真器固定到特定的物理 CPU,QEMU 会自动将其固定到虚拟 CPU。对仿真器固定的更改会在正在运行的 VNF 上立即生效。

要为 VNF CPU 启用硬件虚拟化或硬件加速,请执行以下作:

为 VNF 分配内存

默认情况下,系统会为 VNF 分配一定数量的内存。 表 2 列出了 NFX250 型号使用 VNF 的可能内存可用性。

表 2:VNF 使用的内存可用性

可用内存总数

在计算、混合和吞吐量模式下使用 VNF 的可用性巨大

Hugepages 在自定义模式下使用 VNF 的可用性

Flex 模式

性能模式

NFX250-LS1

16 千兆字节

6 个 1G 巨页

9 个 1G 巨页

9 个 1G 巨页

NFX250-S1 和 NFX250-S1E

16 千兆字节

6 个 1G 巨页

9 个 1G 巨页

9 个 1G 巨页

NFX250-S2

32 千兆字节

22 个 1G 巨页

24 个 1G 巨页

24 个 1G 巨页

注意:

自定义模式和自定义模式的资源分配flexperf基于默认 Junos 配置中提供的模板。

要检查可用内存:

注意:

vjunos0 是系统 VNF,您无法修改 vjunos0 的内存分配。

要根据 VNF 的内存要求配置 hugepages,请执行以下作:

注意:

您必须在配置 hugepages 后重新启动系统才能在启动期间预分配 hugepages。

要指定 VNF 可以使用的最大主内存:

注意:

您无法在 VNF 运行时更改其内存配置。您必须重新启动 VNF 才能使更改生效。

(选答)将配置驱动器附加到 VNF

要将配置驱动器附加到 VNF,请执行以下作:

  1. 启动 VNF:

    例如:

  2. 指定 VNF 所需的 CPU 数量:

    例如:

  3. 将虚拟 CPU 固定到物理 CPU:

    例如:

  4. 为 VNF CPU 启用硬件虚拟化:

    例如:

  5. 指定 VNF 可以使用的最大主内存:

    例如:

  6. 分配 hugepages:

    例如:

  7. 提交 VNF 配置时,禁用 VNF 的自动启动:

    例如:

  8. 指定要在配置驱动器中添加的源文件:

    例如:

  9. 指定要在配置驱动器中添加的模板文件:
    注意:

    模板文件可以是任何格式,并且键写在 double {}中。此功能将密钥替换为 CLI 中提供的值,以创建文件并作为存储介质附加到 VNF。它的使用取决于 VNF。有关如何创建模板的更多信息,请参阅 jinja2 模板指南

    例如:

    下面是一个示例模板:

  10. 指定源模板的最大内存:

    例如:

  11. 为源模板分配页面:

    例如:

  12. 指定包含从源模板生成的文件的目标文件:

    例如:

  13. 指定要在配置驱动器中添加的设备名称、设备类型和设备标签:

    例如:

    target device-type 可选的。如果未指定,则会将设备类型作为 cd-rom

    target device-label 可选的。如果未指定,则会将设备标签作为 config-data

  14. 提交配置:

要验证配置驱动器是否已连接到 VNF,请参阅 VNF Disk Information show system visibility vnf 命令输出消息中的部分。

例如:

为 VNF 配置接口和 VLAN

您可以配置 VNF 接口,将 VNF 接口映射到虚拟功能,将接口连接到物理 NIC 端口、管理接口或 VLAN,为其分配 VLAN ID,并在其上启用信任模式。

在 Junos OS 21.3R1、21.2R2、21.2R1、21.1R2 和 20.4R3 版之前,配置 SR-IOV VNF 接口并分配 VLAN ID 的步骤如下:

从 Junos OS 21.3R1、21.2R2、21.2R1、21.1R2 和 20.4R3 版开始,配置 SR-IOV VNF 接口、分配 VLAN ID 和启用信任模式的步骤如下:

要将 VNF 接口映射到虚拟函数,请执行以下作:

要使用 SR-IOV 虚拟功能将 VNF 接口连接到物理 NIC 端口并分配 VLAN ID,请执行以下作:

vlan-id 是端口的 VLAN ID,是一个可选值。

要启用信任模式,请执行以下作:

注意:
  • Junos OS 21.3R1、21.2R2、21.2R1、21.1R2 和 20.4R3 版的 NFX 系列设备支持信任模式。

  • 如果在 VNF SR-IOV 接口上启用信任模式,则 VNF 接口将进入混合模式。

要将 VNF 接口连接到 VLAN,请执行以下作:

  • 创建 VLAN:

  • 将 VNF 接口连接到 VLAN:

VNF 接口可以映射到一个或多个物理接口。您可以通过配置虚拟端口对等方 (VPP) 功能来启用此功能。您可以配置 VNF 的 OVS 接口到一个或多个前面板接口之间的映射。如果所有映射的物理接口都处于非活动状态,则 VNF 接口将变为非活动状态。即使至少有一个映射的物理接口处于活动状态,VNF 接口也会变为活动状态。

注意:
  • 如果 VNF 接口处于非活动状态,则映射的物理接口不会变为非活动状态。

  • 在不支持信任模式的软件映像升级为支持信任模式的映像之前,建议从配置中删除所有 VNF 接口到虚拟功能的映射。

  • 在将支持信任模式的软件映像降级为不支持信任模式的映像之前,需要从配置中删除所有 VNF 接口到虚拟功能的映射。否则,设备在降级后进入 健忘状态

VNF 的接口是一个 OVS 端口,此映射在配置中定义。如果映射规则可以在触发作之前查看多个物理端口,则配置 VPP 功能允许您管理多个冗余物理链路。

您可以配置 VNF 虚拟接口与 JCP 物理接口(ge-0/0/x 和 xe-0/0/)x之间的映射。一个虚拟接口可以映射到一个或多个物理接口。VNF 虚拟接口可映射到的物理接口数量没有限制。您可以将一个 VNF 虚拟接口映射到所有物理接口,也可以将多个 VNF 接口映射到单个物理接口。

要配置 VPP,请执行以下作:

例如:

要查看对等接口的映射,请运行命令 show system visibility vnf vnf-name

注意:
  • 连接到 VNF 的接口在 VNF 重新启动后保持不变。

  • 如果 VNF 支持热插拔,则可以在 VNF 运行时连接接口。否则,您必须添加接口,然后重新启动 VNF。

  • 在 VNF 运行时,您无法更改 VNF 接口的映射。

注意:

您可以使用 deny-forwarding CLI 选项阻止 VNF 接口发送或接收流量。

如果在属于交叉连接的接口上启用了该 deny-forwarding 选项,则交叉连接状态将下降并丢弃所有流量。

要指定 VNF 接口的目标 PCI 地址:

您可以使用目标 PCI 地址重命名或重新组织 VNF 中的接口。

例如,基于 Linux 的 VNF 可以使用 VNF 中的 udev 规则根据 PCI 地址命名接口。

注意:
  • 目标 PCI 地址字符串应采用以下格式:

    0000:00:<slot:>:0,它们是 domain:bus:slot:function 的值。每个 VNF 接口的插槽值应不同。domain、bus 和 function 的值应为零。

  • 在 VNF 运行时,您无法更改 VNF 接口的目标 PCI 地址。

要删除 VNF 接口,请执行以下作:

注意:
  • 要删除 VNF 接口,您必须停止 VNF,删除接口,然后重新启动 VNF。

  • 附加或分离虚拟功能后,必须重新启动 VNF 才能使更改生效。

  • eth0 和 eth1 是为连接到内部网络和带外管理网络的默认 VNF 接口保留的。因此,可配置的 VNF 接口名称从 eth2 开始。

  • 在 VNF 中,接口名称可以有所不同,具体取决于来宾作系统命名约定。在 JCP 中配置的 VNF 接口在 VNF 中的显示顺序可能不同。

  • 您必须使用目标 PCI 地址映射到 JCP 中配置的 VNF 接口,并且必须对其进行相应命名。

为 VNF 配置存储设备

NFX250 (NG) 设备支持以下 VNF 存储选项:

  • 光盘

  • 磁盘

  • USB

要添加虚拟 CD 或更新虚拟 CD 的源文件:

您可以指定格式为 hdx、sdx 或 vdx 的有效设备名称,例如 hdb、sdc、vdb 等。

要添加虚拟 USB 存储设备,请执行以下作:

要附加一个硬盘:

要从 VNF 中删除虚拟 CD、USB 存储设备或硬盘:

注意:
  • 从 VNF 附加或分离 CD 后,必须重新启动设备才能使更改生效。如果设备在 VNF 中使用,则 CD 分离作将失败。

  • VNF 支持一张虚拟 CD、一台虚拟 USB 存储设备和多个虚拟硬盘。

  • 您可以在 VNF 运行时更新 CD 或 USB 存储设备中的源文件。

  • 您必须将源文件保存在 /var/public 目录中,并且该文件必须具有所有用户的读写权限。

实例化 VNF

您可以通过配置 VNF 名称和指定映像的路径来实例化 VNF。

使用映像实例化 VNF 时,默认情况下会添加两个 VNF 接口。这些接口是管理和内部网络所必需的。

注意:

仅支持 QCOW2、IMG 和 RAW 图像类型。

要使用映像实例化 VNF,请执行以下作:

注意:

配置 VNF 时,请勿使用 vnfn 格式的 VNF 名称,例如 vnf1、vnf2 等。包含此类名称的配置将无法提交。

(选答)要为 VNF 指定 UUID,请执行以下作:

uuid 是可选参数。建议允许系统为 VNF 分配 UUID。

注意:

保存并提交配置后,无法更改 VNF 的映像配置。要更改 VNF 的映像,您必须删除 VNF,然后重新创建 VNF。

快速 CLI 配置

验证 VNF 实例化

要验证 VNF 是否已成功实例化,请执行以下作:

VNF 的 活跃度 字段中的输出指示 VNF 的 IP 地址是否可通过内部管理网络访问。活跃网桥的默认 IP 地址为 192.0.2.1/24。请注意,此 IP 地址为设备内部地址,用于 VNF 管理。

NFX250 上的虚拟路由反射器 NextGen 概述

虚拟路由反射器 (VRR) 功能允许您在虚拟化环境中实施路由反射器功能。从 Junos OS 21.4R2 版开始,您可以在 NFX250 NextGen 设备上实施 VRR 功能。您可以在计算或混合模式下配置 VRR VNF。但是,我们建议您在 flex 模式下配置 vrr VNF,因为您可以在 flex 模式下为 VNF 分配最大资源。本主题介绍如何在 flex 模式下配置 VRR VNF。

有关 VRR 的更多信息,请参阅 虚拟路由反射器 (VRR) 文档

如何在 NFX250 NextGen 设备上配置 VRR VNF

从 Junos OS 21.4R2 版开始,您可以在 NFX250 NextGen 设备上将 VRR 配置为 VNF。在配置 VRR VNF 之前:

  • 删除设备上部署的所有第三方 VNF。

  • 验证设备上是否未配置任何 hugepages。如果配置了 hugepages,请将其删除。

  • 为第 2 层数据平面和 OVS 分配最少的资源。这可确保为 VRR VNF 分配最大资源。

要配置 VRR VNF,请执行以下作:

  1. 将模式更改为弹性模式。默认模式为吞吐量。我们建议在 NFX250 NextGen 设备上以 flex 模式部署 vRR VNF。

    请注意,自动完成可能不包括弹性模式(计算、混合和吞吐量模式可用于自动完成)。您可能需要手动输入 flex 关键字。

    出现提示时,输入 yes 重新启动设备。

    设备重新启动后,发出 show vmhost mode 命令以验证设备是否处于弹性模式。

  2. 配置 hugepages 以满足内存要求。例如,以下配置配置 24GB 巨大的页面,可用于 VRR VNF:
    注意:

    您必须在配置 hugepages 后重新启动系统才能在启动期间预分配 hugepages。

  3. 将 VRR VNF 映像复制到 /var/public 文件夹。
  4. 定义 VRR VNF。例如:
  5. 指定 VRR VNF 所需的虚拟 CPU 数量。建议将至少两个虚拟 CPU 分配给一个 VRR VNF。例如:
  6. 将虚拟 CPU 连接到物理 CPU。您可以使用 show vmhost mode 命令来识别要使用的 CPU。例如:
  7. 将 VNF 接口配置为中继端口,并将其添加到 LAN 端 VLAN。例如:
  8. 指定 VRR VNF 的内存分配。例如:
  9. 配置 hugepages 以满足内存要求。例如:
  10. 提交配置以激活 VRR VNF。

    提交配置后,VNF 需要一些时间才能启动。

  11. 验证 VNF 是否已启动。例如:

    您可以使用 request virtual-network-functions console VRR-1 命令访问 VRR VNF 控制台。在配置 vRR Junos 以实现 SSH 连接后, request virtual-network-functions ssh VRR-1 也可以使用命令通过 SSH 连接到 VRR VNF。