KVM 是类型 1 还是类型 2 虚拟机管理程序?
我知道类型 1 虚拟机管理程序在裸机上运行,而类型 2 虚拟机管理程序则是在操作系统上运行的应用程序(例如 VMware Workstation)。我还知道类型 1 和类型 2 客户端之间的性能差异可能很大。
我很困惑,KVM 是类型 1 还是类型 2,因为我知道桌面环境可以安装在 dom0 中。
答案1
KVM 不是一个明确的例子,因为它可以归类为其中任何一种。KVM 内核模块将 Linux 内核转变为类型 1 裸机虚拟机管理程序,而整个系统可以归类为类型 2,因为主机操作系统仍然完全正常运行,而从其角度来看,其他 VM 是标准 Linux 进程。
桌面环境,即 GUI 与此关系不大。如果我们将其与 Hyper-V 进行比较,就会更加清楚,其中虚拟机管理程序是所有虚拟机下方的一个独特层:即使 dom0 在技术上也只是众多虚拟机中的一个,尽管它具有特殊权限并且它是控制台中显示的虚拟机,具有 GUI。因此,如果我们过于关注外观,Hyper-V 可能看起来像类型 2,而它纯粹是类型 1。
答案2
如果 Hyper-V 是类型 1,那么 KVM 也是类型 1。KVM 中的操作系统不会模拟任何硬件服务。坦率地说,整个类型 1 与类型 2 的术语已经过时,应该淘汰,因为几乎所有现代虚拟机管理程序都依赖于硬件辅助虚拟化,而客户机的运行速度接近裸机。