使用 JDM 管理虚拟网络功能
了解虚拟网络功能
虚拟网络功能 (VNF) 包括可从瞻博网络设备管理器 (JDM) 启动和管理的所有虚拟实体。目前,虚拟机 (VM) 是唯一受支持的 VNF 类型。
JDM 环境中有几个组件:
JDM— 管理所有服务虚拟机的生命周期。 JDM 还提供具有配置持久性的 CLI,或者能够使用 NETCONF 编写脚本和实现自动化。
Primary Junos OS VM- 作为主虚拟设备的 系统 VM 。系统运行时,此 VM 始终存在。
Other Junos OS VMs- 这些虚拟机是 服务虚拟机 ,由外部控制器动态激活。此类虚拟机的典型示例是 vSRX 虚拟防火墙实例。
Third-party VNFsJDM 支持创建和管理第三方虚拟机,例如 Ubuntu Linux 虚拟机。
JDM 体系结构提供了一个将所有虚拟机连接到 JDM 的内部网络,如图 1 所示。

JDM 可以使用内部网络 (192.0.2.1/24) 访问任何 VNF。
在 Junos OS 版本 15.1X53-D470 之前,实时 IP 位于 192.168.1.0/24 子网中。在所有更高版本的 Junos OS 中,实时 IP 位于 192.0.2.0/24 子网中。
VNF 可以拥有或共享系统中的管理端口和网卡端口。
所有 VM 都隔离运行,一个 VM 中的状态更改不会影响另一个 VM。系统重新启动时,服务虚拟机将按照持久性配置文件中的指定联机。正常关闭系统时,包括 Junos 虚拟机在内的所有虚拟机都将关闭。
表 1 提供了常用 VNF 首字母缩略词和术语的词汇表。
术语 |
定义 |
---|---|
Jcp |
Junos 控制平面(也称为主 Junos OS VM) |
JDM |
瞻博网络设备管理器 |
NFV |
网络功能虚拟化 |
Vm |
虚拟机 |
VNF |
虚拟网络功能 |
在 NFX250 设备上载入虚拟网络功能的先决条件
您可以通过 Junos 控制平面 (JCP) 在 NFX 设备上载入和管理瞻博网络 VNF 和第三方 VNF。
您可以在设备上载入的 VNF 数量取决于系统资源的可用性,例如 CPU 数量和系统内存。
在上线 VNF 之前,建议检查 VNF 的可用系统资源,例如 CPU、内存和存储。有关更多信息,请参阅 管理 VNF 生命周期。
VNF 的先决条件
要实例化 VNF,NFX 设备支持:
基于 KVM 的虚拟机管理程序部署
OVS 或 Virtio 接口驱动程序
原始或 qcow2 VNF 文件类型
(可选)SR-IOV
(可选)CD-ROM 和 USB 配置驱动器
(可选)内存需求的巨大页面
管理 VNF 生命周期
您可以使用 JDM CLI 管理 VNF。此外, libvirt 软件还提供广泛的虚拟化功能。为了确保您不受 CLI 的限制,JDM 提供了一个使用 XML 描述符文件操作 VNF 的选项。网络配置协议 (NETCONF) 支持所有 VNF 操作。一个系统中可以共存多个 VNF,您可以使用 XML 描述符文件或映像配置多个 VNF。
确保在 XML 描述符文件中指定的 VNF 资源不超过可用的系统资源。
本主题介绍 VNF 的生命周期管理。
- VNF 的规划资源
- 管理 VNF 映像
- 准备引导程序配置
- 启动 VNF
- 为 VNF 分配资源
- 管理 VNF 状态
- 管理 VNF MAC 地址
- 管理 MTU
- 从 JDM 访问 VNF
- 查看 VNF 列表
- 显示 VNF 详细信息
- 删除 VNF
VNF 的规划资源
目的
在启动 VNF 之前,请务必检查系统清单并确认 VNF 所需的资源可用。VNF 必须正确设计和配置,使其资源需求不超过系统的可用容量。
命令
show system inventory
的输出仅显示系统资源使用情况的当前快照。启动 VNF 时,资源使用量可能低于安装 VNF 包时的可用资源。在启动 VNF 之前,您必须检查系统资源使用情况。
某些物理 CPU 由系统保留。除以下物理 CPU 外,所有其他 CPU 都可用于用户定义的 VNF:
表 2 提供了为 NFX250-LS1 保留的物理 CPU 列表。
CPU 核心 |
分配 |
---|---|
0 |
主机、JDM 和 JCP |
4 |
主机网桥 |
7 |
Ipsec |
表 3 提供了为 NFX250-S1、NFX250-S2 和 NFX250-S1E 设备保留的物理 CPU 列表。
CPU 核心 |
分配 |
---|---|
0 |
主机、JDM 和 JCP |
6 |
主机网桥 |
7 |
Ipsec |
有关详细信息,请参阅以下内容:
管理 VNF 映像
要从远程位置在设备上加载 VNF 映像,请使用 file-copy
命令。或者,您可以使用 NETCONF 命令 file-put
来加载 VNF 映像。
您必须将 VNF 映像保存在 /var/ third-party/images 目录中。
准备引导程序配置
您可以通过连接包含自举配置 ISO 文件的 CD 或 USB 存储设备来引导 VNF。
引导配置文件必须包含一个初始配置,该配置允许从外部控制器访问 VNF,并接受来自外部控制器的 SSH、HTTP 或 HTTPS 连接以进行进一步的运行时配置。
必须为引导配置文件脱机创建 ISO 磁盘映像,如下所示:
user@jdm>request genisoimage bootstrap-config-filename iso-filename
启动 VNF
您可以通过配置 VNF 名称并指定 XML 描述符文件或映像的路径来启动 VNF。
启动带有映像的 VNF 时,默认情况下会添加两个 VNF 接口。管理和内部网络需要这些接口。对于这两个接口,将保留目标外围组件互连 (PCI) 地址,例如 0000:00:03:0 和 0000:00:04:0。
要使用 XML 描述符文件启动 VNF,请执行以下操作:
user@jdm# set virtual-network-functions vnf-name init-descriptor file-path user@jdm# commit
要使用映像启动 VNF:
user@jdm# set virtual-network-functions vnf-name image file-path user@jdm# commit
要为 VNF 指定 UUID,请执行以下操作:
user@jdm# set virtual-network-functions vnf-name [uuid vnf-uuid]
uuid
是一个可选参数,建议允许系统为 VNF 分配 UUID。
保存并提交初始化描述符和映像配置后,无法更改初始化描述符或映像配置。要更改 VNF 的初始化描述符或映像,必须删除并重新创建 VNF。
提交检查仅适用于通过 JDM CLI 基于映像规范的 VNF 配置,不适用于基于 init 描述符 XML 文件的 VNF 配置。
要使用映像文件创建 VNF,请确保满足以下条件:
您必须对在 VNF 内或跨 VNF 使用的唯一映像、磁盘、USB 文件,但 iso9660 类型文件除外,该文件可以附加到多个 VNF。
以原始格式指定为映像的文件应该是具有分区表和引导分区的块设备。
以 qcow2 格式指定为图像的文件应该是有效的 qcow2 文件。
为 VNF 分配资源
本主题介绍将各种资源分配给 VNF 的过程。
为 VNF 指定 CPU
要指定 VNF 所需的虚拟 CPU 数量,请键入以下命令:
user@jdm# set virtual-network-functions vnf-name virtual-cpu count 1-4
要将虚拟 CPU 固定到物理 CPU,请键入以下命令:
user@jdm# set virtual-network-functions vnf-name virtual-cpu vcpu-number physical-cpu pcpu-number
物理 CPU 编号可以是数字,也可以是范围。默认情况下,VNF 分配有一个未固定到任何物理 CPU 的虚拟 CPU。
当 VNF 处于 运行 状态时,您无法更改 VNF 的 CPU 配置。重新启动 VNF 以使更改生效。
要为 VNF CPU 启用硬件虚拟化或硬件加速,请键入以下命令:
user@jdm# set virtual-network-functions vnf-name virtual-cpu features hardware-virtualization
为 VNF 分配内存
要指定 VNF 可以使用的最大主内存,请输入以下命令:
user@jdm# set virtual-network-functions vnf-name memory size size
默认情况下,VNF 会分配 1 GB 内存。
如果 VNF 处于 运行 状态,则无法更改该 VNF 的内存配置。重新启动 VNF 以使更改生效。
要为 VNF 分配巨大的页面,请键入以下命令:
user@jdm# set virtual-network-functions vnf-name memory features hugepages [page-size page-size]
page-size 是一个可选参数。对于 1GB 的页面大小,可能的值为 1024,对于 2 MB 的页面大小,可能的值为 2。默认值为 1024 大页。
仅当启用了增强编排模式时,才建议配置大页面。如果禁用了增强型业务流程模式,并且 VNF 需要大页,则 VNF XML 描述符文件应包含具有大页配置的 XML 标记。
对于使用映像文件创建的 VNF,可以为所有用户定义的 VNF 配置的总内存有最大限制,包括基于巨大页面的内存和不基于巨大页面的内存。
表 4 列出了可以为各种 NFX250 型号保留的最大大页内存。
模型 |
记忆 |
最大大页内存 (GB) |
CSO-SDWAN 的最大大页面内存 (GB) |
---|---|---|---|
NFX250-S1 |
16 千兆字节 |
8 |
- |
NFX250-S1E |
16 千兆字节 |
8 |
13 |
NFX250-S2 |
32 千兆字节 |
24 |
13 |
NFX250-LS1 |
16 千兆字节 |
8 |
- |
配置 VNF 存储设备
要添加虚拟 CD 或更新虚拟 CD 的源文件,请输入以下命令:
user@jdm# set virtual-network-functions vnf-name storage device-name type cdrom source file file-name
要添加虚拟 USB 存储设备,请输入以下命令:
user@jdm# set virtual-network-functions vnf-name storage device-name type usb source file file-name
要附加其他硬盘,请输入以下命令:
user@jdm# set virtual-network-functions vnf-name storage device-name type disk [bus-type virtio | ide] [file-type raw | qcow2] source file file-name
要从 VNF 中删除虚拟 CD、USB 存储设备或硬盘,请输入以下命令:
user@jdm# delete virtual-network-functions vnf-name storage device-name
从 VNF 附加或分离 CD 后,必须重新启动设备才能使更改生效。如果设备正在 VNF 中使用,则 CD 分离操作将失败。
VNF 支持一张虚拟 CD、一个虚拟 USB 存储设备和多个虚拟硬盘。
您可以在 VNF 处于 运行 状态时更新 CD 或 USB 存储设备中的源文件。
您必须将源文件保存在 / var/third-party 目录中,并且该文件必须具有所有用户的读写权限。
对于使用映像文件创建的 VNF,请确保满足以下条件:
以原始格式指定为硬盘的文件应该是带有分区表的块设备。
以 qcow2 格式指定为硬盘的文件应该是有效的 qcow2 文件。
指定为 USB 的文件应该是带有分区表的块设备或 iso9660 类型的文件。
指定为 CD-ROM 的文件应该是 iso9660 类型的块设备。
如果 VNF 具有使用 bus-type=ide 指定的映像,则不应附加任何带有 name had 的设备。
如果 VNF 具有使用 bus-type=virtio 指定的映像,则不应连接任何名称为 vda 的设备。
配置 VNF 接口和 VLAN
您可以创建 VNF 接口并将其连接到物理网卡端口、管理接口或 VLAN。
管理 VNF 状态
默认情况下,VNF 在提交 VNF 配置时自动启动。
管理 VNF MAC 地址
使用 CLI 或在初始化描述符 XML 文件中指定的 VNF 接口将被分配一个全局唯一且持久的 MAC 地址。由 64 个 MAC 地址组成的公共池用于分配 MAC 地址。您可以配置公共池中可用地址以外的 MAC 地址,并且此地址不会被覆盖。
要删除或修改 VNF 接口的 MAC 地址,必须停止 VNF,进行必要的更改,然后启动 VNF。
为 VNF 接口指定的 MAC 地址可以是系统 MAC 地址,也可以是用户定义的 MAC 地址。
从系统 MAC 地址池指定的 MAC 地址对于 VNF 接口必须是唯一的。
管理 MTU
最大传输单元 (MTU) 是可以在不分段的情况下转发的最大数据单元。您可以将 1500 字节或 2048 字节配置为 MTU 大小。默认 MTU 值为 1500 字节。
仅在 VLAN 接口上支持 MTU 配置。
MTU 大小可以是 1500 字节或 2048 字节。
可在系统中配置的 OVS 上的最大 VLAN 接口数为 20。
VNF 接口的 MTU 最大大小为 2048 字节。
从 JDM 访问 VNF
您可以使用 SSH 或 VNF 控制台从 JDM 访问 VNF。
使用 ctrl-] 退出虚拟控制台。
不要使用 Telnet 会话来运行命令。
查看 VNF 列表
user@jdm> show virtual-network-functions ID Name State Liveliness ----------------------------------------------------------------- 3 vjunos0 running alive - vsrx shut off down
VNF 的 “实时性 ”输出字段指示 VNF 的 IP 地址是否可从 JDM 访问。实时网桥 192.0.2.1/24 的默认 IP 地址。
显示 VNF 详细信息
要显示 VNF 详细信息:
user@jdm> show virtual-network-functions vnf-name Virtual Machine Information --------------------------- Name: vsrx IP Address: 192.0.2.4 Status: Running Liveliness: Up VCPUs: 1 Maximum Memory: 2000896 Used Memory: 2000896 Virtual Machine Block Devices ----------------------------- Target Source --------------- hda /var/third-party/images/vsrx/media-srx-ffp-vsrx-vmdisk-15.1-2015-05-29_X_151_X49.qcow2 hdf /var/third-party/test.iso
删除 VNF
要删除 VNF:
user@jdm# delete virtual-network-functions vnf-name
即使删除 VNF,VNF 映像仍保留在磁盘中。
在 NFX250 平台上创建 vSRX 虚拟防火墙 VNF
vSRX 虚拟防火墙是一种虚拟安全设备,可在虚拟化私有云或公有云环境中提供安全和网络服务。它可以作为虚拟网络功能 (VNF) 在 NFX250 平台上运行。有关 vSRX 虚拟防火墙的更多详细信息,请参阅瞻博网络网站 https://www.juniper.net/ 上的产品文档页面。
要从瞻博网络设备管理器 (JDM) 命令行界面激活 vSRX 虚拟防火墙 VNF,请执行以下操作:
将 vMX 虚拟路由器配置为 NFX250 上的 VNF
vMX 路由器是瞻博网络 MX 系列 5G 通用路由平台的虚拟版本。要快速迁移物理基础架构和服务,您可以在 NFX250 平台上将 vMX 配置为虚拟网络功能 (VNF)。有关 vMX 配置和管理的更多详细信息,请参见 vMX 概述。
在配置 VNF 之前,请检查系统清单并确认所需的资源可用。vMX 作为 VNF 的设计和配置必须确保其资源需求不超过系统的可用容量。确保 NFX250 上至少有 20 GB 的空间可用。
要使用瞻博网络设备管理器 (JDM) 命令行界面 (CLI),要在 NFX250 上将 vMX 配置为 VNF:
NFX250 上的虚拟路由反射器概述
虚拟路由反射器 (vRR) 功能允许您使用通用虚拟机实现路由反射器功能,该虚拟机可在基于 Intel 的 64 位刀片服务器或设备上运行。由于路由反射器在控制平面中工作,因此它可以在虚拟化环境中运行。基于 Intel 的刀片式服务器或设备上的虚拟路由反射器的工作方式与路由器上的路由反射器相同,为全网状内部 BGP 对等互连提供了一种可扩展的替代方案。
从 Junos OS 17.3R1 版开始,您可以在 NFX250 网络服务平台上实施虚拟路由反射器 (vRR) 功能。瞻博网络 NFX250 网络服务平台由瞻博网络 NFX250 设备组成,这些设备是瞻博网络安全、自动化、软件驱动的客户端设备 (CPE) 设备,可按需提供虚拟化网络和安全服务。NFX250 设备使用 Junos 设备管理器 (JDM) 实现虚拟机 (VM) 生命周期和设备管理,以及许多其他功能。JDM CLI 在外观上类似于 Junos OS CLI,并提供与 Junos OS CLI 相同的增值功能。
-
从 vRR Junos OS 20.1R1 版开始,vRR 同时支持 Linux 桥接 (LB) 和增强编排 (EO) 模式。建议在 EO 模式下实例化 vRR VNF。
-
NFX250 设备上对 LB 模式的支持在 NFX Junos OS 18.4 版中结束。
-
NFX250 设备上对 NFX-2 软件架构的支持在 NFX Junos OS 19.1R1 版中结束。
-
从 NFX 主机版本 21.4R2 和 vRR Junos OS 版本 21.4R2 开始,您可以在 NFX250 NextGen 设备上部署 vRR VNF。vRR 仅支持增强业务流程 (EO) 模式。
vRR 的优势
vRR 具有以下优点:
可扩展性:通过实施 vRR 功能,您可以获得可扩展性改进,具体取决于运行该功能的服务器核心硬件。此外,您还可以在网络中的多个位置实施虚拟路由反射器,这有助于以更低的成本扩展 BGP 网络。NFX250 上使用 IPv4 路由的最大路由信息库 (RIB) 规模为 2000 万。
更快、更灵活的部署:您可以使用开源工具在英特尔服务器上安装 vRR 功能,从而减少路由器维护。
节省空间:基于硬件的路由反射器需要中央办公空间。您可以在服务器基础架构或数据中心中的任何可用服务器上部署虚拟路由反射器功能,从而节省空间。
有关 vRR 的详细信息,请参阅 虚拟路由反射器 (vRR) 文档。
NFX250 上的 vRR 软件要求
要支持 NFX250 上的 vRR,需要以下软件组件:
瞻博网络设备管理器:瞻博网络设备管理器 (JDM) 是一个占用空间较低的 Linux 容器,支持虚拟机 (VM) 生命周期管理、设备管理、网络服务编排器模块、服务链和对 VNF 的虚拟控制台访问,包括 vSRX 虚拟防火墙、vjunos 和现在作为 VNF 的 vRR。
Junos 控制平面:Junos 控制平面 (JCP) 是在虚拟机管理程序上运行的 Junos VM。您可以使用 JCP 配置 NFX250 设备的网络端口,默认情况下,JCP 在 NFX250 上以 vjunos0 的形式运行。您可以使用 SSH 服务从 JDM 登录 JCP,命令行界面 (CLI) 与 Junos 相同。
在 NFX250 上将 vRR 配置为 VNF
您可以在 Linux 桥接 (LB) 模式或增强型编排 (EO) 模式下将 vRR 配置为 VNF。
在 Linux 网桥模式下的 NFX250 上配置 vRR VNF
- 为 vRR 配置 Junos 设备管理器 (JDM)
- 验证是否已配置管理 IP
- 验证是否配置了默认路由
- 为 vRR 配置 Junos 控制平面 (JCP)
- 启动 vRR
- 从 JDM 启用 vRR VNF 的实时检测
为 vRR 配置 Junos 设备管理器 (JDM)
默认情况下,Junos 设备管理器 (JDM) 虚拟机在 NFX250 开机后启动。默认情况下,JDM 上启用增强业务流程模式。配置 vRR 时,请禁用增强业务流程模式,移除接口配置,然后重新启动 NFX 设备。
要为 vRR 配置 Junos 设备管理器 (JDM) 虚拟机,请执行以下步骤:
验证是否已配置管理 IP
验证是否配置了默认路由
目的
确保为 DNS 和网关访问配置了默认路由。
行动
在配置模式下,输入 show route
命令。
user@jdm# show route
destination 172.16.0.0/12 next-hop 10.48.15.254; destination 192.168.0.0/16 next-hop 10.48.15.254; destination 207.17.136.0/24 next-hop 10.48.15.254; destination 10.0.0.0/10 next-hop 10.48.15.254; destination 10.64.0.0/10 next-hop 10.48.15.254; destination 10.128.0.0/10 next-hop 10.48.15.254; destination 10.192.0.0/11 next-hop 10.48.15.254; destination 10.224.0.0/12 next-hop 10.48.15.254; destination 10.240.0.0/13 next-hop 10.48.15.254; destination 10.248.0.0/14 next-hop 10.48.15.254; destination 10.252.0.0/15 next-hop 10.48.15.254; destination 10.254.0.0/16 next-hop 10.48.15.254; destination 66.129.0.0/16 next-hop 10.48.15.254; destination 10.48.0.0/15 next-hop 10.48.15.254;
为 vRR 配置 Junos 控制平面 (JCP)
默认情况下,Junos 控制平面 (JCP) 虚拟机会在 NFX250 打开电源后启动。JCP 虚拟机控制 NFX250 设备中的前面板端口。VLAN 使用端口在 sxe
虚拟路由反射器虚拟机接口和 JCP 虚拟机之间提供桥接。前面板端口配置为 VRR 端口的相同 VLAN 桥接的一部分。因此,使用 JCP 之间的这些桥接端口(而不是 vRR VNF 端口)传输或接收数据包。
要为 vRR 配置 JCP,请执行以下步骤:
启动 vRR
您可以使用作为 vRR 映像归档一部分的 XML 配置模板将 vRR VNF 作为虚拟网络功能 (VNF) 启动。
从 JDM 启用 vRR VNF 的实时检测
VNF 的实时性指示 Junos 设备管理器 (JDM) 是否可以访问虚拟机的 IP 地址。如果虚拟机的活动性关闭,则意味着无法从 JDM 访问虚拟机。您可以使用命令 show virtual-machines
查看虚拟机的存活情况。默认情况下,vRR VNF 的存活显示为关闭。在创建 vRR VNF 之前,建议您在 JDM 中启用实时检测。
要启用来自 JDM 的 vRR VNF 实时检测,请执行以下步骤:
在增强编排模式下在 NFX250 上配置 vRR VNF
在配置 vRR VNF 之前,请使用命令检查 show system visibility
系统清单并确认所需的资源可用。vRR 作为 VNF 的设计和配置必须使其资源要求不超过系统的可用容量。
您可以使用 JDM CLI 配置在增强型业务流程 (EO) 模式下实例化 vRR VNF,而无需使用 XML 描述符文件。EO 模式使用 Open vSwitch (OVS) 作为桥接接口的 NFV 背板。
要从瞻博网络设备管理器 (JDM) CLI 激活 vRR VNF,请执行以下操作:
配置交叉连接
交叉连接功能支持在连接到 OVS 的任意两个 OVS 接口(如 VNF 接口)或物理接口(如 hsxe0 和 hsxe1)之间进行流量切换。您可以在任意两个 OVS 接口之间双向切换所有流量或属于特定 VLAN 的流量。
此功能不支持单向流量。
交叉连接功能支持以下功能:
两个 VNF 接口之间对所有网络流量进行无条件交叉连接。
VNF 接口之间基于 VLAN 的流量转发支持以下功能:
提供基于 VLAN ID 切换流量的选项。
支持从中继到接入端口的网络流量。
支持从接入到中继端口的网络流量。
支持 VLAN 推送、弹出和交换操作。
要配置交叉连接:
配置分析器 VNF 和端口镜像
端口镜像功能允许您监控网络流量。如果在 VNF 接口上启用了该功能,OVS 系统网桥会将该 VNF 接口的所有网络数据包的副本发送到分析 VNF 进行分析。您可以使用端口镜像或分析器 JDM 命令来分析网络流量。
端口镜像仅在连接到 OVS 系统网桥的 VNF 接口上受支持。
必须先配置 VNF 接口,然后才能配置端口镜像选项。
如果分析器 VNF 在配置后处于活动状态,则必须重新启动 VNF 才能使更改生效。
您最多可以为分析器规则配置四个输入端口和一个输出端口。
输出端口在所有分析器规则中必须是唯一的。
更改输入 VNF 接口的配置后,您必须停用并激活引用该接口的分析器规则,同时重新启动分析器 VNF。
要配置分析器 VNF 并启用端口镜像,请执行以下操作: