I got confused about the system stack in last night’s talk by @Kangie on WSL so I asked perplexity.
In brief Xen and Hyper-V are type 1 hypervisors and KVM is s kernel module.
I got confused about the system stack in last night’s talk by @Kangie on WSL so I asked perplexity.
In brief Xen and Hyper-V are type 1 hypervisors and KVM is s kernel module.
Now you’ve set me off @zeeclor.
I’m using KVM on Fedora (everywhere) and wondered if i was using the “off brand” virtualisation.
ChatGPT reassured me…
Haha, you beat me to the punch @jdownie!
I was going to post that although the definition is a little blurry, I’d still consider KVM a Type 1 hypervisor as there is no hardware being emulated.
Happy to defer to others more knowledgable about it (or our LLM overlords, if there’s some decent sources attached), but as I understand the distinction, a Type 1 hypervisor is running on the hardware and not emulating hardware. ESXi/vSphere, Proxmox, Xen, XCP-ng, Hyper-V are all examples as they’re sitting directly on top of the hardware. I see that KVM falls into this category too, as the kernel module “converts” the host operating system into a hypervisor, and it’s still running on the underlying machine rather than emulating hardware itself.
Compare this with a Type 2 hypervisor, where the hypervisor is an executable emulating hardware on top of a host operating system. Parallels, VirtualBox, QEMU, and VMware Workstation are good examples of Type 2 hypervisors as they are executables running on a host OS that are themselves emulating hardware to allow another OS to run on top of the emulated hardware.
I appreciated the snippet about architecture in last night’s presentation by @kangie too, but like @kangie I couldn’t find anything clear in the MS documentation so far about where Hyper-V sits. Some documentation states that it’s a subset of Hyper-V called “Virtual Machine Platform”. That terminology and the availability of WSL on Windows Home SKUs (where Hyper-V is not available) makes me wonder whether WSL is siting in a VM “on top” of Windows rather than in Hyper-V “under” Windows? Agreed, @kangie - it’s not clear at all from the docs that I’ve found so far!
As an aside, I found this in the clean out pile the other day. VS2005 was Hyper-V’s predecessor and a Type 2 hypervisor that sat on top of Windows Server 2003 (and 2008). Can’t bring myself to get rid of it just yet - maybe I’ll get a HLB Retro Club going at some stage .
The way i’m thinking is; on a “true” type 1 hypervisor, the only processes that might be generating disk io (for instance) would be vm guests, whereas on KVM, processes on the host operating might also generate disk io which would compete with processes in guest VMs.
So, a KVM host could be said to be “approaching” type 1 to the extent that processes on the host OS are not making calls to the kernel?
Definitely down in the weeds on this one, but an interesting discussion! I agree the lines are blurrier for KVM being that it’s effectively turning one’s existing Linux install into a hypervisor, but I don’t think that this scenario makes it any less of a “true” type 1 hypervisor as KVM is still directly managing the underlying hardware.
Stepping back from the Linux environment for a hypothetical - Hyper-V on its own isn’t any more of a type 1 hypervisor than Windows Server Core running Hyper-V is… and Server Core + Hyper-V isn’t any more of a type 1 hypervisor than Windows Server with the Hyper-V role is… and Windows Server with Hyper-V role isn’t any more of a type 1 hypervisor than Windows Server with the Hyper-V role + Domain Controller + running Folding@home with all the CPUs and GPUs maxed out is…
Ultimately all of those scenarios are the same type 1 hypervisor architecture running on the bare metal hardware, regardless of what other stuff is running on the same machine, and despite any differences in how they’ll perform. Proxmox VE has a management web interface built in, and I don’t see that it makes any less of a “true” type 1 hypervisor than a Debian machine with nothing but the Linux kernel (with KVM included) on it, administered solely via the CLI. The KVM + extra processes example may be completely reasonable for a development or testing or homelab environment (perhaps a few prod environments too). I completely agree it might be less than ideal for some deployments due to that competition for IO/CPU/RAM etc. It’s still a type 1 hypervisor though - just in an environment optimised for a different goal (e.g., using less physical hardware vs. absolute virtualisation performance).
My 2c worth of splitting hairs - interested in others’ thoughts too!
Yeah, see what you started @zeeclor ?
Bonus points for that example @Belfry
Yeah, they all have their own stuff that trumps guest workloads, so…
<tongue_in_cheek>
Whether you’re in the drive through, at the counter or in the kitchen, if you’re there for a burger you’re demand on the kitchen?
</tongue_in_cheek>