在此页面上
部署和管理vMX
阅读本主题以了解安装之后管理vMX实例所需的过程。
指定vMX配置文件参数
配置 vMX 所需的参数在启动配置文件中定义。配置文件采用 YAML 格式。默认文件为 config/vmx.conf。我们建议您将配置文件重命名为其他名称,以便每次创建不同的实例时都使用相同的配置文件。
您必须设置这三个接口,以启动 VFP。
管理访问
VCP 和 VFP 之间的内部通信桥接
WAN 接口(最少一个)
从 Junos OS 18.1 版开始,要配置 vMX 实例,请下载和修改启动配置文件 (vmx.conf)。
以 root vMX下载软件包,然后解压缩软件包。
tar xzvf package-name
将目录更改为未压缩数据包vMX位置。
cd package-location
使用 文本编辑器编辑 config/vmx.conf 文本文件,以配置单个vMX实例并保存该文件。
要自定义配置,请执行以下任务:
配置主机
要配置主机环境,您必须更改每个 vMX 的标识符,并且您必须为映像提供正确的路径。
要配置主机,请导航到 Host 并指定以下参数:
参数 |
描述 |
---|---|
|
此实例vMX的名称,最多四个字母数字字符。 |
|
用于管理NIC (eth0) 的主机设备上物理设备的名称。
注意:
HOST:host-management-interface、CONTROL_PLANE 和 FORWARDING_PLANE 必须位于同一子网中。 |
|
junos-vmx-x86-64-*.qcow2文件的绝对路径,用于启动 VCP。 |
|
VCP 存储的 vmxhdd.img 文件的绝对路径。 |
|
vFPC-*.img文件的绝对路径,用于启动 VFP。 |
|
(可选)对 VCP 和 VFP 映像进行本地复制,并使用本地副本启动vMX。默认值为
注意:
将图像文件从默认位置复制,以确保脚本不会尝试同时使用相同的映像文件。 |
|
(可选)对 VCP 存储映像进行本地复制并使用本地副本启动vMX。默认值为
注意:
将图像文件从默认位置复制,以确保脚本不会尝试同时使用相同的映像文件。 |
配置 VCP 虚拟机
要配置 VCP VM,您必须更改 IP 地址,并且必须确保其他控制台实例或其他服务器vMX端口。
要配置 VCP VM,请导航 CONTROL_PLANE 并指定以下参数:
参数 |
描述 |
---|---|
|
VCP 的 v CPU 数,默认为 1。从 18.1 Junos OS版本开始,如果要部署双 VCP 实例,则必须将 vCP 数量翻倍。 |
|
VCP 的内存量,默认为 2 GB。 在Junos OS版本15.1F6,VCP 的内存量;最小为 4 GB(性能模式)和 1 GB(精简模式)。 |
|
基于 KVM TCP 的控制台端口。它必须是唯一的编号。 |
|
(可选)要在此主机上部署的 VCP 实例。指定实例编号;第一个实例为 0,第二个实例为 1,多个实例用逗号分隔。如果不指定此参数,则两个实例 (
注意:
在单独的主机上部署时,必须在主机之间设置连接,供 VCP 进行通信。 从 Junos OS 版本 18.1 开始,如果要跨多个服务器(例如,一台服务器作为 RE,一台服务器作为 PFE),并且您想要禁用服务器上控制平面的 VCP,您可选择指定 |
|
(可选)可用于访问控制台的接口的 IP 地址;默认值为 127.0.0.1,仅允许从主机内部访问。要允许从任何接口访问,请指定 0.0.0.0。 |
|
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" |
|
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 并指定以下参数:
参数 |
描述 |
---|---|
|
VFP 的内存量,默认为 6 GB。 |
|
VFP 的 v CPU 数,默认为 3。 |
|
基于 KVM TCP 的控制台端口。它必须是唯一的编号。 |
|
(可选)要在此主机上部署的 VFP 实例。指定实例编号;第一个实例为 0,第二个实例为 1,多个实例用逗号分隔。如果不指定此参数,则两个实例 (
注意:
在单独的主机上部署时,必须在主机之间设置连接,供 VF 进行通信。 |
|
(可选)可用于访问控制台的接口的 IP 地址;默认值为 127.0.0.1,仅允许从主机内部访问。要允许从任何接口访问,请指定 0.0.0.0。 |
|
NIC接口类型, |
|
VFP 虚拟机的管理 IP 地址 (eth0)。导航到 ipad >类型(静态)>来 修改此参数。
注意:
HOST:host-management-interface、CONTROL_PLANE 和 FORWARDING_PLANE 必须位于同一子网中。 |
|
设置为 true 以允许使用主机的驱动程序。
注意:
从 Junos OS 18.4R1 版(Ubuntu 主机)和 Junos OS 版 19.1R1(红帽主机)开始,您可以将 值设置为 true ,为网络接口卡使用最新未修改的驱动程序vMX |
要配置 VFP VM,请导航 FORWARDING_PLANE 并指定以下参数(Junos OS 版本和15.1F6):
参数 |
描述 |
---|---|
|
VFP 的内存量;最小为 12 GB(性能模式)和 4 GB(精简模式)。 |
|
VFP 的 v CPU 数;最小为 7(性能模式)和 3(精简模式)。 |
|
基于 KVM TCP 的控制台端口。它必须是唯一的编号。 |
|
(可选)可用于访问控制台的接口的 IP 地址;默认值为 127.0.0.1,仅允许从主机内部访问。要允许从任何接口访问,请指定 0.0.0.0。 |
|
NIC接口类型, |
|
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 并指定以下参数:
参数 |
描述 |
---|---|
|
接口的名称vMX。
注意:
在 vmx.conf 文件中定义的接口名称从 ge-0/0/0 开始必须连续。对于在性能模式下运行的配置,支持的接口总数为 23。如果您以精简模式运行 virtio 接口,则您可以使用多达 96 个接口。 |
|
NIC接口类型,
注意:
如果配置了两种接口类型,则必须在 SR-IOV 接口之前指定 virtio 接口。 |
|
(仅 SR-IOV)物理接口的端口NIC,默认为 10000 Mbps。 |
|
(仅 SR-IOV)物理服务器NIC。
注意:
根据 udev 的版本,您可以重命名传统的 Linux 标准 ethXX 名称。有关详细信息 ,请参阅 可预测网络接口名称 。 |
|
(仅 SR-IOV)MTU值,默认值为 2000,最大为 9500。 要更改 virtio MTU的配置,请修改设备绑定 |
|
(仅 SR-IOV)物理路由的子NIC单元,默认为 0。 (仅 SR-IOV)物理主机的虚拟NIC;默认值为 0(Junos OS和早期版本15.1F5中支持)。 |
|
用于MAC 地址单播NIC。 |
|
映射说明。 |
连接到虚拟机
执行这些任务以连接到虚拟机进行首次配置,以允许通过其他方式(如 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:
root@ubuntu:~/19.2/vmx# ./vmx.sh --console vfp vmx1
root@qemux86-64:/home/pfe/riot# ./vfp_util.sh -create_user Enter Username:pfe Enter Password: Re-enter Password: Not copying any file from skel directory into it. User pfe created, HOME:/var/pfe Restarting OpenBSD Secure Shell server: sshd.
现在,使用 SSH 作为 PFE 用户访问 VFP 时,您可以作为超级用户登录以访问 root 目录。
pfe@qemux86-64:~$ su root@qemux86-64:/var/pfe# id uid=0(root) gid=0(root) groups=0(root) root@qemux86-64:/var/pfe#
管理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。如果不使用 选项指定启动配置文件, |
如果在升级 libvirt vMX无法部署该网桥,使用 命令关闭 virbr0 网桥,然后使用 ifconfig virbr0 down
brctl delbr virbr0
命令删除网桥。
此示例将部署由 my-vmx.cfg 配置文件vMX实例,并提供对文件的详细级别日志记录:
./vmx.sh -lv --install --cfg config/my-vmx.cfg
管理vMX部署
您必须以 root 身份登录,使用控制选项。
将这些选项与 vmx.sh 脚本一起用于停止、启动、重新启动、验证和清理现有vMX:
--cfg file |
使用指定的vMX启动配置文件。默认文件为 config/vmx.conf。 |
--cleanup |
停止vMX并清理有关该实例vMX信息。这也使 Linux 网桥和其他依赖关系落于下一层。如果不使用 选项指定启动配置文件, |
--restart |
停止并启动正在运行的 vMX。此选项可用于重新部署在启动配置文件vMX参数更改的配置。如果不使用 选项指定启动配置文件, |
--start |
启动vMX停止的启动设备。如果不使用 选项指定启动配置文件, |
--status |
验证已部署设备vMX。如果不使用 选项指定启动配置文件, |
--stop |
在不vMX清理构建文件的情况下停止运行,vMX无需执行选项设置即可快速启动 |
此示例会关闭 my-vmx.cfg 配置文件vMX实例的一个现有虚拟机实例:
./vmx.sh --cleanup --cfg config/my-vmx.cfg
从 Junos OS 版本 19.1 开始,如果要使用基于 i40e 驱动程序的 NIC 卡部署 vMX 映像,并且想要重新部署在启动配置文件中具有参数更改的 vMX,建议您不要使用 "重新启动"或"开始/停止"等选项。您必须使用以下选项:
使用
./vmx.sh --cleanup
命令清理现有vMX。运行
./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//logs, vmx-id 其中vMX配置文件中指定的标识符。默认情况下,日志记录将被禁用。 |
-lv |
启用详细记录。 |
-lvf |
启用对前景的详细记录(标准输出)。 |
此示例将部署由 my-vmx.cfg 配置文件vMX实例,并提供对文件的详细级别日志记录:
./vmx.sh -lv --install --cfg config/my-vmx.cfg
连接到虚拟机的控制台端口
将这些选项与 vmx.sh 脚本一起用于连接到指定交换机的 VCP 或 VFP 的vMX:
--console vcp [vmx-id] |
连接到指定端口的 VCP vMX。在vMX配置文件中指定标识符。 |
--console vfp [vmx-id] |
连接到指定交换机的 VFP vMX。在vMX配置文件中指定标识符。 |
此示例连接到 VCP 的控制台,该vMX vmx1 标识符指定的实例:
./vmx.sh --console vcp 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 所示。
要管理设备绑定,请执行以下任务:
设置设备绑定
在设备绑定文件中vMX配置绑定设备所需的参数。设备绑定文件采用 YAML 格式。默认文件为 config/vmx-junosdev.conf。
设备绑定文件可定义源自网络网络 VFP 的每个链路的vMX。一个端点必须是使用 virtio NIC 的设备。另一个端点可以是物理 NIC、另一NIC实例中的 virtio vMX,或者 Linux 网桥。
要将vMX实例绑定在一起:
以下是设备绑定vMX示例:
interfaces : - link_name : link_host mtu : 1500 endpoint_1 : - type : junos_dev vm_name : vmx1 dev_name : ge-0/0/0 endpoint_2 : - type : host_dev dev_name : int2 - link_name : link_vmx_12 mtu : 1500 endpoint_1 : - type : junos_dev vm_name : vmx1 dev_name : ge-0/0/1 endpoint_2 : - type : junos_dev vm_name : vmx2 dev_name : ge-0/0/0 - link_name : bridge_vmx_123 endpoint_1 : - type : junos_dev vm_name : vmx1 dev_name : ge-0/0/2 endpoint_2 : - type : bridge_dev dev_name : bridge1 - link_name : bridge_vmx_123 endpoint_1 : - type : junos_dev vm_name : vmx2 dev_name : ge-0/0/1 endpoint_2 : - type : bridge_dev dev_name : bridge1 - link_name : bridge_vmx_123 endpoint_1 : - type : junos_dev vm_name : vmx3 dev_name : ge-0/0/0 endpoint_2 : - type : bridge_dev dev_name : bridge1
条目 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。
此示例使用指定的设备绑定文件创建设备绑定:
./vmx.sh --bind-dev –-cfg config/vmx1-junosdev.conf
删除设备绑定
您必须以 root 身份登录至非绑定设备。
要取消绑定设备,请运行 ./vmx.sh --unbind-dev –-cfg device-binding-file
脚本以删除使用 选项创建的设备 --bind-dev
绑定。如果不指定文件,默认文件为 config/vmx-junosdev.conf。
此示例会删除带指定设备绑定文件的设备绑定:
./vmx.sh --unbind-dev –-cfg config/vmx1-junosdev.conf
验证设备绑定
您必须以 root 身份登录,以绑定设备。
要验证使用 选项创建的设备绑定 --bind-dev
的状态,请运行 ./vmx.sh --bind-check –-cfg device-binding-file
脚本。如果不指定文件,默认文件为 config/vmx-junosdev.conf。
此示例验证指定设备绑定文件的设备绑定状态:
./vmx.sh --bind-check –-cfg config/vmx1-junosdev.conf