735 words
4 minutes
virtio-vs-sriov

Virtio#

简介#

virtio是一种虚拟化标准,旨在通过半虚拟化的方式提供高效的I/O操作。virtio设备是由虚拟机管理程序和虚拟机共同实现的,通过一组标准的API接口,虚拟机可以搞笑的与虚拟化平台进行I/O操作

特点#

  • 标准化: Virtio是一个开源的标准,支持广泛的虚拟化平台和操作系统
  • 半虚拟化: 通过虚拟化层提供抽象的I/O设备接口,减少了硬件依赖性
  • 性能较好: 相比完全虚拟化技术,virtio有更好的性能和效率

优缺点#

  • 优点:
    • 兼容性强,支持多种虚拟化平台和操作系统
    • 相对简单,易于部署和管理
    • 性能较好,适合大多数虚拟化应用场景
  • 缺点
    • 性能不如硬件辅助的虚拟化技术
    • 需要虚拟机管理程序的支持和优化

Vhost#

简介#

vhost是一种加速virtio设备性能的技术,特别是网络I/O设备。它通过将virtio设备的处理从虚拟机管理程序转移到用户态进程(QEMU)或内核态价值观(vhost-user)中, 以减少上下文切换和管理程序的开销

特点#

  • 内核支持: vhost-net等实现将virtio设备的处理放在linux内核中,减少用户态和内核态的切换
  • 高性能: 通过减少虚拟机管理程序的干预,提高了I/O操作的性能

优缺点#

  • 优点:
    • 提供比virtio更高的性能
    • 能够更好的利用多核处理器的优势
  • 缺点
    • 配置和调优复杂
    • 需要内核支持和优化,依赖特定的虚拟化平台

vhost-user#

相比vhost,采用了大页来作为host和vm之间通信的内存空间;用户态操作网卡,使用zero copy技术来加速对物理设备的访问;使用numa技术,加快中断响应速率

SRIOV#

简介#

SR-IOV是一种PCIe I/O虚拟化技术,通过硬件支持,将一个物理I/O设备分割成多个虚拟功能(VF),每个VF都能直接分配给虚拟机使用,实现硬件级的I/O虚拟化

特点#

  • 硬件辅助: 通过硬件实现虚拟化,提供接近原生的性能
  • 虚拟功能(VF): 每个VF都能被独立的虚拟机直接使用,拥有独立的硬件资源

优缺点#

  • 优点
    • 性能最高,几乎接近物理设备的性能
    • 提供硬件级的隔离,提高了安全性和稳定性
    • 高效的资源利用,适用于高性能和低延迟需求的应用场景
  • 缺点
    • 需要硬件支持(NIV, HBA等必须支持SR-IOV)
    • 配置和管理复杂,依赖于具体硬件和驱动程序的支持
    • 资源分配相对固定,不如纯软件虚拟化技术灵活
virtio-vs-sriov
https://blog.cassiusblack.top/posts/virtio-vs-sriov/
Author
Cassius Black
Published at
2025-09-03
License
CC BY-NC-SA 4.0