1. pci passthrough

1.1 概念

guest排他使用host上的某个PCI设备,就像将该设备物理连接到guest上一样

1.2 使用场景

  • 提升性能(如直通网卡和显卡)
  • 减少延迟(避免数据丢失或丢祯)
  • 直接利用bare-metal上设备的驱动

1.3 配置方法

  • 预先配置:
    a. 打开bios中的VT-d设置
    b. kernel引导配置iommu,参见文章 linux开启IOMMU方法
  • pci直通配置方法

  a. 识别设备

# virsh nodedev-list --tree |grep pci

  b. 获取设备xml

# virsh nodedev-dumpxml pci_8086_3a6

  c. detach设备

# virsh nodedev-dettach pci_8086_3a6c

  d. 改动虚拟机xml文件(将dumpxml查询到的bus,slot,function填入)

<devices>
......
<hostdev mode='subsystem' type='pci' managed='yes'><source><address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/></source>
</hostdev>
......
</devices>

  e. 启动虚拟机

2. pci passthrough (VFIO)

VFIO在kernel3.6/qemu1.4以后支持,眼下仅仅支持PCI设备。
VFIO是一套用户态驱动框架,提供两种基本服务:

  • 向用户态提供设备訪问接口
  • 向用户态提供配置IOMMU接口

VFIO能够用于实现高效的用户态驱动。

在虚拟化场景能够用于device passthrough。
通过用户态配置IOMMU接口,能够将DMA地址空间映射限制在进程虚拟空间中。

这对高性能驱动和虚拟化场景device passthrough尤其重要。

相对于传统方式,VFIO对UEFI支持更好。
VFIO技术实现了用户空间直接訪问设备。无须root特权,更安全。功能很多其它。

2.1 操作方法

  • 安装kernel module
# sudo modprobe vfio
# sudo modprobe vfio-pci
  • 虚拟机xml文件
    操作类似与非VFIO方式,虚拟机xml配置有所区别
<devices>
......
<hostdev mode='subsystem' type='pci' managed='yes'><driver name='vfio'/> <source><address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/></source><rom bar='off'/>
</hostdev>
......
</devices>

KVM虚拟机PCI设备直通相关推荐

  1. VMWare ESXi 开启显卡直通 (PCI 设备直通) 出现 DevicePowerOn 错误

    [当前环境]: VM EXSI: v 7.0.3 GPGPU: NVIDIA Tesla K80 1. 问题描述 VMware ESXI 在硬件管理中开启显卡的直通模式后,并将该设备添加到虚拟机新的 ...

  2. Linux的pcie模拟网卡,Qemu虚拟机pci设备透传——网卡

    在qemu虚拟机中为了提高网络的性能,将本地host端的多余网卡透传到虚拟机中使用. 设备的透传需要主机支持Intel(VT-d)或AMD (IOMMU)硬件虚拟化加速技术 查看是否开启IOMMU1d ...

  3. ESXI 网卡等PCI设备硬件直通配置

    一.什么是直通(Passthrough) VT-d .DirectPath I/O,通过 DirectPath I/O,虚拟机可以使用 I/O 内存管理单元访问平台上的物理 PCI 功能,就是俗称的虚 ...

  4. qemu里pci设备的热插拔

    qemu里pci设备的热插拔 -v0.1 2019.2.17 Sherlock Init -v0.2 2019.2.21 Sherlock Add all related command 本文讨论li ...

  5. KVM虚拟机配置PCI网卡直通

    PCI直通 PCI PathThrough 是一种让虚拟机从主机控制 PCI 设备的机制.与使用虚拟化硬件相比,具有一些优势,例如更低的延迟.更高的性能或其他功能. 但是,如果您将设备传递到虚拟机,则 ...

  6. ubuntu18.04下pass-through直通realteck PCI设备到qemu-kvm虚拟机实践

    设备直通是一种虚拟化资源分配方式,通过将物理设备直通给虚拟机环境,达到虚拟机可以直接访问物理设备的目的,直通功能对设备的要求不高,不需要设备支持PF/VF,目前市面上的显卡/网卡一般都支持直通.典型场 ...

  7. Ubuntu22.04.1 LTS系统上实现KVM虚拟机显卡直通(AMD/NVIDIA+板载显卡)

    先告诉你们最终效果 我的服务器上有两块显卡:板载显卡+独立显卡(1U服务器半高显卡 AMD RX550) 板载显卡用于ibmc上的远程桌面控制连接,服务器日常bios操作和linux宿主机桌面操作.板 ...

  8. KVM为虚拟机添加设备总结

    有关为KVM中的虚拟机(以下称VM)添加硬盘.网卡等设备,我以前写过几篇有关这方面的文章.文章如下:<烂泥:KVM虚拟机windows系统增加硬盘>,<烂泥: KVM虚拟机Linux ...

  9. Proxmox VE 6.0管理指南——10. Qemu / KVM虚拟机

    10. Qemu / KVM虚拟机 Qemu(Quick Emulator的缩写)是一个模拟物理计算机的开源虚拟机管理程序.从运行Qemu的主机系统的角度来看,Qemu是一个用户程序,可以访问许多本地 ...

最新文章

  1. 在featureDataset和workspace下創建featureclass
  2. uniGUI试用笔记(二)
  3. 百果园付凌峰:线上单月 1.2 亿背后的数据化运营
  4. 怎么查看和获取SQL Server实例名
  5. Spring Data JPA 从入门到精通~@Version处理乐观锁的问题
  6. SQL 使用总结六(改善数据库性能)
  7. Android Broadcast 和 BroadcastReceiver的权限限制
  8. Tensorflow高级封装
  9. mysql中递增列_如何使用JDBC在MySQL中创建带有自动递增列的表?
  10. dijkstra--非负权值的单源最短路径STL实现(邻接表+优先队列) (带路径)
  11. 基于.NET CompactFramework的九宫格控件(附源码)
  12. 如何获取maven命令执行后成功与否的返回值
  13. 遗传算法matlab_当结构设计遇到遗传算法应用ANSYS和MATLAB联合仿真优化设计探索(前传)...
  14. 简约黑板擦特效表白网源码 附带wap自适应
  15. Linux搭建学习汇总
  16. 一个简单文本分类任务-EM算法-R语言
  17. Unity Shader-热空气扭曲效果
  18. 阿里巴巴为什么“去IOE”
  19. 李国庆是如何被“踢出”当当的?
  20. 春招面试经验系列(九)蚂蚁金服

热门文章

  1. 从AIDL一窥Android Binder机制
  2. 服务至上——安擎的待“客”之道
  3. 21.1-21.4 memcached介绍,安装使用,状态查看
  4. 你在面试时是否无意中暴露了缺点?资深面试官如何从细节中看候选人的软实力...
  5. 斐波那契 (Fibonacci)数列
  6. 《java并发编程实践》笔记
  7. 小米鼠标垫功能奇异 价格也不贵
  8. 13.JAVA之GUI编程将程序打包jar
  9. C#中MySQL数据库的备份 还原 初始化
  10. CentOS安装mysql*.rpm提示conflicts with file from package的解决的方法