首页 > 其他分享 >proxmox pve 7.4 显卡直通

proxmox pve 7.4 显卡直通

时间:2023-06-23 16:31:45浏览次数:50  
标签:vfio Intel iommu blacklist pve 7.4 显卡 remapping 虚拟机

IOMMU(Input-Output Memory Management Unit)是一种硬件功能,用于管理设备对系统内存的访问。启用 IOMMU 后,可以在虚拟机中直接访问物理设备,并允许虚拟机独立于主机操作系统运行

# Intel CPU
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
# AMD CPU
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"
#以上是常规配置
root@pve:~# cat /etc/default/grub|egrep GRUB_CMDLINE_LINUX_DEFAULT
#GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt i915.enable_gvt=1 initcall_blacklist=sysfb_init"

其他说明: 中介设备【 Mediated Devices 】:vGPU, GVT-g。Intel核显的技术叫GVT-g, NVIDIA技术叫vGPU。

直通 Intel 核心显卡需要使用 VFIO 驱动程序,并且需要在虚拟机中正确配置,如果需要Intel 核显直通虚拟机

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt i915.enable_gvt=1"

相关解释:

  1. iommu=pt:启用 Intel VT-d 或 AMD-Vi 的 IOMMU。这是一种硬件功能,用于管理设备对系统内存的访问。在虚拟化环境中,启用 IOMMU 后,可以将物理设备直通到虚拟机中,以便虚拟机可以直接访问硬件设备。
  2. initcall_blacklist=sysfb_init:禁用 sysfb_init 内核初始化函数。这个函数通常用于在内核启动过程中初始化系统帧缓冲。在使用 GPU 直通的情况下,这个函数可能会干扰直通操作,因此需要禁用它。
  3. i915.enable_gvt=1:启用 Intel GVT-g 虚拟 GPU 技术。这个选项用于创建一个虚拟的 Intel GPU 设备,以便多个虚拟机可以共享物理 GPU 设备。启用 GVT-g 需要在支持虚拟 GPU 的 Intel CPU 和主板上运行,并且需要正确配置内核和虚拟机。想开启GVT-g的就添加这条,显卡直通的就不要添加了。
  • 添加内核模块
cp -v  /etc/modules{,-back0}
root@pve:~# cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
kvmgt

原理说明:

1、PCIe直通启用vfio vfio_iommu_type1 vfio_pci vfio_virqfd

2、vGPU和GVT-g需再添加kvmgt

重启 reboot , 之后检查

dmesg | grep -e DMAR -e IOMMU -e AMD-Vi

proxmox pve 7.4 显卡直通_直通


find /sys/kernel/iommu_groups/ -type l

查找系统中的 IOMMU 组符号链接,并查看每个 IOMMU 组包含哪些设备

proxmox pve 7.4 显卡直通_直通_02

root@pve:~# dmesg | grep remapping
[    0.469964] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    0.470814] DMAR-IR: Enabled IRQ remapping in x2apic mode

IRQ remapping 是一种硬件功能,用于在虚拟化环境中管理设备中断的路由。

在虚拟化环境中,多个虚拟机可能会共享同一个物理设备,这意味着多个虚拟机可能会请求使用同一个中断线。如果没有中断路由管理,可能会导致中断冲突和错误,从而影响系统的稳定性和可靠性。IRQ remapping 可以解决这个问题,它可以动态地将中断路由到正确的虚拟机中。

在上面的 dmesg 输出中,DMAR-IR 是与 Interrupt Remapping 相关的一个内核模块。Queued invalidation will be enabled to support x2apic and Intr-remapping 表示将启用队列化失效 (queued invalidation) 来支持 x2APIC 和 Interrupt Remapping。Enabled IRQ remapping in x2apic mode 表示在 x2APIC 模式下启用了 IRQ remapping。

总之,这些消息表明系统已经启用了 IRQ remapping 和相关的硬件支持,以便在虚拟化环境中管理中断路由,并提高系统的稳定性和可靠性。

屏蔽驱动
cat /etc/modprobe.d/pve-blacklist.conf
# This file contains a list of modules which are not supported by Proxmox VE                          2
# nidiafb see bugreport https://bugzilla.proxmox.com/show_bug.cgi?id=701

# Nvidia
blacklist nvidiafb
blacklist nouveau
blacklist nvidia

# AMD
blacklist amdgpu
blacklist radeon

# Intel UHD
blacklist snd_hda_codec_hdmi
blacklist snd_hda_intel
blacklist snd_hda_codec
blacklist snd_hda_core

options nouveau modeset=0

是NVIDIA的显卡,还需要执行

echo 'options kvm ignore_msrs=1 report_ignored_msrs=0' > /etc/modprobe.d/kvm.conf 

proxmox pve 7.4 显卡直通_PCIE_03

root@pve:~# lspci -knn | grep -i -A 2 vga
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:2504] (rev a1)
        Subsystem: ASUSTeK Computer Inc. Device [1043:88d6]
        Kernel driver in use: vfio-pci

