
Virtualization Explained - Docker - VMware - QEMU - Virtualbox - Chris Titus Tech
video description
Date: 2022-03-20
Comments and reviews: 10
WizardNumberNext
PCIe pass-through and GFX pass-through is NOT the same
you obviously need to PCIe pass-through GFX, but this is NOT sufficient at all. It won't work.
for GFX you need to setup its own root PCIe bridge and you need to provide VGA BIOS and all this and it still may fail without any good reason
I won't even mention FLR (Function Level Reset), if you do not have support for FLR outside of MB reset time, then you may kiss goodbye your GFX after one time use - you need full computer reset to get it back, sorry
You will have best luck with EFI GFX and UEFI BIOS (OVMF)
If you want GFX PassThrough, then this is basically starting point, unless you want to mess with it for hours, if not days
By the way PCIe pass-through may be of anything, really
I did USB (3.0, 2.0, 1.1 UHCI - I do not like Intel and VIA is not my favourite chipset maker), SAS (1, 2, 3, both HBAs and RAIDs), NVME, AHCI SATA - possibilities are endless
oh, and by the way it is NOT PCIe pass-through! NOT at all! It is PCI pass-through! You can pass-through Conventional PCI cards and even single devices, but there are much higher requirements and it is in general way much more complex!
I personally did full pass-through of Conventional USB 2.0 NEC card ,but it took a lot effort and I had to make sure it was in its own IOMMU group
You have to be able to pass all its resources via IOMMU and nothing can be left behind (this includes ports, memory mappings and Interrupts - you would be lucky, if it will work with MSI or better MSI-X, if no, then you may be out of luck)
reply
PCIe pass-through and GFX pass-through is NOT the same
you obviously need to PCIe pass-through GFX, but this is NOT sufficient at all. It won't work.
for GFX you need to setup its own root PCIe bridge and you need to provide VGA BIOS and all this and it still may fail without any good reason
I won't even mention FLR (Function Level Reset), if you do not have support for FLR outside of MB reset time, then you may kiss goodbye your GFX after one time use - you need full computer reset to get it back, sorry
You will have best luck with EFI GFX and UEFI BIOS (OVMF)
If you want GFX PassThrough, then this is basically starting point, unless you want to mess with it for hours, if not days
By the way PCIe pass-through may be of anything, really
I did USB (3.0, 2.0, 1.1 UHCI - I do not like Intel and VIA is not my favourite chipset maker), SAS (1, 2, 3, both HBAs and RAIDs), NVME, AHCI SATA - possibilities are endless
oh, and by the way it is NOT PCIe pass-through! NOT at all! It is PCI pass-through! You can pass-through Conventional PCI cards and even single devices, but there are much higher requirements and it is in general way much more complex!
I personally did full pass-through of Conventional USB 2.0 NEC card ,but it took a lot effort and I had to make sure it was in its own IOMMU group
You have to be able to pass all its resources via IOMMU and nothing can be left behind (this includes ports, memory mappings and Interrupts - you would be lucky, if it will work with MSI or better MSI-X, if no, then you may be out of luck)
reply
Robidu1973
You seem to have missed one major feature of Type 1 hypervisors (at least I can tell for Xen for sure), and that's paravirtualization.
Most of the time if you are running a VM, you have to access some sort of -hardware- to access certain aspects of your host (like network, disk images, etc.). However, these are usually emulated hardware and so cost processing time.
Xen, for example, provides for paravirtual interfaces that allow a guest to skip the emulation layer and directly gain access to the controller (aka. Domain-0). That one then directly handles any requests made by the guest and so significantly speeds up I/O.
As for Xen, you have PV drivers for networking and storage access so no emulation layer (and therefore no bottleneck) is needed there. There even are PV drivers for Windoze so if you install that on a Xen setup, you can get significantly better performance just by installing them on your OS. However, since Windoze by itself isn't PV capable, it cannot serve as a controller for Domain-0.
Also take that one step further, you have paravirtualized machines. They are usually faster than fullvirt VMs, but do require assistance from Domain-0 to handle any I/O since they don't provide any emulation layer.
reply
You seem to have missed one major feature of Type 1 hypervisors (at least I can tell for Xen for sure), and that's paravirtualization.
Most of the time if you are running a VM, you have to access some sort of -hardware- to access certain aspects of your host (like network, disk images, etc.). However, these are usually emulated hardware and so cost processing time.
Xen, for example, provides for paravirtual interfaces that allow a guest to skip the emulation layer and directly gain access to the controller (aka. Domain-0). That one then directly handles any requests made by the guest and so significantly speeds up I/O.
As for Xen, you have PV drivers for networking and storage access so no emulation layer (and therefore no bottleneck) is needed there. There even are PV drivers for Windoze so if you install that on a Xen setup, you can get significantly better performance just by installing them on your OS. However, since Windoze by itself isn't PV capable, it cannot serve as a controller for Domain-0.
Also take that one step further, you have paravirtualized machines. They are usually faster than fullvirt VMs, but do require assistance from Domain-0 to handle any I/O since they don't provide any emulation layer.
reply
axl
Isn't unraid qemu based?! I thought it was. I always said, unraid is a commercial product, but everything it does could be achieved manually if you know what you're doing.
Me personally, ever since I started playing with virtual machines I became interested in having nested machines. The one that you have in front of you, is not the one running on the actual machine. So video, sound and even wireless devices were passed through. I love the idea that when I reboot, I load a kernel and an initrd image (sort of like unraid, but made by me) which becomes a headless client in my network. But within a minute since boot, that headless client, boots other clients. other headless VM's. One for each required service. One for dhcp. One for apache. One for postfix. etc dont need to run the whole list. And then finally start a full fledged client, non-headless, with all the peripherals. I wanted this design for myself. I finally managed to get everything going last year... very happy with it.
reply
Isn't unraid qemu based?! I thought it was. I always said, unraid is a commercial product, but everything it does could be achieved manually if you know what you're doing.
Me personally, ever since I started playing with virtual machines I became interested in having nested machines. The one that you have in front of you, is not the one running on the actual machine. So video, sound and even wireless devices were passed through. I love the idea that when I reboot, I load a kernel and an initrd image (sort of like unraid, but made by me) which becomes a headless client in my network. But within a minute since boot, that headless client, boots other clients. other headless VM's. One for each required service. One for dhcp. One for apache. One for postfix. etc dont need to run the whole list. And then finally start a full fledged client, non-headless, with all the peripherals. I wanted this design for myself. I finally managed to get everything going last year... very happy with it.
reply
Bert
The difference between type 1 and type 2 hypervisors is more and more something of the past. Most original type 1 hypervisors are offering more and more standard OS facilities like ESXi-vSphere, even running containers. All type 2 hypervisors are tightly integrated into the OS kernel, offering the same performance than type-1 hypervisors, like Virtualbox (called type 2) and KVM (sometimes called type 1 and sometimes type 2). KVM explains perfectly, why the difference becomes more and more irrelevant. What about Proxmox, it runs on a headless server, it is KVM running in Debian and it also supports containers; is it type 1 or type 2?
The type 1 type 2 distinction was relevant in the Pentium IV times before say 2005 - 2008, when many type-2 hypervisors and kernels did not support the hardware virtualization, because it was missing or too new.
reply
The difference between type 1 and type 2 hypervisors is more and more something of the past. Most original type 1 hypervisors are offering more and more standard OS facilities like ESXi-vSphere, even running containers. All type 2 hypervisors are tightly integrated into the OS kernel, offering the same performance than type-1 hypervisors, like Virtualbox (called type 2) and KVM (sometimes called type 1 and sometimes type 2). KVM explains perfectly, why the difference becomes more and more irrelevant. What about Proxmox, it runs on a headless server, it is KVM running in Debian and it also supports containers; is it type 1 or type 2?
The type 1 type 2 distinction was relevant in the Pentium IV times before say 2005 - 2008, when many type-2 hypervisors and kernels did not support the hardware virtualization, because it was missing or too new.
reply
Dennis
I love your videos and watch many of them, but you really should take a look at Unraid again. I know this video isn't about Unraid, but your comment about it surprised me. You down play it's functionality and it deserves WAY more credit than you are giving it. It's way more powerful than you give it credit for. Unraid's foremost feature is a NAS and it does that extremely well with data redundancy via parity drives and easy to increase disk capacity with ease unlike traditional raid. It goes way beyond that. It runs docker containers, virtual machines, and has a very powerful web user interface for managing all aspects of the system. I personally use it and love it. Maybe you should do a comparison video on Unraid, FreeNas, Synology, and others; I've ran all 3 named nas and Unraid blows them all away. Checkout out SpaceInvader One's videos.
reply
I love your videos and watch many of them, but you really should take a look at Unraid again. I know this video isn't about Unraid, but your comment about it surprised me. You down play it's functionality and it deserves WAY more credit than you are giving it. It's way more powerful than you give it credit for. Unraid's foremost feature is a NAS and it does that extremely well with data redundancy via parity drives and easy to increase disk capacity with ease unlike traditional raid. It goes way beyond that. It runs docker containers, virtual machines, and has a very powerful web user interface for managing all aspects of the system. I personally use it and love it. Maybe you should do a comparison video on Unraid, FreeNas, Synology, and others; I've ran all 3 named nas and Unraid blows them all away. Checkout out SpaceInvader One's videos.
reply
WizardNumberNext
you are mixing terminology
no matter what you will do, if hardware is not damaged in any way and is installed in computer, which you use Kernel will see hardware
no amount of blacklisting (actually either device location or device identification in driver or driver itself) will ever make kernel blind - it will see this device
not binding driver to device is completely different from not detecting device
once again no amount of blacklisting will make kernel blind or force kernel to not detect device
that is reason why it is sometimes quite hard to get device free of driver. it is a race and you either are successful at getting there first or not
reply
you are mixing terminology
no matter what you will do, if hardware is not damaged in any way and is installed in computer, which you use Kernel will see hardware
no amount of blacklisting (actually either device location or device identification in driver or driver itself) will ever make kernel blind - it will see this device
not binding driver to device is completely different from not detecting device
once again no amount of blacklisting will make kernel blind or force kernel to not detect device
that is reason why it is sometimes quite hard to get device free of driver. it is a race and you either are successful at getting there first or not
reply
Yoram
Got back to this video as I was looking for a way to use published app (like in Xen App) without the fat bill :)
So I was wondering... I know Linux published apps is easy ... but what about Windows published apps on linux?
I encountered two products that are capable of the task but they are not really free
1. TSplus
2. Winflector
Do you know of other? Maybe some open source projects for this?
reply
Got back to this video as I was looking for a way to use published app (like in Xen App) without the fat bill :)
So I was wondering... I know Linux published apps is easy ... but what about Windows published apps on linux?
I encountered two products that are capable of the task but they are not really free
1. TSplus
2. Winflector
Do you know of other? Maybe some open source projects for this?
reply
Roberto
Great explanations about Type 1 and Type 2 Hypervisors. One thing I noticed is that you forgot to explain or talk a little bit about Proxmox. I have a doubt, is Virt-Manager with QEMU/KVM Type1 Hypervisor? Cheers from Honduras.
reply
Great explanations about Type 1 and Type 2 Hypervisors. One thing I noticed is that you forgot to explain or talk a little bit about Proxmox. I have a doubt, is Virt-Manager with QEMU/KVM Type1 Hypervisor? Cheers from Honduras.
reply
david
thanks for the pointers. trying to learn virtualbox but need to setup a machine first. I want Linux to host and windows guest. But idk, but this video helps with the terminology and what virtualization is .
reply
thanks for the pointers. trying to learn virtualbox but need to setup a machine first. I want Linux to host and windows guest. But idk, but this video helps with the terminology and what virtualization is .
reply
Not
Is there any nas that can run things virtualized like normally need 2 servers for a thingy like network boot but then you just run 2 virtual machine servers instead to do that on one single machine ?
reply
Is there any nas that can run things virtualized like normally need 2 servers for a thingy like network boot but then you just run 2 virtual machine servers instead to do that on one single machine ?
reply
Add a review, comment
Other channel videos















