Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

部署和管理vMX

阅读本主题以了解安装之后管理vMX实例所需的过程。

指定vMX配置文件参数

配置 vMX 所需的参数在启动配置文件中定义。配置文件采用 YAML 格式。默认文件为 config/vmx.conf。我们建议您将配置文件重命名为其他名称,以便每次创建不同的实例时都使用相同的配置文件。

注意:

您必须设置这三个接口,以启动 VFP。

  • 管理访问

  • VCP 和 VFP 之间的内部通信桥接

  • WAN 接口(最少一个)

从 Junos OS 18.1 版开始,要配置 vMX 实例,请下载和修改启动配置文件 (vmx.conf)。

  1. 以 root vMX下载软件包,然后解压缩软件包。

    tar xzvf package-name

  2. 将目录更改为未压缩数据包vMX位置。

    cd package-location

  3. 使用 文本编辑器编辑 config/vmx.conf 文本文件,以配置单个vMX实例并保存该文件。

要自定义配置,请执行以下任务:

配置主机

要配置主机环境,您必须更改每个 vMX 的标识符,并且您必须为映像提供正确的路径。

要配置主机,请导航到 Host 并指定以下参数:

参数

描述

identifier

此实例vMX的名称,最多四个字母数字字符。

host-management-interface

用于管理NIC (eth0) 的主机设备上物理设备的名称。

注意:

HOST:host-management-interface、CONTROL_PLANE 和 FORWARDING_PLANE 必须位于同一子网中。

routing-engine-image

junos-vmx-x86-64-*.qcow2文件的绝对路径,用于启动 VCP。

routing-engine-hdd

VCP 存储的 vmxhdd.img 文件的绝对路径。

forwarding-engine-image

vFPC-*.img文件的绝对路径,用于启动 VFP。

make-local-copy-of-images

(可选)对 VCP 和 VFP 映像进行本地复制,并使用本地副本启动vMX。默认值为 yes

注意:

将图像文件从默认位置复制,以确保脚本不会尝试同时使用相同的映像文件。

make-local-copy-of-vmxhdd

(可选)对 VCP 存储映像进行本地复制并使用本地副本启动vMX。默认值为 yes

注意:

将图像文件从默认位置复制,以确保脚本不会尝试同时使用相同的映像文件。

配置 VCP 虚拟机

要配置 VCP VM,您必须更改 IP 地址,并且必须确保其他控制台实例或其他服务器vMX端口。

要配置 VCP VM,请导航 CONTROL_PLANE 并指定以下参数:

注意:

参数

描述

vcpus

VCP 的 v CPU 数,默认为 1。从 18.1 Junos OS版本开始,如果要部署双 VCP 实例,则必须将 vCP 数量翻倍。

memory-mb

VCP 的内存量,默认为 2 GB。

在Junos OS版本15.1F6,VCP 的内存量;最小为 4 GB(性能模式)和 1 GB(精简模式)。

console_port

基于 KVM TCP 的控制台端口。它必须是唯一的编号。

deploy

(可选)要在此主机上部署的 VCP 实例。指定实例编号;第一个实例为 0,第二个实例为 1,多个实例用逗号分隔。如果不指定此参数,则两个实例 ( 0,1 ) 均将部署在此主机上。如果 none 设置,此主机上不会部署 VCP 实例。

注意:

在单独的主机上部署时,必须在主机之间设置连接,供 VCP 进行通信。

从 Junos OS 版本 18.1 开始,如果要跨多个服务器(例如,一台服务器作为 RE,一台服务器作为 PFE),并且您想要禁用服务器上控制平面的 VCP,您可选择指定 none

console_listen

(可选)可用于访问控制台的接口的 IP 地址;默认值为 127.0.0.1,仅允许从主机内部访问。要允许从任何接口访问,请指定 0.0.0.0。

instance (从 18.1 Junos OS版本开始)

VCP 实例。导航至 具有>类型(静态 )的接口,并在下方包含此参数。

(可选)创建第一个实例下方的第二个实例,并 console_port 包括第二个实例的参数。用于指定两个 VCP 实例的参数可能类似于以下内容:

    interfaces  :
      - type      : static
        instance  : 0
        ipaddr    : 10.102.144.94 
        macaddr   : "0A:00:DD:C0:DE:0E"

      - type        : static
        instance    : 1
        console_port: 8612
        ipaddr      : 10.102.144.95 
        macaddr     : "0A:00:DD:C0:DE:0F"

