Jump to content

NVME Passthrough


mikeyosm

Recommended Posts

Read post #23 here.  http://lime-technology.com/forum/index.php?topic=43924.msg436930#msg436930  Explains pretty clearly what you need to do.  NVME drives aren't supported natively in unraid yet (though its apparently being worked on) so you need to do everything manually.  Took me about five minutes and it's so far 100% reliable.

 

Essentially you'll be creating a mountpoint in /mnt, mounting the NVME drive to it yourself, then formatting it.  You'll need a line in your go script to mount it on reboots.  The drive won't be shared but you can create your VM image there just fine, and the speeds are incredible.

Link to comment

Read post #23 here.  http://lime-technology.com/forum/index.php?topic=43924.msg436930#msg436930  Explains pretty clearly what you need to do.  NVME drives aren't supported natively in unraid yet (though its apparently being worked on) so you need to do everything manually.  Took me about five minutes and it's so far 100% reliable.

 

Essentially you'll be creating a mountpoint in /mnt, mounting the NVME drive to it yourself, then formatting it.  You'll need a line in your go script to mount it on reboots.  The drive won't be shared but you can create your VM image there just fine, and the speeds are incredible.

 

this talks about using the nvme drive in unraid for vms etc. I want to passthrough the controller so that the VM boots off it directly.

Link to comment
  • 2 months later...

this talks about using the nvme drive in unraid for vms etc. I want to passthrough the controller so that the VM boots off it directly.

 

hey mike.  i had the same idea.  did you ever get this working consistently?

 

regards.

 

yes, my 950 pro passes through without any issue. You have to use OVMF BIOS and UEFI install of Windows 10 and make sure boot order is correct in XML.

Link to comment

this talks about using the nvme drive in unraid for vms etc. I want to passthrough the controller so that the VM boots off it directly.

 

hey mike.  i had the same idea.  did you ever get this working consistently?

 

regards.

 

can you share the xml on how you set the boot priority on the passed through controller? I tried and failed with this a long while ago...

 

yes, my 950 pro passes through without any issue. You have to use OVMF BIOS and UEFI install of Windows 10 and make sure boot order is correct in XML.

Link to comment

billington.mark would you mind telling me what's the performance of your NVME SSD? (bare-metal vs virtio vs passthrough, if you happen to have that data!)

 

thanks!

 

I dont have an NVME SSD, although i get quite poor performance compared to bare metal with my SSDs.... 4k reads and writes are terrible! we are talking <70% from bare metal. I have an old thread in the forum somewhere. I complain lots!

I use a windows VM primarily and there are some disk passthough options in libvirt that you cant use with windows because of driver limitations, so my next avenue was to try passing through a sata controller and seeing if that worked any better. I dont want to buy more hardware though unless i know its going to work! i dont have an onboard or add-on disk controller i can dedicate at the moment as the ports are used for my array disks.

Ive tested this before with my Dell H310 HBA. OS installations went fine, but couldnt get the VM to use it as a boot device.

 

 

Link to comment

argh! I wish we could get almost bare-metal performance. That would be absolutely amazing!. I've been reading through the forum and I think I found someone who claims to get it... but I'm a bit lost as the benchmarks in VMs are not offering realistic results

Link to comment

Here is a thought for you - that may not work.  Haven't tried it recently or in a VM but it worked for me up to Windows XP bare metal with two drives anyway.

 

 

Setup a virtual drive as the boot device - Drive C.

Pass through your H310 to the VM and pick a drive on it to be your installation drive - Drive D.

 

 

Now boot up the VM.  Most of Windows will be installed on the D drive except for bootmgr and maybe a few other files the rest of Windows would be on DriveD.

 

 

I'm curious if it is possible so I'm going to try it as an experiment.

 

 

Edit:  Don't think it is going to work.  Didn't for me on Windows 7 anyway.  So scratch that idea.

Link to comment
  • 2 weeks later...

I bought an iocrest card based on marvel 88SE9230 and tried to pass it through but it didn't work.  In fairness unraid errored when trying to initialize the ssd on that card and the card may have been defective.  I never could get the ssd on that card to show as an unassigned device let alone play with pci pass through.

 

I wasn't looking to pass through an entire sata controller to eek every bit of speed out of ssd.  i just don't like the idea of a virtual disk file if I can avoid them, especially since the .img files i was converting from .vmdk had to be fully "saturated" you don't even save space by using virtual disk files that can grow as needed.  I've had corrupted vms in the past.

 

In research I saw I could pass through the ssd as a block device and went that route.  I think that I could pull that ssd, put it in an external enclosure and read the data on it if i had to as its just a boring ntfs disk at the end of the day.  I suspect I could even boot it in safe mode and get it working on new hardware if I had to.  I like that flexibility.

 

To get it done I added:

    <disk type='block' device='disk'>

      <driver name='qemu' type='raw'/>

      <source dev='/dev/disk/by-id/ata-KINGSTON_SV300S37A240G_50026B7864000128'/>

      <backingStore/>

      <target dev='hdd' bus='virtio'/>

      <alias name='virtio-disk2'/>

    </disk>

to the vm xml in the unraid gui.

 

I used acronis trueimage to image the virtual disk file to the block ssd. 

When it was done I changed hdd above to hdc and rebooted and it worked flawlessly.

 

This windows 7 VM uses a 240gb ssd per above, has a graphics card passed through, a NIC passed through, a usb controller passed through with a desktop hub and usb audio device. 

 

--dimes

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...