A brief synopsis of KVM, HVM, and VFIO


jonp

Recommended Posts

Many thanks for this post. Very well explained!

Generally speaking, there isn't a ton of easy-to-digest information on the web about the KVM hypervisor, VFIO, and IOMMU, so I thought I'd write up a brief post on these technologies to educate those that are interested.

This is just so true!

IMHO, this is a general problem of linux stuff. >>Made by geeks for geeks<<

Of course, in the recent decades, many efforts have been made through the different distributions available  (Suse, RedHat, Ubuntu),

nevertheless this image is still present. /IMHO

 

Virtualization seems to be a nice option to provide computer access for a whole family

without the need of having multiple computers.

 

Could you please elaborate on the hardware needed to do so?

Ideally there is a HDMI connection to the location where KVM (keyboard, video, mouse) is installed (terminal).

In our case, and probably the most common installations, we have only CAT7 GBit-LAN.

I fear throughput for high resolution video (gaming) is insufficient via GBit LAN.

What options are available/recommended to connect those terminals in such a network and what

usecase can be covered (office? gaming?)

 

Perhaps you can write something similar to show how the average user can benefit from virtualization on the

unRAID server?

Link to comment
  • 2 months later...

Don't mean to revive an old topic. I setup an Ubuntu desktop as a VM. I have been using UltraVNC/VNCViewer to connect to it and performance has been really nice. During the template setup under "Graphics Card" I saw VNC and I also the physical graphics card that is in the server. So I'm clear, the only reason why I would select the physical graphics card would be to somehow access that VM from the unRaid box itself? When I de-select VNC can't connect to it via VNC. Boggles me a little bit.

Link to comment

 

Don't mean to revive an old topic. I setup an Ubuntu desktop as a VM. I have been using UltraVNC/VNCViewer to connect to it and performance has been really nice. During the template setup under "Graphics Card" I saw VNC and I also the physical graphics card that is in the server. So I'm clear, the only reason why I would select the physical graphics card would be to somehow access that VM from the unRaid box itself? When I de-select VNC can't connect to it via VNC. Boggles me a little bit.

 

If you selected a physical graphics and that graphics card was connected to a monitor and then you started the Ubuntu VM, the Ubuntu screen *should be* displayed on your monitor. It would be just like a normal desktop. You are correct that you could no longer access Ubuntu from vnc but you have a monitor displaying Ubuntu so you wouldn't need vnc. Hope that clears it up.

Link to comment

 

Don't mean to revive an old topic. I setup an Ubuntu desktop as a VM. I have been using UltraVNC/VNCViewer to connect to it and performance has been really nice. During the template setup under "Graphics Card" I saw VNC and I also the physical graphics card that is in the server. So I'm clear, the only reason why I would select the physical graphics card would be to somehow access that VM from the unRaid box itself? When I de-select VNC can't connect to it via VNC. Boggles me a little bit.

 

If you selected a physical graphics and that graphics card was connected to a monitor and then you started the Ubuntu VM, the Ubuntu screen *should be* displayed on your monitor. It would be just like a normal desktop. You are correct that you could no longer access Ubuntu from vnc but you have a monitor displaying Ubuntu so you wouldn't need vnc. Hope that clears it up.

 

A yes, clears up just what I was thinking. Is the current protocols limited to one display at a time? Example, if were to run multiple VM's graphics passthru. Even possible? Currently my unRaid server has a display connected since it was just built over the weekend. Most VM's I run will be using remotely and just SSH, but may as learn how it all works.

Thanks.

 

Link to comment

Yes its possible with the right motherboard/cpu. You need a dedicated gpu per vm you want to passthrough. You can't share the same gpu across multiple vms. Some motherboards may group the pciexpress slots together so passing just 1 gpu through instead of all in the group might be tricky.

Link to comment

 

 

Yes its possible with the right motherboard/cpu. You need a dedicated gpu per vm you want to passthrough. You can't share the same gpu across multiple vms.

 

Only replying to clarify on this as this isn't entirely true.  You need a dedicated GPU per concurrently running VM you wish to have. You can change what VM the GPU is assigned to, but a GPU can only be attached to one active VM at a time.  So if you have a GPU for OpenELEC as a VM, then shut down that VM, you can now start up another VM with that GPU assigned.

Link to comment
  • 9 months later...

 

Yes. You can use the tools in your link to create a VHD and then you would follow these steps: http://www.itfromallangles.com/2011/03/linux-kvm-migrating-hyper-v-vhd-images-to-kvm/ to convert it to a file that KVM could use.  Then you copy the file up to your unRAID server and mount the VM.  Another method would be to use some form of backup software (Acronis, Ghost, CloneZilla, etc) to make a backup and then you would configure your VM on unRAID and boot from recovery media for that backup software and just restore it into the VM environment you created.

Link to comment
  • itimpi unpinned this topic

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.