ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

KVM QEMU PVE UNRAID INTEL IGD GVT-D 直通研究心得

2021-09-11 16:34:57  阅读:423  来源: 互联网

标签:直通 INTEL windows KVM VM UNRAID pci 显卡 GVT


最近零零散散大概花了一个多月时间研究有关虚拟化的问题,主要是希望复用一台高性能的主机。尝试了ESXi,解决了非官方网卡问题,还是最终有关机紫屏PSOD,放弃,最终选择了PVE(KVM based)的方案。基本使用没有问题,不禁感慨linux的kernerl真的强大,kvm 承载windows居然如此顺滑,也感谢rehat等一系列厂商的优化。

虚拟化当中最有趣的是直通,也就是虚拟机直接连接pci总线;目前可以实现控制器、pci外置设备以及pci总线上面的内置设备的直通,主要依赖vfio这个magic。有关gpu的直通着重写一点:

(update1: windows 的VM安装完后第一件事一定是安装virtIO的驱动,redhat提供的各种驱动你都可以装上! 可以避免很多问题)

   (update3: 不要使用chrome连接pve控制台。novnc永远连不上。)

v卡gpu直通有两种方案:

  pci直通和vGPU共享,前者和普通的pci直通没什么区别,正确设置参数就好,而且在efi模式下也不存在vga仲裁的问题,host端的驱动被blacklist就可以(另外提一句,grub的command line可以支持把所有的vfio和black参数都写进去,可以不需要修改文件)。VGA模式下可能在BIOS里面特殊设置,一般保持默认即可。

  linux的VM一般完美驱动,windows系列的主机部分会有driver的lock,有相关的patch可以解锁非专业卡的直通,或者将kvm的特征隐藏起来。google上面很多相关内容。

  vGPU共享需要购买nvidia的授权和专用驱动,个人很少使用,没有研究。

i卡gou直通非常复杂,原因和intel自己的产品思路以及作为内置显卡和bios耦合太紧密导致的。直通有N种方案,包括民间的官方的各种尝试。总结起来是:官方对于gpu加速支持的很好,推荐GVT-g,完美支持3d加速。民间对于视频直出需求很多,目前看来只有BIOS+VGA+GVT-d以及UEFI+modeified OVMF+IGD ROM+GVT-d方式有可能实现,但基本上很难实现外接显示器和虚拟显卡共存,(vnc远程桌面可以,但是基于虚拟显卡的不行,比如spice),而且这些限制是由于intel的windows驱动+VBIOS导致的,硬件上其实没有限制!

主要的方案有以下几种:

    参考 

GVT-d:pci直通,优点是可以视频输出,并且相对支持较好。缺点是设置很复杂,需要绕过很多限制。一致的成功案例有 案例1 案例2 , 这两个思路非常清晰,分别是BIOS和UEFI模式下的,很多点也讲的很清楚。但貌似intel的windows驱动有限制,有可能无法正常使用,在ubuntu下一直可以正常使用,windows下面我自己尝试无果。

  有具体分为BIOS下面和UEFI下面。前者需要解决的麻烦是VGA仲裁,需要保证bios正确处理了内外置显卡、grub veasfb和efifb和nomodset选项、VGA驱动、等等复杂的问题。在这个非常全面的直通资料里面有部分章节讲到。后者的麻烦是VBIOS和GOP驱动,需要提到到VM的OVMF里面,以保证启动命令可以发给显卡,需要写手工活处理UEFI的固件。具体详见案例2

(update2:有关vga的问题,目前有限的参数包括vfio里面的disable-vga, qemu里面的x-vga=on, igd-opregion grub里面的vesafb, efifb,以及bios里面的主显卡选择)

GVT-g:这种方式是官方支持的,可以多个VM共享3d计算能力,具体可以google,默认设置即可驱动起来。

 

总结:目前放弃使用IGD(集成显卡)输出VM的内容;使用其作为HOST的shell monitor;另外购买亮机显卡,直通给不同的VM做显示,基本上也可以满足工作站的需要。至于HTPC用户可能要自行研发了。

不知道要对intel说些什么好。

EOF

 

标签:直通,INTEL,windows,KVM,VM,UNRAID,pci,显卡,GVT
来源: https://www.cnblogs.com/B1ue/p/15255540.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有