root@pve:~# lspci -n -s 01:00
01:00.0 0300: 10de:2504 (rev a1)
01:00.1 0403: 10de:228e (rev a1)

cat /etc/modprobe.d/vfio.conf
options vfio-pci ids=10de:2504,10de:228e
# 一个是nvidia的vga,一个是声音audio
# 重启

proxmox pve 7.4 显卡直通_PCIE_04

机型一定要选择q35, 如果不是,后期再调整为q35会启动失败,踩坑小半天

最后,windows驱动下载: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.229-1/virtio-win-0.1.229.iso

proxmox pve 7.4 显卡直通_虚拟化_05                     proxmox pve 7.4 显卡直通_直通_06


标签:vfio,Intel,iommu,blacklist,pve,7.4,显卡,remapping,虚拟机
From: https://blog.51cto.com/first01/6538381

相关文章

  • proxmox Virtual Environment 7.4-3 安装记录
    diskutillist卸载所有分区diskutilunmountDisk/dev/diskX删除U盘中的所有分区sudodiskutileraseDiskfreeSPACE/dev/diskX删除U盘分区,dd写入proxmox到U盘sudoddif=./proxmox-ve_7.4.1.isoof=/dev/disk3bs=1M主机开机按F11选择U盘启动,正常输入ip,netmask,gatewa......
  • pve换国内源
    大部分可以参考清华源的帮助说明:proxmox|镜像站使用帮助|清华大学开源软件镜像站|TsinghuaOpenSourceMirror但是有一个问题,很多教程没有说明白,我们大多数人只是使用pve的免费版,而没有买企业订阅,但是pve默认加了一个企业订阅源的文件,如果不注释掉它,每次更新都会报......
  • Archlinux安装OSX-KVM(无显卡直通)
    0.前期准备qemu虚拟机安装(可以参考Archwiki,或者是我的其他教程)OSX-KVM项目文件下载(这个项目支持macos10-13)https://github.com/kholia/OSX-KVMMacOS的iso镜像(我使用的是macos12Monterey)https://sysin.org1.磁盘文件创建在/var/lib/libvirt/images/创建qcow2磁盘文件,名为......
  • Nvidia 3060显卡 CUDA环境搭建(Ubuntu22.04+Nvidia 510+Cuda11.6+cudnn8.8)
    写在前面工作中遇到,简单整理理解不足小伙伴帮忙指正对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧——赫尔曼·黑塞《德米安》当前系统环境系统环境┌......
  • 联想小新pro16 ubuntu18.04双系统、显卡驱动配置
    双系统安装注意了,所有的步骤都要按照这个链接来,跳过一步可能就出错了Ubuntu18.04安装教程每一步都有、多图卸载ubuntu方法一旦出错,先去计算机磁盘管理里面把ubuntu相关的区都给删掉,下面这个图不太清楚,主要就是上个链接中的四个区都格式化。然后,按照这个教程的第三步删除开......
  • PVE (Proxmox Virtual Environment) 7.4-3网络配置
    简要记录下自己折腾两天的成果,以便后来人使用。顺便吐槽下,网上的教程五花八门,感觉就是说不到点上,我来试着解释清楚每一步需要做什么方便大家理解。基础环境介绍公司给配置了一台个人用的台式机,接入公司网络,由于公司网络限制,只分配了一个公司内网地址(假设这个地址是101.101.101.1......
  • CentOS yum升级MySQL 5.6到5.7.42
    注意:升级前一定要做好备份升级前请将mysql5.6小版本升级到最高升级时可将my.cnf配置文件备份,保留最基本的配置,避免因配置问题造成异常,升级完成后在逐步还原安装mysql5.7yum源如果之前已经安装了5.6的yum源,需要先卸载后在安装rpm-Uvhhttps://dev.mysql.com/get/mysql......
  • Centos 7.4+ 通过anaconda 安装Python3.10
    做记录,在centos里安装3.10版本时,老是报错ssl。或者一些其他问题,做个记录吧。大概用了2天才弄好,主业不是运维所以不太了解在https://www.anaconda.com/官网下载安装,此处自己根据系统、根据版本,自己安装下载地址:https://www.anaconda.com/download#downloads安装好后condai......
  • [转]Proxmox VE pve添加已有的硬盘为存储
    作者:佛西链接:https://foxi.buduanwang.vip/virtualization/pve/2736.html/思路:1.建一个目录,然后将已有分区mount挂载到目录,如果是windows的ntfs分区,则需要先安装ntfs-3g2.到pve网页管理界面,点击左侧根节点"数据中心"-右侧点击"存储"-再点击右侧"添加"按钮-目录-id项随便自......
  • 显卡,CPU,GPU和CUDA的关系与区别
    (1)显卡:显卡全称显示接口卡,又称显示适配器,是计算机最基本配置、最重要的配件之一。就像电脑联网需要网卡,主机里的数据要显示在屏幕上就需要显卡。因此,显卡是电脑进行数模信号转换的设备,承担输出显示图形的任务。具体来说,显卡接在电脑主板上,它将电脑的数字信号转换成模拟信号让显示器......