Xen,QEMU和KVM之间有什么区别?

Xor*_*rax 54 xen virtualization kvm qemu

我知道Xen使用QEMU,而KVM是QEMU的分支.

那么,KVM包括Xen增加到QEMU?是什么名字 ?

谢谢

小智 56

QEMU是一个功能强大的模拟器,这意味着它可以模拟各种处理器类型.

Xen将QEMU用于HVM来宾,更具体地说是HVM来宾的设备模型.特定于Xen的QEMU称为qemu-dm(QEMU设备型号的缩写)

QEMU使用仿真; KVM使用处理器扩展(HVM)进行虚拟化.

Xen和KVM都其各种功能合并到上游QEMU,这样上游QEMU可以直接用于完成Xen设备模型仿真等.

Xen的独特之处在于它具有不需要硬件虚拟化的半虚拟客户端.

Xen和KVM都具有可以在HVM来宾之上运行的半虚拟化设备驱动程序.

  • 为了补充答案,KVM还通过paravirt-ops界面支持半虚拟客户端.paravirt-ops已经在Linux上工作了六年多.支持paravirt-ops的内核既可以在裸机上运行,​​也可以通过硬件虚拟化支持或通过半虚拟化运行 (3认同)

pum*_*cat 42

以上答案是深入的,技术性的.我试着用简单的外行人的话说.

Qemu是一个模拟器,可以使用或不使用KVM,它是一个加速器(Linux内核模块,它允许客户指令直接在主机CPU上运行),这使得Qemu + KVM成为一个更快的解决方案,不像Qemu + TCG的慢速替代品.

Xen是一种裸机虚拟机管理程序,具有不同的模式(虚拟化类型).顺便说一句,裸机是一个误导性术语.所有虚拟机管理程序Type-II /托管或Type-I /裸机都需要底层操作系统.因此裸机也有一层非常薄的裸最小操作系统,管理程序在其上运行.

Xen PV或半虚拟化 - 无需硬件仿真,客户端内核已修改,以便guest虚拟机可以检测/运行基础Xen虚拟机管理程序.

Xen HVM或完全虚拟化 - 硬件仿真是必需的,仅在支持虚拟化Intel-VT等的CPU上实现,修改后的Qemu用于硬件仿真(磁盘,网络,USB控制器等),客户内核不被修改.

通常,模拟虚拟化(完整)比修改后的内核虚拟化(para)慢.通过在客户内核中安装专用驱动程序(PV驱动程序),可以提高完全虚拟化客户机的性能.

  • 我喜欢这个简单的答案,但它没有解释Xen是什么 (5认同)
  • 这个答案有几个错误。首先,qemu 不是虚拟机管理程序。它可以与 Xen 或 KVM 虚拟机管理程序一起使用,也可以在没有虚拟机管理程序的情况下作为纯模拟器使用。 (2认同)
  • 其次,裸机虚拟机管理程序并不需要底层操作系统。有些在来宾中使用操作系统,有些则根本不需要操作系统。 (2认同)