使用 JDM 管理虚拟网络功能
了解虚拟网络功能
虚拟化网络功能 (VNF) 包括可从瞻博网络设备管理器 (JDM) 启动和管理的所有虚拟实体。目前,虚拟机 (VM) 是唯一受支持的 VNF 类型。
JDM 环境中有几个组件:
JDM—管理所有服务虚拟机的生命周期。JDM 还提供具有配置持久性的 CLI 或使用 NETCONF 进行脚本编写和自动化的功能。
Primary Junos OS VM—作为主要虚拟设备的 系统虚拟机 。系统正在运行时,此虚拟机始终存在。
Other Junos OS VMs—这些虚拟机是 服务虚拟机 ,由外部控制器动态激活。这种 VM 的典型示例是 vSRX 实例。
Third-party VNFs— JDM 支持创建和管理第三方虚拟机,如 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 可以在系统中拥有或共享管理端口和 NIC 端口。
所有虚拟机都隔离运行,一个虚拟机中的状态更改不会影响另一个虚拟机。当系统重新启动时,服务虚拟机将按持久配置文件中指定的方式联机。当您平滑关闭系统时,所有虚拟机(包括 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 图像
- 准备 Bootstrap 配置
- 启动 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 映像。
您必须在 /var/第三方/图像 目录中保存 VNF 映像。
准备 Bootstrap 配置
您可以通过连接包含自举配置 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。
保存并提交 init 描述符和映像配置后,您无法更改描述符或映像配置。要更改 VNF 的描述符或映像,必须删除并再次创建 VNF。
提交检查仅适用于基于 JDM CLI 的映像规范的 VNF 配置,而非基于 init-descriptor XML 文件的 VNF 配置。
要使用图像文件创建 VNF,请确保以下内容:
您必须使用唯一文件来处理在 VNF 或 VNF 之间使用的映像、磁盘、USB,但可连接到多 VNF 的 iso9660 类型文件除外。
以原始格式指定为映像的文件应是带有分区表和启动分区的块设备。
以 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
默认情况下,1 GB 内存分配给 VNF。
如果 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 GB |
8 |
- |
NFX250-S1E |
16 GB |
8 |
13 |
NFX250-S2 |
32 GB |
24 |
13 |
NFX250-LS1 |
16 GB |
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/第三方 目录中,并且该文件必须具有所有用户的读写权限。
对于使用映像文件创建的 VNF,请确保以下内容:
作为原始格式的硬盘指定的文件应是带有分区表的块设备。
指定为 qcow2 格式的硬盘的文件应该是有效的 qcow2 文件。
指定为 USB 的文件应是带有分区表或 iso9660 类型文件的块设备。
指定为 CD-ROM 的文件应为 iso9660 类型的块设备。
如果 VNF 具有使用总线类型=ide 指定的映像,则不应附加任何带有名称的设备。
如果 VNF 具有使用 bus-type=virtio 指定的映像,则不应附加任何带有名称 vda 的设备。
配置 VNF 接口和 VLAN
您可以创建 VNF 接口并将其连接到物理 NIC 端口、管理接口或 VLAN。
管理 VNF 状态
默认情况下,VNF 在提交 VNF 配置时自动启动。
管理 VNF MAC 地址
定义的 VNF 接口(使用 CLI 或 init 描述器 XML 文件中指定)将分配一个全局唯一的持久 MAC 地址。64 个 MAC 地址的通用池用于分配 MAC 地址。您可配置通用池中提供的 MAC 地址,并且不会覆盖此地址。
要删除或修改 VNF 接口的 MAC 地址,必须停止 VNF,进行必要的更改,然后启动 VNF。
为 VNF 接口指定的 MAC 地址可以是系统 MAC 地址或用户定义的 MAC 地址。
从系统 MAC 地址池中指定的 MAC 地址必须是 VNF 接口的独特功能。
管理 MTU
最大传输单元 (MTU) 是可在不分段的情况下转发的最大数据单元。您可以将 1500 字节或 2048 字节配置为 MTU 大小。默认 MTU 值为 1500 字节。
MTU 配置仅在 VLAN 接口上受支持。
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 的 Liveliness 输出字段表示 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:
在 NFX250 上将 vMX 虚拟路由器配置为 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 下一代设备上部署 vRR VNF。vRR 仅支持增强型编排 (EO) 模式。
vRR 的优势
vRR 具有以下优势:
可扩展性:通过实施 vRR 功能,您可以根据该功能运行的服务器核心硬件来改进可扩展性。此外,您还可以在网络中的多个位置实施虚拟路由反射器,这有助于以更低的成本扩展 BGP 网络。NFX250 上 IPv4 路由的最大路由信息库 (RIB) 规模为 2000 万。
更快、更灵活的部署:您可使用开源工具在 Intel 服务器上安装 vRR 功能,从而减少路由器维护。
节省空间:基于硬件的路由反射器需要中央办公空间。您可以在服务器基础架构或数据中心中可用的任何服务器上部署虚拟路由反射器功能,从而节省空间。
有关 vRR 的详细信息,请参阅 虚拟路由反射器 (vRR) 文档。
NFX250 上 vRR 的软件要求
在 NFX250 上支持 vRR 需要以下软件组件:
瞻博网络设备管理器:瞻博网络设备管理器 (JDM) 是一种占用空间极少的 Linux 容器,支持虚拟机 (VM) 生命周期管理、设备管理、网络服务编排器模块、服务链和虚拟控制台对 VNF(包括 vSRX、vjunos)的访问,现在又支持 vRR 即 VNF。
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)
默认情况下,在 NFX250 接通电源后,Junos 设备管理器 (JDM) 虚拟机将启动。默认情况下,增强型编排模式在 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)
默认情况下,在 NFX250 接通电源后,Junos 控制平面 (JCP) VM 会出现。JCP虚拟机控制 NFX250 设备中的前面板端口。VLAN 提供虚拟路由反射器 VM 接口与使用 sxe
端口的JCP虚拟机之间的桥接。前面板端口配置为 VRR 端口的相同 VLAN 桥接的一部分。因此,数据包使用JCP而不是 vRR VNF 端口之间的这些桥接端口进行传输或接收。
要为 vRR 配置JCP,请执行以下步骤:
启动 vRR
您可以使用 vRR 映像存档中的 XML 配置模板启动 vRR VNF 作为虚拟化网络功能 (VNF)。
支持从 JDM 对 vRR VNF 进行实时检测
VNF 的实时性表示 Junos 设备管理器 (JDM) 是否可访问 VM 的 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 配置,无需使用 XML 描述文件,即可在增强型编排 (EO) 模式下实例化 vRR VNF。EO 模式使用 Open vSwitch (OVS) 作为 NFV 后面板来桥接接口。
要从瞻博网络设备管理器 (JDM) CLI 激活 vRR VNF:
配置交叉连接
通过交叉连接功能,可在任何两个 OVS 接口(例如 VNF 接口)或连接到 OVS 的物理接口(例如 hsxe0 和 hsxe1)之间切换流量。您可以在任意两个 OVS 接口之间双向切换属于特定 VLAN 的所有流量或流量。
此功能不支持单向流量。
交叉连接功能支持以下内容:
用于所有网络流量的两个 VNF 接口之间无条件交叉连接。
VNF 接口之间基于 VLAN 的信息流转发支持以下功能:
提供基于 VLAN ID 切换流量的选项。
支持从中继到接入端口的网络流量。
支持从接入到中继端口的网络流量。
支持 VLAN PUSH、POP 和 SWAP 操作。
要配置交叉连接,
配置分析器 VNF 和端口镜像
端口镜像功能允许您监控网络流量。如果在 VNF 接口上启用了该功能,OVS 系统桥接会将该 VNF 接口的所有网络数据包的副本发送至分析器 VNF 进行分析。您可以使用端口镜像或分析器 JDM 命令来分析网络流量。
仅在连接到 OVS 系统桥接的 VNF 接口上支持端口镜像。
在配置端口镜像选项之前,必须配置 VNF 接口。
如果配置后分析器 VNF 处于活动状态,则必须重新启动 VNF 才能生效更改。
您最多可以配置四个输入端口和一个用于分析器规则的输出端口。
所有分析器规则中都必须有唯一的输出端口。
更改输入 VNF 接口的配置后,您必须卸下并激活引用该接口的分析器规则以及分析器 VNF 重新启动。
要配置分析器 VNF 并启用端口镜像: