(4)I/O PCI/PCIe设备直接分配和 SR-IOV (5)libvirt 介绍 (6)Nova 通过 libvirt 管理 QEMU/KVM 虚机 (7)快照 (snapshot) (8)迁移 (migration) 在QEMU/KVM 中,客户机可以使用的设备大致可分为三类: 1. 模拟设备:完全由 QEMU 纯软件模拟的设备。 2. Virtio 设备:实现 VIRTIO API 的半虚拟化设备。
需要注意的是,KVM 运行在 Kernel space 且本身不具备任何设备模拟的能力。所以,KVM 还必须借助于一个运行在 User space 用户态的 Application(e.g. QEMU)来模拟 “组装“ 出一台完整 VM 所需要的各种虚拟设备(e.g. 网卡、显卡、存储控制器和硬盘)。 QEMU QEMU(Quick Emulator)最早于 2001 由天才程序员 Fabr...
之前,网卡 nic 还是要通过 hypervsor 交给虚拟机来用 vm ,到了千兆上不去。现在,新技术 SR-IOV 的网卡划48个口,跨过 hypervisor 直接给 vm 调用。很多通道的处理,直接交给网卡自己来做。通过这种技术,就解决了 IO 性能问题。 三、虚拟化组件 KVM 对于KVM(英文 Kernel-based Virtual Machine 的缩写) 来说,...
(4)I/O PCI/PCIe设备直接分配和 SR-IOV (5)libvirt 介绍 (6)Nova 通过 libvirt 管理 QEMU/KVM 虚机 (7)快照 (snapshot) (8)迁移 (migration) 在QEMU/KVM 中,客户机可以使用的设备大致可分为三类: 1. 模拟设备:完全由 QEMU 纯软件模拟的设备。 2. Virtio 设备:实现 VIRTIO API 的半虚拟化设备。
之前,网卡 nic 还是要通过 hypervsor 交给虚拟机来用 vm ,到了千兆上不去。现在,新技术 SR-IOV 的网卡划48个口,跨过 hypervisor 直接给 vm 调用。很多通道的处理,直接交给网卡自己来做。通过这种技术,就解决了 IO 性能问题。 三、虚拟化组件 KVM
支持PCI 设备直接分配(Pass-through)和单根 I/O 虚拟化 (SR-IOV) 支持合并相同内存页 (KSM ) 以Intel VT 为例,当启动 Linux 操作系统并加载 KVM 内核模块时: 初始化 KVM 模块内部的数据结构; KVM 模块检测当前的 CPU 体系结构,然后打开 CPU 控制器以及存取 CR4 寄存器的虚拟化模式开关,并通过执行 VMXON ...
若硬件支持内存的虚拟化,如EPT/NPT及I/O设备的虚拟化,如:VT-d/SR-IOV的支持则会对KVM的虚拟化效率有 很大的提高。KVM也被移植到S/390,PowerPC与IA-64平台上。在Linux内核3.9版中,加入ARM架构的支持。 目前KVM的开源社区也非常活跃,其Redhat的工程师在KVM、QEMU、libvirt等开源社区中成为核心开发成员. ...
不过,这类镜像比较精简,如果你是通过 PCIe 穿透或者 SRIOV + VFIO 的方式把物理网卡直接穿透到 Guest,这样的镜像大概率会缺少网卡驱动。这时,我建议你再给 Guest 添加另外一个 virtio 网卡(Linux 一般自带 virtio 网卡驱动),然后通过能联网的网卡给另一张不能联网的网卡安装驱动。 性能建议 对于提供给 Guest 的...
支持PCI 设备直接分配(Pass-through)和单根 I/O 虚拟化 (SR-IOV) 支持合并相同内存页 (KSM ) 以Intel VT 为例,当启动 Linux 操作系统并加载 KVM 内核模块时: 初始化 KVM 模块内部的数据结构; KVM 模块检测当前的 CPU 体系结构,然后打开 CPU 控制器以及存取 CR4 寄存器的虚拟化模式开关,并通过执行 VMXON ...
QEMU用来软件模拟KVM虚拟化中的需要的外设。模拟BIOS、PCI/PCIE总线、磁盘、网卡、显卡、声卡、键盘、鼠标等. QEMU本来和KVM是没有关系的,QEMU是采用传软件的方式模拟虚拟主机的所有行为,通过截获虚拟主机中的调用,然后用软件方式模拟。 在OpenStack实验环境中我们经常用QEMU作为虚拟化后端。