虚拟化
系列 -
目录
https://cloud.tencent.com/developer/article/2312202
1 基础知识
- NIC 网络适配器或网卡(Network Interface Card,NIC)是计算机系统中用于连接到计算机网络的硬件设备。
- VF(Virtual Function) 在物理网卡上通过硬件虚拟化技术实现的虚拟网卡功能。物理网卡(PF)可以划分为多个 VF,每个 VF 被视为一个独立的虚拟网络接口。每个 VF 可以被分配给一个虚拟机或者容器,使其能够直接访问物理网卡的部分资源和功能,而无需整个物理网卡的控制权。
- PF(Physical Function) 物理网卡(NIC)上的 PF 可以理解为完整的、实际的网络接口,它具备完整的网络协议栈处理能力(如接收、发送数据包、处理网络协议等)。
- KVM 提供了基本的 hypervisor 功能,包括虚拟机的创建、管理和调度,以及对硬件的访问控制。它依赖于处理器的硬件虚拟化扩展来实现高性能的硬件加速虚拟化。
- QEMU 是虚拟化管理器和仿真器,它能够模拟多种硬件平台和处理器架构,使得虚拟机可以在不同的硬件环境下运行。QEMU 负责将这些底层的虚拟化能力(由KVM提供)组织成一个完整的虚拟化解决方案,包括虚拟设备的模拟和虚拟机的启动、配置等。它可以使用不同的后端(如 KVM)实现高效的硬件虚拟化。
KVM 提供了基础的虚拟化能力和高性能硬件支持,而 QEMU 则是一个管理和仿真层,将这些能力整合并提供给最终用户。这种协同作用使得 KVM + QEMU 成为一个强大的开源虚拟化解决方案。
- virtio virtio 是一种虚拟化设备标准,旨在提供一种高效的方式来在虚拟机和宿主机之间传输数据。半虚拟化的实现方案,需要虚拟机端和主机端都提供驱动才能完成通信。
- vhost 优化虚拟机网络设备性能的技术。它将虚拟机网络设备的数据处理部分从虚拟化管理程序(例如 QEMU)移至宿主机的内核中,以减少CPU负载和降低处理延迟。
- SR-IOV SR-IOV是单根I/O虚拟化(Single-Root I/O Virtualization)的缩写,它是PCI Express (PCIe)规范的扩展。
2 工作原理
- 一种叫做 Hypervisor (虚拟机监控程序)的软件可有效分隔物理资源,并将这些资源分配给不同虚拟环境(也就是需要这些资源的任务)使用。
- 虚拟化分为三种: 1)全虚拟化 优缺点 2)半虚拟化 3)I/O透传
2.1 Vhost演进
- Virtio详解 virtio 提供了一种标准的设备模型,包括 virtio-net(网络设备)、virtio-blk(块设备)等。这些设备在虚拟机中被视为普通的设备,但它们实际上是由宿主机的虚拟化管理程序(如 QEMU/KVM、Xen 等)进行模拟和管理的。