ipaddr

VCP VM (fxp0) 的管理 IP 地址。导航到 ipad >类型(静态>接口 以修改此参数。

注意:

HOST:host-management-interface、CONTROL_PLANE 和 FORWARDING_PLANE 的接口必须位于同一子网中。

配置 VFP 虚拟机

配置 VFP VM 之前,请考虑以下事项:

  • 您必须确保控制台端口不会由另一个控制台实例或其他vMX使用。

  • 要禁用对 VFP 控制台的网络访问,请勿配置 IP 地址。

  • 根据您的要求,您可能需要更改内存、v CPU 数量和设备类型。有关 一vMX配置要求,请参阅 安装不同用例的配置文件 。

注意:

如果要跨多个服务器(例如,一台服务器作为 RE,一台服务器作为 PFE),并且您需要禁用服务器上转发平面的 VFP,则从 Junos OS 版本 18.1 开始,您可以选择指定 none

要配置 VFP VM,请导航 FORWARDING_PLANE 并指定以下参数:

参数

描述

memory-mb

VFP 的内存量,默认为 6 GB。

vcpus

VFP 的 v CPU 数,默认为 3。

console_port

基于 KVM TCP 的控制台端口。它必须是唯一的编号。

deploy

(可选)要在此主机上部署的 VFP 实例。指定实例编号;第一个实例为 0,第二个实例为 1,多个实例用逗号分隔。如果不指定此参数,则两个实例 ( 0,1 ) 均将部署在此主机上。如果 none 设置,此主机上不会部署 VFP 实例。

注意:

在单独的主机上部署时,必须在主机之间设置连接,供 VF 进行通信。

console_listen

(可选)可用于访问控制台的接口的 IP 地址;默认值为 127.0.0.1,仅允许从主机内部访问。要允许从任何接口访问,请指定 0.0.0.0。

device-type

NIC接口类型, sriovvirtio 。如果同时配置 virtio 和 SR-IOV 接口,请指定 mixed

ipaddr

VFP 虚拟机的管理 IP 地址 (eth0)。导航到 ipad >类型(静态)>来 修改此参数。

注意:

HOST:host-management-interface、CONTROL_PLANE 和 FORWARDING_PLANE 必须位于同一子网中。

use_native_drivers

设置为 true 以允许使用主机的驱动程序。

注意:

从 Junos OS 18.4R1 版(Ubuntu 主机)和 Junos OS 版 19.1R1(红帽主机)开始,您可以将 值设置为 true ,为网络接口卡使用最新未修改的驱动程序vMX use_native_drivers 安装。

要配置 VFP VM,请导航 FORWARDING_PLANE 并指定以下参数(Junos OS 版本和15.1F6):

参数

描述

memory-mb

VFP 的内存量;最小为 12 GB(性能模式)和 4 GB(精简模式)。

vcpus

VFP 的 v CPU 数;最小为 7(性能模式)和 3(精简模式)。

console_port

基于 KVM TCP 的控制台端口。它必须是唯一的编号。

console_listen

(可选)可用于访问控制台的接口的 IP 地址;默认值为 127.0.0.1,仅允许从主机内部访问。要允许从任何接口访问,请指定 0.0.0.0。

device-type

NIC接口类型, sriovvirtio

ipaddr

VFP 虚拟机的管理 IP 地址 (eth0)。导航到 ipad >类型(静态>接口 以修改此参数。

注意:

HOST:host-management-interface、CONTROL_PLANE 和 FORWARDING_PLANE 必须位于同一子网中。

配置接口

JUNOS_DEVICES接口名称与主机上的 Linux NIC名称对应。在继续之前NIC本节定义的 Linux 物理接口端口。例如,使用 ifconfig eth9 up 命令在 eth9 接口NIC端口。

要配置 virtio 设备类型的接口,必须指定接口和MAC 地址。您可以绑定 virtio 设备以将 vMX 中的 virtio NIC 连接到另一个设备的物理 NIC 或 virtio VMX(请参阅 绑定 virtio 设备)。

要配置 SR-IOV 设备类型的接口,必须指定接口、NIC 和 MAC 地址。

要配置路由接口,请导航 JUNOS_DEVICES 并指定以下参数:

参数

描述

interface

接口的名称vMX。

注意:

vmx.conf 文件中定义的接口名称从 ge-0/0/0 开始必须连续。对于在性能模式下运行的配置,支持的接口总数为 23。如果您以精简模式运行 virtio 接口,则您可以使用多达 96 个接口。

type (在Junos OS 17.2 版中受支持)

NIC接口类型, sriovvirtio

注意:

如果配置了两种接口类型,则必须在 SR-IOV 接口之前指定 virtio 接口。

port-speed-mbps

(仅 SR-IOV)物理接口的端口NIC,默认为 10000 Mbps。

nic

(仅 SR-IOV)物理服务器NIC。

注意:

根据 udev 的版本,您可以重命名传统的 Linux 标准 ethXX 名称。有关详细信息 ,请参阅 可预测网络接口名称 。

mtu

(仅 SR-IOV)MTU值,默认值为 2000,最大为 9500。

要更改 virtio MTU的配置,请修改设备绑定 mtu 文件 (vmx-junosdev.conf)中的参数。

virtual-function

(仅 SR-IOV)物理路由的子NIC单元,默认为 0。

(仅 SR-IOV)物理主机的虚拟NIC;默认值为 0(Junos OS和早期版本15.1F5中支持)。

mac-address

用于MAC 地址单播NIC。

description

映射说明。

连接到虚拟机

执行这些任务以连接到虚拟机进行首次配置,以允许通过其他方式(如 Telnet 或 SSH)访问:

登录 VCP

您可以使用 命令访问串行控制台,其中vMX配置文件中指定的标识符,并且使用用户名登录,不需要 ./vmx.sh --console vcp vmx-id vmx-id root 密码。

要与控制台断开连接,请退出会话并按 Ctrl + ]。在 telnet> 提示符时, close 键入 并按 Enter。

登录 VFP

您可以使用 命令访问串行控制台,其中vMX配置文件中指定的标识符,然后使用用户名 root 和 ./vmx.sh --console vfp vmx-id 密码 vmx-id root 登录。

要与控制台断开连接,请退出会话并按 Ctrl + ]。在 telnet> 提示符时,键入 close 并按 Enter

