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. Centos 安装 NodeJS
  2. python set
  3. java将ascii数组转成unicode字串
  4. linux终端美化,如何美化你的命令行终端Terminal
  5. addeventlistener监听ajax请求_基于h5的history改善ajax列表请求体验
  6. POJ NOI MATH-7655 回文数个数
  7. linux打包根目录
  8. couchbase java 手册_couchBase在java中使用的基本知识
  9. RiceQuant和 JoinQuant合成月k线、周k线的极简公式
  10. 520男生送什么礼物好、实用小礼物合集
  11. 一篇几乎涵盖95%英语语法的文章[Pending]
  12. Vue FSC在线编译代码实时预览@vue/repl
  13. gensim官方文档实践笔记
  14. git 相关文件指令随笔
  15. 小甲鱼零基础学习python_19 【pickle -- 腌制一缸泡菜】
  16. linux 格式化 sda,linux – 如何将/ dev / sda挂载并格式化为不同的/ dev / name?
  17. 弹出框PopuoWindow
  18. 创始团队如何保持对公司的控制权?Snapchat这里可能有一份指南
  19. 如何将stl模型,转换成点云文件)
  20. 有关计算机的课外阅读书籍,关于2020级本科生《认识实习》课外阅读书目的通知...

热门文章

  1. Elasticsearch——filter过滤查询
  2. C# 使用NPlot绘图
  3. MySQL(root用户)密码重置
  4. 程序员,其实你可以做的更好
  5. (二)线程--通过委托异步调用方法
  6. react-native ListView 封装 实现 下拉刷新/上拉加载更多
  7. Hadoop学习之路(十三)MapReduce的初识
  8. MySQL性能调优my.cnf详解
  9. 多线程之任务: Task 基础, 多任务并行执行, 并行运算(Parallel)
  10. Yii2 日期和时间组件