Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

安装嵌套式vMX VM

嵌套虚拟机是另一 VM 中包含的虚拟机。阅读本主题可了解如何在 KVM 上启动vMX虚拟机。

嵌套虚拟机模型概述

嵌套式vMX虚拟机 (VM) 模型将虚拟控制平面 (VCP) 作为虚拟机在虚拟转发平面 (VFP) 虚拟机中运行。VFP VM 运行虚拟 Trio 转发平面软件,VCP VM Junos OS。VCP VM 和 VFP VM 需要第 2 层连接来相互通信。每个实例在服务器本地的内部桥接vMX可实现此通信。VCP VM 和 VFP VM 还需要第 2 层连接来与服务器的以太网管理端口进行通信。您必须为 VFP 和 VCP 指定具有唯一 IP 地址和 MAC 地址的虚拟以太网接口,为虚拟实例vMX网桥。所有实例的以太网管理vMX流量通过以太网管理端口进入服务器。

嵌套式vMX VM 支持用于转发端口的 virtio 和 SR-IOV 接口。第一个接口用于管理,必须是连接到 br-ext 网桥(外部网桥)的 virtio 接口。后续接口是 WAN 接口,可以是 virtio 或 SR-IOV 接口。您必须为所有的 virtio 接口创建网桥。您必须至少具有一个 WAN 接口进行转发。

具有 Virtio 接口的嵌套虚拟机

在 virtio 模式下,服务器接口不能配置 VF。您可以使用 命令删除或重置接口 ( ),可以使用 命令将默认接口的 eth1 rmmod ixgbe IXGBE 驱动程序添加至服务器 modprobe ixgbe 接口。

图 1 显示了使用 virtio vMX的嵌套虚拟机模型。

图 1:具有 virtio 接口的嵌套虚拟机 Nested VM with virtio Interfaces

具有 SR-IOV 接口的嵌套虚拟机

在 SR-IOV 模式下,vMX接口与服务器接口相关联。例如, ge-0/0/0 接口与 eth1 相关联 ,在 eth1 .conf file- interface: ge-0/0/0 ,nic: eth1 中定义。

VF 添加到服务器接口的 IXGBE 驱动程序中,该驱动程序与 VF 相关联,可在 eth1 SR-IOV 模式下运行时使用 命令 ip link show eth1 检查。

图 2 显示了使用 SR-IOV vMX的嵌套虚拟机模型。

图 2:带 SR-IOV 接口的嵌套虚拟机 Nested VM with SR-IOV Interfaces

对于 SR-IOV 接口,您必须先加载修改后的 IXGBE 驱动程序,然后才能启动嵌套vMX VM。

网络流量从物理环境NIC到虚拟NIC取决于您配置的虚拟化技术。

嵌套虚拟机模型的系统要求

vMX,可配置为以两种模式运行,具体取决于用例:

  • Lite 模式 — 需要较少的 CPU 和内存资源,以较低带宽运行。

  • 性能模式 — 需要在 CPU 和内存方面提供更多资源,以更高的带宽运行。

    注意:

    性能模式是默认模式。

vMX嵌套虚拟机模型的局限性

vMX嵌套虚拟机模型不支持以下功能:

  • 运行时接口的附件vMX或分离

  • 升级Junos OS版本

嵌套式虚拟机的vMX要求

表 1 列出了硬件要求。

表 1:嵌套虚拟机的最低vMX要求

描述

价值

样本系统配置

对于 virtio:具有 VT-d 功能的任何 x86 处理器(Intel 或 AMD)。

对于 SR-IOV:基于 Intel 82599 的 PCI-Express 卡 (10 Gbps) 和 Ivy 网桥处理器。

核心数量

注意:

性能模式是默认模式,最小值基于一个端口。

  • 对于精简模式:最少 4 个 v CPU

    注意:

    如果您希望在 VFP 运行超过 4 个 v CPU 时使用精简模式,则必须显式配置精简模式。

  • 对于性能模式:最少 8 个 v CPU

    注意:

    要计算 VFP 用于性能模式所需的 v CPU 建议数量:

    (3 * number-of-forwarding-ports )+ 4

记忆

  • 对于精简模式:最低 3 GB

  • 对于性能模式:

    • 最小 5 GB

    • 建议 16 GB

表 2 列出了软件要求。

表 2:Ubuntu的软件要求

描述

价值

操作系统

Ubuntu 14.04.1 LTS

Linux 3.19.0-80 通用

虚拟

QEMU-KVM 2.0.0+dfsg-2ubuntu1.11

所需的软件包

注意:

可能需要其他其他软件包来满足所有依赖关系。

bridge-utils qemu-kvm libvirt-bin virtinst

注意:

libvirt 1.2.19

在 KVM 上安装和vMX嵌套虚拟机

要启动 KVM 上的vMX嵌套虚拟机,请执行这些任务。

准备 Ubuntu 主机以安装嵌套vMX VM