要将 SSH 转换为虚拟转发平面 (VFP),请使用在 vmx.conf 文件中在FORWARDING_PLANE定义的 IP 地址。出于安全考虑,您无法使用 Telnet 协议连接到 VFP。

此外,出于安全考虑,您无法使用 root 用户使用 SSH 协议连接到 VFP 实例。必须先使用控制台访问 VFP,以 root 用户登录,然后创建一个可用于 与 SSH 的用户。

例如:

通过控制台访问 VFP:

现在,使用 SSH 作为 PFE 用户访问 VFP 时,您可以作为超级用户登录以访问 root 目录。

管理vMX

注意:

对于使用 vmx.sh 脚本,仅支持英语 vmx.sh。

安装并部署vMX之后,您可以使用 vmx.sh 选项的 vmx.sh 脚本来执行这些任务:

部署 vMX

注意:

您必须以 root 身份登录,使用控制选项。

使用 --install 选项还会启动 VCP 和 VFP VM。

建议通过运行脚本vMX部署 vMX,以向文件提供详细级别日志记录,以便 ./vmx.sh -lv --install 部署 vMX 实例。

注意:

对于使用 vmx.sh 脚本,仅支持英语 vmx.sh。

注意:

如果在升级 libvirt vMX无法部署该网桥,使用 命令关闭 virbr0 网桥,然后使用 ifconfig virbr0 down brctl delbr virbr0 命令删除网桥。

注意:

重新启动主机服务器之前,您必须使用 命令vMX实例 request system halt

要部署 vMX,请使用以下选项与 vmx.sh 脚本:

--cfg file

使用指定的vMX启动配置文件。默认文件为 config/vmx.conf

--install

首先vMX环境、驱动程序依赖关系和内存要求,然后部署此vMX。如果不使用 选项指定启动配置文件, --cfg 则使用默认文件。

注意:

如果在升级 libvirt vMX无法部署该网桥,使用 命令关闭 virbr0 网桥,然后使用 ifconfig virbr0 down brctl delbr virbr0 命令删除网桥。

此示例将部署由 my-vmx.cfg 配置文件vMX实例,并提供对文件的详细级别日志记录:

管理vMX部署

注意:

您必须以 root 身份登录,使用控制选项。

