OpenVZ、KVM和Xen的对比

本文参考了Lowendbox的文章,在此基础上,根据自己的经验和理解,稍作了修改。虚拟化是一门很复杂的技术,这只是一篇笼统的关于三种虚拟化方式的对比,给大家这选择虚拟机的时候做参考使用。

KVM

官网:https://www.linux-kvm.org/page/Main_Page

KVM是一种完全的虚拟化技术,各个虚拟机之间完全独立,独立的内核、CPU和内存资源。虚拟机可以运行Linux、Windows和BSD系统,KVM支持从ISO文件或者镜像模板安装系统。在安装virtio驱动的情况下,几乎可以达到物理主机原来的性能。根据实验了解,KVM虚拟化之后,大概只损失物理主机3%的性能。

KVM虚拟化下,虽然各个虚拟机是完全独立的,但是共用IO,如果某一台虚拟机消耗了大量的IO资源,还是会对其他虚拟机或者母机造成一定的性能影响的。

通过简单的操作(memory ballooning技术),KVM可以进行内存超售,比如一台32G的物理主机,可以划成40台1G内存的虚拟机,但一般但虚拟机提供商不会这样做,因为会导致性能问题。

KVM的优势就是较好的性能和虚拟机之间的独立带来的稳定性。

Xen

官网:https://xenproject.org/

Xen虚拟化有两种类型,分别是Xen PV和Xen HVM。Xen PV只支持Linux系统(也可以使用BSD操作系统,但是不多);Xen HVM运行的方式和KVM比较像,可以运行Windows和BSD系统,但是性能不及KVM好。Xen不支持从ISO文件安装系统。

Xen虚拟机之间的内核、内存和CPU资源也是相互独立的,有较好的独立性和稳定性。

Xen也支持memory ballooning技术,所以理论上也是可以内存超售的。

Xen的优势就是较好的性能和稳定性。但是目前使用的越来越少,很多虚拟机提供商转移到KVM技术上去了。

OpenVZ

官网:https://openvz.org/

OpenVZ是内核虚拟化技术,所有的虚拟机共用内核,所以虚拟机用户不能修改内核,每个虚拟机类似一个程序。这样带来的好处是能够快速部署,跟KVM和Xen对比,可以减少虚拟化带来的性能损失,有更好的效率。

OpenVZ虚拟机之间的内存、CPU是不独立的,所以超售情况很普遍,当然,价格也比KVM的要低。现在的绝大部分虚拟机提供商除了使用KVM技术,就是使用OpenVZ技术了。

OpenVZ只支持Linux。

OpenVZ的优势是价格便宜,但是性能得不到保证。

扩展阅读:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>