要准备 Ubuntu 主机系统以安装vMX:

  1. 满足嵌套式虚拟机的硬件和软件要求 中所述的 vMX要求
  2. 在 BIOS 中启用Intel VT-d。(建议您与供应商验证流程,因为不同的系统有不同的方法可启用 VT-d。)

    请参阅在 Intel 网站上启用 VT-d 的过程。

  3. KSM_ENABLED=0 /etc/default/qemu-kvm中设置 禁用 KSM 。
  4. 编辑 /etc/modprobe.d/qemu-system-x86.conf 文件并添加到包含 的行中,禁用 APIC enable_apicv=0 虚拟化 options kvm_intel

    options kvm_intel nested=1 enable_apicv=0

  5. 重新启动主机以禁用 KSM 和 APIC 虚拟化。
  6. 如果您使用 SR-IOV,则必须执行此步骤。
    注意:

    您必须在 /etc/network/interfaces 中卸下任何之前使用外部网桥的安装,然后恢复到原始管理接口。继续安装之前,请确保 命令不会显示 ifconfig -a 外部网桥。

    要确定是否显示外部网桥,请使用 ifconfig 命令查看管理接口。要确认此接口用于外部桥接组,请使用 命令查看管理接口 brctl show 是否列为外部网桥。

    打开 intel_iommu=on /etc/default/grub 目录中的 启用 SR-IOV 功能。

    GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on"

    intel_iommu=on 字符串附加到参数的任何现有 GRUB_CMDLINE_LINUX_DEFAULT 文本。

  7. 为获得最佳性能,建议将主机上的"巨大页面"大小配置为 1G,并确保 VFP 的 NUMA 节点至少有16 个 1G 巨大页面。要配置"巨大页面"的大小,请添加以下行(in /etc/default/grub):

    GRUB_CMDLINE_LINUX="default_hugepagesz=1G hugepagesz=1G hugepages=number-of-huge-pages"

    巨大的页面数量必须至少为 (16G * number-of-numa-sockets )。

  8. 运行 update-grub 命令,然后运行 reboot 命令。
  9. modprobe kvm-intel 安装 之前运行 vMX。

加载修改后的 IXGBE 驱动程序

如果您使用 SR-IOV 接口,则必须先加载修改后的 IXGBE 驱动程序,然后才能启动嵌套 vMX VM。要加载修改后的 IXGBE 驱动程序:

  1. 下载 vMX KVM 软件包并解压缩软件包。
  2. 在编译驱动程序之前,请确保已安装 gcc 和 make。
  3. 卸载默认 IXGBE 驱动程序,编译修改瞻博网络的驱动程序,然后加载修改后的 IXGBE 驱动程序。
  4. 验证 SR-IOV 接口上的驱动程序版本 (3.19.1)。

启动嵌套vMX实例

要启动嵌套 vMX实例:

  1. 下载"vMX嵌套"软件包。
  2. vmdk 图像转换为 qcow2 格式。
  3. 为 virtio 接口创建网桥。
    注意:

    使用 命令创建桥接 brctl addbr <bridge-name> 时,服务器可能会失去连接。或者,您也可以在未vMX模式(在 SRIOV 或 virtio 模式下)生成服务卡,并使用 和 命令创建和保留 virsh destroy vcp vcp-name virsh destroy vfp vfp-name 网桥。

    注意:

    启动嵌套实例之前,您必须为 virtio 接口创建桥接vMX实例。

  4. 使用 命令vMX VM 实例启动嵌套 virt-install 虚拟机实例。例如:

    其中:

    • --vcpus— 指定 v CPU 的数量。

      对于精简模式,最少 4 个 v CPU。对于性能模式,最小为 [(4 * number-of-forwarding-ports ) + 4] 个 v CPU。

    • -r— 指定虚拟机使用的内存量(MB)。最小 16 GB。

    • --serial—指定 VFP 的串行端口。

    • -w—指定 virtio 接口。第一个接口用于管理并连接到 br-ext 网桥。后续接口是 WAN 接口,连接到主机上的网桥。

    • --host-device—将 SR-IOV 接口指定为虚拟功能 (VF0) 的 PCI ID。

      要确定 PCI ID:

      1. 使用 ip link 命令获取要创建与实例绑定的 VF 的vMX名称。

      2. 使用 ethtool -i interface-name 实用程序确定 PCI 总线信息。

      3. 使用 virsh nodedev-list 命令获取 VF PCI ID。

    • -n—指定虚拟机vMX的名称。

    • --disk—指定到文件 qcow2 的路径 (vmx 嵌套 - release .qcow2)。

例如,此命令将在性能模式下启动vMX实例,其中两个 virtio 接口连接到 vnet0 和 vnet1 网桥:

例如,此命令在vMX SR-IOV 接口的性能模式下启动一个实例:

连接到 VFP 控制台端口

使用 命令vMX VFP 实例后,您可以使用 命令从主机连接到 VFP 的控制台端口,其中使用 参数 virt-install telnet localhost serial-port serial-port 指定的 host -serial 端口是 。

例如:

使用默认用户名和密码 jnpr 登录 jnpr123 。使用 命令 root sudo -i

br-ext 接口尝试使用 DHCP 获取 IP 地址。使用 ifconfig br-ext 命令显示分配的 IP 地址。如果 DHCP 不可用,或者如果您希望使用静态 IP 地址,请为 分配一个 IP 地址 br-ext 。您现在可以使用 SSH 协议和此分配的 IP 地址连接到 VFP。

连接到 VCP

启动 VCP VM 时,您可以使用以下命令从 VFP VM 连接到 TCP 端口 8601 上的 VCP 控制台端口:

从控制台端口,您可以使用用户名登录, root 无需密码。

至少,登录 VCP 后,Junos OS执行以下初始配置任务:

  1. 启动CLI。
  2. 进入配置模式。
  3. 配置 root 密码。
  4. 配置路由器的管理以太网接口的 IP 地址和前缀长度。
  5. 提交配置。