※ 引述《MACROSS2K (MACROSS2K)》之铭言:
: 由于proxmox不是NVIDIA支援项目,所以我猜proxmox是设计成直接读取
: 给其他hypervisor用的驱动程式,例如VMware ESXi
: 但因为可能有license锁,所以可能要花时间去改动一些细节才能
: 让proxmox利用
这边多解释一下好了,虽然说推文内也有人提到部分
Proxmox基本上底层的Hypervisor即是Linux KVM,这部分NVIDIA目前也已经支援了
大约是2020还2021年的时候开放的,且一样需要授权才可以使用
而且记得没错还需要在在自家架一个授权管理服务器
而在KVM的实现方式,基本上跟NVIDIA原本差不多
就是利用Linux Kernel内的Mediated device这个driver(简称mdev)
并且配合VFIO (KVM主流的GPU passthrough用driver)来达成
简单来说,NVIDIA驱动会先根据使用者想要的vGPU规格,生成几个vGPU后
由mdev统一纳管,再透过VFIO把这些vGPU给挂载进去,就是这么简单
因为两者之间是可以直接连动的,所以不需要把vGPU的VID:PID先写在开机参数内
就可以做到单卡生成多个vGPU,并passthrough给多个VM使用
关于这个还有几个题外话
1. mdev同时也支援Intel的vGPU,称为GVT-g
但目前还不支援ARC的GPU,就算有估计也是从ARC PRO支援起
2. NVIDIA开放KVM也能使用NVIDIA vGPU功能后没多久,也移除了自己家的驱动对于
在KVM上做passthrough的限制,记得是2021年的事情
否则过去要passthrough N卡需要做不少设定
3. 其实在NVIDIA宣布vGPU全面开放支援KVM之前,早就可以在KVM上面使用vGPU了(2016年)
只是那时候是RedHat独占,必须要购买RHEL才可以用