PCI troughput without i7 4770k

mirno

New Member
May 31, 2020
4
0
1
29
Hi all,

I' am virtualizing my old gaming PC with an overclocked i7 + 3x3TB, 2x4TB, Radeon 7970 (R9 280 flash) + RX 480.

As known the i7 4770k does not support vt-d :(
So issue's occur when I try to add these controllers/GPU's etc.

My Motherboard contains 2 disk controllers (Asmedia + default) however I can not set these ofcourse, because the IOMMU groups can not be created due the lack op vt-d.
Luckily ZFS can use Software RAID, and I can add those using CLI without the need adding the whole controller.

However the issue mainly lays with the GPU (first test with 1 of the GPU's). I was hoping VirtIO did have some paravirtualization properties to pass the GPU on to the VM, but this was without success.

I'am not too aware of the technical details of IOMMU, so if any has some explanations for better understanding, I would like to hear.

Are there any other ways to pass on the GPU's to the VM?
I mainly work from my laptop, and would like to have the ability to game using RDP for example.
Also for development with Python I want to use these GPU's.

And last for mining purposes, the RX 480 for example only boots in Linux .... (But that's winter material)
 
Virtio allows for some limited gpu acceleration. But it will be far from pcie passtrough performance wise.

Your hardware wont be able to handle the virtualization overhead and run modern games.

RDP is also a really bad protocol for gaming.
 
Hmm, damn.
True, for gaming Steam or Remotr would be best, but gaming and virtualization is not the best combination.

Too bad I cannot attach those GPU's to my VM's for all mentioned purposes.

I assume the same thing counts for both disk controllers (Asmedia + chipset default) which also need the pcie passtrough...
 
Another question suddenly comes up to my mind...
For now, I did attack some of my hard disks manually to my Windows VM (There was still some data on it) using the GUI this was not possible.

Seems to be working fine, but no final solution ofcourse, simply necessary before migrating data to the virtualized NAS.

However I created a ZFS partition on my SSD. isn't it necessary for ZFS to passtrough thew storage controller ? I' am not sure if this has some technical implications where I cannot add my storage controller, but I actually can create the ZFS partition on the disk directly... ZFS was supposed to access the RAW-disk. Is this actually happening without the controllers pcie passtrough?

Last thing which concerns me, is that I passed the raw disk (SATA) to the FreeNAS VM, which is now seen as QEMU disk (not raw disk)...
Using proxmox I'am able to directly create an ZFS partition on the disk. However FreeNAS could do the same thing, but it's inefficient to place ZFS on a "virtualized" (raw) disk... if that's even possible.

Would I be able to create a ZFS pool/partition in Proxmox, and later pass this to the FreeNAS VM? (likely not)

I honestly don't think this idea will work out when explaining. I'am simply missing a crucial functionality in this build: vt-d!

If someone has a great idea for the time being, please let me know! :D
 
Another question suddenly comes up to my mind...
For now, I did attack some of my hard disks manually to my Windows VM (There was still some data on it) using the GUI this was not possible.

Seems to be working fine, but no final solution ofcourse, simply necessary before migrating data to the virtualized NAS.

However I created a ZFS partition on my SSD. isn't it necessary for ZFS to passtrough thew storage controller ? I' am not sure if this has some technical implications where I cannot add my storage controller, but I actually can create the ZFS partition on the disk directly... ZFS was supposed to access the RAW-disk. Is this actually happening without the controllers pcie passtrough?

Last thing which concerns me, is that I passed the raw disk (SATA) to the FreeNAS VM, which is now seen as QEMU disk (not raw disk)...
Using proxmox I'am able to directly create an ZFS partition on the disk. However FreeNAS could do the same thing, but it's inefficient to place ZFS on a "virtualized" (raw) disk... if that's even possible.

Would I be able to create a ZFS pool/partition in Proxmox, and later pass this to the FreeNAS VM? (likely not)

I honestly don't think this idea will work out when explaining. I'am simply missing a crucial functionality in this build: vt-d!

If someone has a great idea for the time being, please let me know! :D

Yes setup storage on hypervisor not within vm but it depends, for freenas either is ok.

Your hypervisor storage also should always be backed by raid. Software raid via zfs or via hardware raid controller.



CPU / RAM / Disks / Network etc. are virtualized with 99% raw performance.

You dont have to pass them to the vm therefore, they will be emulated instead.

But pci devices like gpu's cant be emulated with full performance.

They need to be passed to the vm via iommu which is only supported with vt-d, which your cpu doesnt have.
 
Yeah, I figured.
This also means I cannot visualize my disk controller...
I was able to attach the Hard Disk to FreeNAS. However this is seen as a QEMU disk, so that one should virtualized.
I read that the ZFS filesystem should be created on a RAW disk, not a QEMU virtualized. So to make it work properly I need to pass thisstorage controller :( which cannot be done without vt-d.

(I was thinking of creating a ZFS pool with the disk using Proxmox, however this diskpool is not the same as a RAW disk, I'am not sure what happens if I attach the ZFS disk, created from Proxmox to the FreeNAS, any idea, just curious?
-- This can only be done using CLI
>
qm set 101 -sata1 /dev/disk/by-id/ata-ST3000DM001-1CH166_Z1F41BLC

)


Also in my case, I will be adding and removing disks. So FreeNAS won't be the right choise compared to UnRaid for example. Or did some stuff changed over the past years, compared FreeNAS vs UnRaid
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!