将这些选项与 vmx.sh 脚本一起用于停止、启动、重新启动、验证和清理现有vMX:

--cfg file

使用指定的vMX启动配置文件。默认文件为 config/vmx.conf

--cleanup

停止vMX并清理有关该实例vMX信息。这也使 Linux 网桥和其他依赖关系落于下一层。如果不使用 选项指定启动配置文件, --cfg 则使用默认文件。

--restart

停止并启动正在运行的 vMX。此选项可用于重新部署在启动配置文件vMX参数更改的配置。如果不使用 选项指定启动配置文件, --cfg 则使用默认文件。

--start

启动vMX停止的启动设备。如果不使用 选项指定启动配置文件, --cfg 则使用默认文件。

--status

验证已部署设备vMX。如果不使用 选项指定启动配置文件, --cfg 则使用默认文件。

--stop

在不vMX清理构建文件的情况下停止运行,vMX无需执行选项设置即可快速启动 --install 文件。

此示例会关闭 my-vmx.cfg 配置文件vMX实例的一个现有虚拟机实例:

从 Junos OS 版本 19.1 开始,如果要使用基于 i40e 驱动程序的 NIC 卡部署 vMX 映像,并且想要重新部署在启动配置文件中具有参数更改的 vMX,建议您不要使用 "重新启动"或"开始/停止"等选项。您必须使用以下选项:

  1. 使用 ./vmx.sh --cleanup 命令清理现有vMX。

  2. 运行 ./vmx.sh -lv --install 脚本以重新部署vMX。

vMX实例从更新的配置开始。

指定临时文件目录

注意:

您必须以 root 身份登录,使用控制选项。

要指定用于临时文件的目录,请运行 ./vmx.sh build directory 脚本。默认目录为 vmx-id build/vmx-id 其中vMX配置文件中指定的标识符。

默认情况下,VCP 和 VFP 映像的副本将复制到此目录中。为主机指定启动配置文件参数时,建议您不要更改 和 make-local-copy-of-images make-local-copy-of-vmxhdd 参数。

指定环境文件

注意:

您必须以 root 身份登录,使用控制选项。

要指定环境文件 (.env),请运行 ./vmx.sh env file 脚本。默认文件为 env/ubuntu_sriov.env

配置用于手动配置的日志记录vMX

您可以启用日志记录选项。与 控制选项(如 ) 一起使用时,特别有用 --install

使用这些选项配置日志记录:

-l

启用记录至指定构建目录中的文件。默认目录为 vmx-id build//logsvmx-id 其中vMX配置文件中指定的标识符。默认情况下,日志记录将被禁用。

-lv

启用详细记录。

-lvf

启用对前景的详细记录(标准输出)。

此示例将部署由 my-vmx.cfg 配置文件vMX实例,并提供对文件的详细级别日志记录:

连接到虚拟机的控制台端口

将这些选项与 vmx.sh 脚本一起用于连接到指定交换机的 VCP 或 VFP 的vMX:

--console vcp [vmx-id]

连接到指定端口的 VCP vMX。在vMX配置文件中指定标识符。

--console vfp [vmx-id]

连接到指定交换机的 VFP vMX。在vMX配置文件中指定标识符。

此示例连接到 VCP 的控制台,该vMX vmx1 标识符指定的实例:

获取脚本选项帮助

要获取 vmx.sh 选项的 在线帮助,请运行 ./vmx.sh --help 脚本。

绑定 virtio 设备

对于使用 virtio 设备类型的配置,如果主机有足够的 CPU 和内存来支持该 vMX 实例,您可以将多个 vMX 实例绑定在同一个vMX一起。您可使用不同的启动vMX配置每个实例。

如果要部署多个多 vMX实例,请确保:

  • 虚拟机标识符在所有实例中都独一无二。

  • VCP 和 VFP 的控制台端口在所有实例中都独一无二。

  • VCP 和 VFP 的外部静态 IP 地址在所有实例中都独一无二。

  • 只要指定,VCP 和 VFP 的 MAC 地址在所有实例中都独一无二。

注意:

所有虚拟机共享相同的管理域。物理管理接口(例如 eth0)也是此全局外部网桥的一部分。

您可以通过将 vMX中的 virtio NIC 连接到其他设备中的vMX或 virtio NIC,如 图 1 所示

图 1:绑定设备 Binding Devices

