安装嵌套式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的嵌套虚拟机模型。
具有 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的嵌套虚拟机模型。
对于 SR-IOV 接口,您必须先加载修改后的 IXGBE 驱动程序,然后才能启动嵌套vMX VM。
网络流量从物理环境NIC到虚拟NIC取决于您配置的虚拟化技术。
嵌套虚拟机模型的系统要求
vMX,可配置为以两种模式运行,具体取决于用例:
Lite 模式 — 需要较少的 CPU 和内存资源,以较低带宽运行。
性能模式 — 需要在 CPU 和内存方面提供更多资源,以更高的带宽运行。
注意:性能模式是默认模式。
vMX嵌套虚拟机模型的局限性
vMX嵌套虚拟机模型不支持以下功能:
运行时接口的附件vMX或分离
升级Junos OS版本
嵌套式虚拟机的vMX要求
表 1 列出了硬件要求。
描述 |
价值 |
---|---|
样本系统配置 |
对于 virtio:具有 VT-d 功能的任何 x86 处理器(Intel 或 AMD)。 对于 SR-IOV:基于 Intel 82599 的 PCI-Express 卡 (10 Gbps) 和 Ivy 网桥处理器。 |
核心数量
注意:
性能模式是默认模式,最小值基于一个端口。 |
|
记忆 |
|
表 2 列出了软件要求。
描述 |
价值 |
---|---|
操作系统 |
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:
加载修改后的 IXGBE 驱动程序
如果您使用 SR-IOV 接口,则必须先加载修改后的 IXGBE 驱动程序,然后才能启动嵌套 vMX VM。要加载修改后的 IXGBE 驱动程序:
启动嵌套vMX实例
要启动嵌套 vMX实例:
例如,此命令将在性能模式下启动vMX实例,其中两个 virtio 接口连接到 vnet0 和 vnet1 网桥:
sudo virt-install --hvm --vcpus=12 -r 16384 \ --serial tcp,host=:4001,mode=bind,protocol=telnet \ --nographics --import --noautoconsole \ --cpu \ SandyBridge,+erms,+smep,+fsgsbase,+pdpe1gb,+rdrand,+f16c,+osxsave,+dca,+pcid,+pdcm,+x tpr,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme \ -w bridge=br-ext,model=virtio \ -w bridge=vnet0,model=virtio \ -w bridge=vnet1,model=virtio \ -n vmx1 --disk vmx-nested-17.2R1.13-4.qcow2,format=qcow2
例如,此命令在vMX SR-IOV 接口的性能模式下启动一个实例:
sudo virt-install --hvm --vcpus=12 -r 16384 \ --serial tcp,host=:4001,mode=bind,protocol=telnet \ --nographics --import --noautoconsole \ --cpu \ SandyBridge,+erms,+smep,+fsgsbase,+pdpe1gb,+rdrand,+f16c,+osxsave,+dca,+pcid,+pdcm,+x tpr,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme \ -w bridge=br-ext,model=virtio \ --host-device=pci_0000_81_10_0 \ --host-device=pci_0000_81_10_1 \ -n vmx2 --disk vmx-nested-17.2R1.13-4.qcow2,format=qcow2
连接到 VFP 控制台端口
使用 命令vMX VFP 实例后,您可以使用 命令从主机连接到 VFP 的控制台端口,其中使用 参数 virt-install
telnet localhost serial-port
serial-port
指定的 host
-serial
端口是 。
例如:
$ telnet localhost 4001
使用默认用户名和密码 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 控制台端口:
$ telnet localhost 8601
从控制台端口,您可以使用用户名登录, root
无需密码。
至少,登录 VCP 后,Junos OS执行以下初始配置任务: