在用proxmox加云终端盒子测试完桌面虚拟机以后,看到某qq群有人问能不能虚拟化gpu,用来做3D设计。正好闲置的台式电脑有amd R9 290X及R9 390X两块显卡,由于挖矿太耗电,已经放弃挖矿(挖以太币)。计划用此台式机,安装proxmox,做好设置并安装好虚拟机,并把宿主机的gpu资源透传给此虚拟机。如果透传正确,最起码能在虚拟机识别AMD显卡。按照这个思路,回到家马上开干。--猛戳此处有惊喜!!!
◎宿主机上的操作
安装proxmox之前,需要确保cpu开启虚拟化支持,这个操作在bios里边完成,请按主板的说明书进行操作,一般不会有什么障碍。接下来,用u盘安装proxmox,我用的主板有点奇葩,需要对引导“BOOT”下的“安全”做更改,默认是windows,改成“其它操作系统”,否则一直无法用u盘引导及安装。
在安装过程中,设置好proxmox的ip地址及账号密码,能用浏览器登录并进行后台管理。以ssh登录系统,修改文件/etc/apt/sources.list.d/pve-enterprise.list ,把唯一的哪行内容注释掉(不注释的话,web界面登录进行管理时会提示软件更新失败,毕竟咱没花钱订阅)。执行命令”apt-get update && apt-get upgrade”,有利于随时对软件包进行更新。
由于gpu虚拟化还未能在proxmox的web管理界面提供支持,因此,要启用这个功能,得登录proxmox所在宿主机的系统debian,进行如下操作:
○修改grub(与centos稍有差异)。编辑文件/etc/default/grub,修改行“GRUB_CMDLINE_LINUX_DEFAULT="quiet",使其为“GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" 。执行指令“update-grub” 使修改生效。root@pve55:~# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.17-1-pve
Found initrd image: /boot/initrd.img-4.15.17-1-pve
Found memtest86+ image: /boot/memtest86+.bin
Found memtest86+ multiboot image: /boot/memtest86+_multiboot.bin
Adding boot menu entry for EFI firmware configuration
done
为检验其效果,用一下指令验证其有效性。root@pve55:~# dmesg | grep -e DMAR -e IOMMU
[ 0.000000] ACPI: DMAR 0x00000000C88CAD70 0000B8 (v01 INTEL HSW 00000001 INTL 00000001)
[ 0.000000] DMAR: Host address width 39
[ 0.000000] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[ 0.000000] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap c0000020660462