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

时间:2012-04-24 23:19:07

标签: virtualization qemu xen kvm

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

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

由于

2 个答案:

答案 0 :(得分:53)

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

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

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

Xen和KVM merge它们的各种功能都可以用于上游QEMU,这样上游QEMU可以直接用于完成Xen设备模型仿真等。

Xen的独特之处在于它拥有paravirtualized个不需要硬件虚拟化的访客。

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

答案 1 :(得分:37)

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

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

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

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

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

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