要管理设备绑定,请执行以下任务:

设置设备绑定

在设备绑定文件中vMX配置绑定设备所需的参数。设备绑定文件采用 YAML 格式。默认文件为 config/vmx-junosdev.conf

设备绑定文件可定义源自网络网络 VFP 的每个链路的vMX。一个端点必须是使用 virtio NIC 的设备。另一个端点可以是物理 NIC、另一NIC实例中的 virtio vMX,或者 Linux 网桥。

要将vMX实例绑定在一起:

  1. 编辑 config/vmx-junosdev.conf 文件以设置不同实例vMX通信。
  2. link_name 修改到 Linux 网桥的名称(如 brctl show 命令所示)。链路名称可长 15 个字符。对于每个网桥,它都必须具有唯一性。如果通过 Linux 网桥连接两个以上接口(虚拟或物理),则网桥名称从所连接设备公共端点的 dev_name 派生。
  3. 指定 以 mtu 将 virtio MTU类型的默认值从 1500 更改为 。最大值为 9500。

    要更改 SR-IOV MTU的配置,请修改启动配置文件 ( mtu vmx.conf)中的参数。

  4. 通过自定义这些参数vMX指定特定 junos_dev 设备的端点( 类型):
    • type—设备类型为 junos_dev

    • vm-name—在启动配置文件vMX实例中指定的组标识符vMX名称。

    • dev-name—启动配置文件中vMX上的接口名称。

  5. 通过自定义这些参数,指定物理 NIC(类型 host_dev )的端点:
    • type—设备类型为 host_dev

    • dev-name—主机上的NIC名称。

  6. 通过自定义这些参数,指定网桥(类型 bridge_dev )的端点:
    • type—设备类型为 bridge_dev

    • dev-name—Linux 网桥的名称。

  7. 如果有多个设备绑定文件,请使用不同的名称保存它们。

以下是设备绑定vMX示例:

条目 link_host 显示如何将 vmx1 上的 ge-0/0/0 接口连接到物理NIC。条目 link_vmx_12 显示如何将 vmx1 和 vmx2 上的两个接口相互连接。这些 bridge_vmx_123 条目显示如何将 vmx1、vmx2 和 vmx3 上的接口与网桥连接。

创建设备绑定

注意:

您必须以 root 身份登录,以绑定设备。

要将带 virtio NIC 的设备绑定到其他设备,vMX设备绑定文件中定义设备并运行脚本来创建 ./vmx.sh --bind-dev –-cfg device-binding-file 设备绑定。如果不指定文件,默认文件为 config/vmx-junosdev.conf

此示例使用指定的设备绑定文件创建设备绑定:

删除设备绑定

注意:

您必须以 root 身份登录至非绑定设备。

要取消绑定设备,请运行 ./vmx.sh --unbind-dev –-cfg device-binding-file 脚本以删除使用 选项创建的设备 --bind-dev 绑定。如果不指定文件,默认文件为 config/vmx-junosdev.conf

此示例会删除带指定设备绑定文件的设备绑定:

验证设备绑定

注意:

您必须以 root 身份登录,以绑定设备。

要验证使用 选项创建的设备绑定 --bind-dev 的状态,请运行 ./vmx.sh --bind-check –-cfg device-binding-file 脚本。如果不指定文件,默认文件为 config/vmx-junosdev.conf

此示例验证指定设备绑定文件的设备绑定状态:

版本历史记录表
释放
描述
18.1
从 Junos OS 版本 18.1 开始,如果要跨多个服务器(例如,一台服务器作为 RE,一台服务器作为 PFE),并且您想要禁用服务器上控制平面的 VCP,可以选择指定 无 。
18.1
如果要跨多个服务器(例如,一台服务器用作 RE,一台服务器用作 PFE),并且您需要禁用服务器上转发平面的 VFP,则从 Junos OS 版本 18.1 开始,可以选择指定 无 。
18.1
从 Junos OS 版本 18.1 开始,如果要跨多个服务器(例如,一台服务器作为 RE,一台服务器作为 PFE),并且您想要禁用服务器上控制平面的 VCP,可以选择指定 无 。
18.1
如果要跨多个服务器(例如,一台服务器用作 RE,一台服务器用作 PFE),并且您需要禁用服务器上转发平面的 VFP,则从 Junos OS 版本 18.1 开始,您可以选择未指定。