再说xen 和 kvm

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了再说xen 和 kvm相关的知识,希望对你有一定的参考价值。

相关资料已经足够多了,网上其他的文章多数年代久远,谬误百出,本文希望尽力以正视听。


第一部分  Xen


xen是一个开源虚拟化软件,以超虚拟化起家,目前同时支持两种虚拟化技术,包括超虚拟化和裸金属虚拟化。


所谓超虚拟化,也叫半虚拟化,hypervisor尽可能的复用宿主机资源,避免虚拟化带来的损耗,所以性能比全虚拟化要好。


但是xen的半虚拟化必须对客户机操作系统进行修改,出于竞争关系,这通常被宣传kvm优越性的舆论认为是一个缺点。其实xen的半虚拟化可以近似看作是一种原始的容器技术,docker也需要对操作系统进行显性的修改,并没有人认为这是缺点,因为docker发明了配套的镜像和仓库。所以从现在看,需要对客户机操作系统进行修改,并不能算是xen半虚拟化的缺点。xen的半虚拟化真正的缺点是隔离不够彻底,不够安全。每次xen发生的重大漏洞,几乎都与半虚拟化有关。docker将容器发扬光大,也同样面临不够安全的问题。


所谓裸金属虚拟化,指hypervisor直接运行在硬件之上,调度硬件资源。而寄居架构的虚拟化则是操作系统嵌套,目前所有的桌面级虚拟化软件都是寄居架构。

通常认为,裸金属虚拟化性能和稳定要胜过寄居式虚拟化技术。因为裸金属虚拟化下的hypervisor更精简,专为虚拟化而生。实际上,在CPU性能普遍过剩的年代,xen全虚拟化与kvm的单实例性能不相上下,差距在5%以内,xen甚至因为架构原因在多实例情况下的稳定性上更有优势。


xen 的hypervisor管理程序被称为dom0,实际上一个特权虚拟机,负责调度底层的hypervisor和转发特权指令。其他普通虚拟机称为domU。微软的hyper-V技术跟xen架构高度相似,至今被认为是微软借与思杰技术合作而抄袭得来。


xen当时在整个虚拟化领域实力,虽然不及vmware和IBM,在企业虚拟化市场并不算成功,高峰时期份额在15%-20%左右,但凭借开源的优势,另辟蹊径开辟了vps以及稍后的云计算领域。早期的vps厂商、谷歌、亚马逊、阿里云等巨头都曾是xen大客户,都运行着数以百万计的实例,xen高峰时期的市场占有率在90%-95%。


xen 是开源虚拟化的先锋,起源很早,当时世界上开源虚拟化技术几乎没有,白茫茫一片,intel VT技术也远未普及。

于是xen自身实现了一整套虚拟化生态,包括指令模拟翻译,设备模拟,资源调度等等。随着技术的发展,开源界先后出现了qemu、libvirt等优秀工具后,xen没有及时调整,导致包袱越来越大,代码难以维护。每次xen漏洞爆发后,损失的不光是声誉,还有市场份额。


另外,思杰并不是一个很好的技术领导,总在商业化和开源之间摇摆,手中的王牌xen/xenserver以及cloudstack都被悉数败光,在红帽的强力宣传下,于是kvm 逐渐崛起,xen败局已定。


第二部分  kvm


kvm是Linux内核的一个模块,它把linux kernel当作是hypervisor,自己仅仅负责简单的任务,其代码也是十分精简。通常配合qemu、libvirt和virtio等工具使用,是近年来主流的虚拟化技术。


kvm是一种典型的寄居式的全虚拟化技术,得益于红帽的深厚的内核功底和领导能力,经过多年优化,目前是市场上性能最好也最被看好的虚拟化技术。kvm也顺势成称为openstack的首选hypervisor和一等公民。


与xen不同,kvm是专属linux的虚拟化技术,kvm虽然有寄居架构的劣势,但解耦的非常好,kvm负责核心部分,kernel负责硬件调度、qemu负责硬件模拟,libvirt负责网络、存储等。在非常简单灵活的同时,又能有针对性的优化,linux kernel又非常成熟健壮,所以整体稳定性和性能都非常好。


kvm的崛起离不开红帽的持续投资和身体力行的强力推荐,也有政治的成分,据称linus大神不喜欢xen运行在kernel之上,


kvm的缺点也非常明显,寄居架构不再多说,架构分散,细节对技术人员要求较高。管理工具都比较重型,对企业虚拟化不友好。


目前kvm的市场份额日新月异,尤其是在日益膨胀的云计算领域,谷歌、亚马逊、阿里等巨头纷纷转向kvm,超越取代xen是迟早的事情。


第三部分  vmware


vmware不多说,是最早的x86虚拟化厂商,是传统企业虚拟化领域的霸主。技术成熟稳定,非开源,性能较好,vmware vsphere是典型的裸金属虚拟化技术。


vmware成功之处在于起步早,产品体验好,深入人心,生态完善。爆款vmware workstation 是IT技术人桌面虚拟化首选,不会vmware都不好意思说自己是搞IT的。


vmware的缺点是免费产品阉割严重,商业授权昂贵,也不符合软件行业的开源趋势,并且随着云计算市场的膨胀,企业虚拟化市场逐渐萎缩


跟微软类似,vmware很可能会逐渐没落。不同之处在于,微软是个胖子,大力改革,可能在别处获得新生从而成功转型。而vmware专耕一处,转型可能性比较小。






以上是关于再说xen 和 kvm的主要内容,如果未能解决你的问题,请参考以下文章

KVM与XEN区别是啥

KVM与XEN虚拟化环境究竟有何不同

科普:KVM与XEN虚拟化环境究竟有何不同?

Xen,VMware ESXi,Hyper-V和KVM等虚拟化技术的原理解析

docker kvm xen那种利用率最低

Xen 和 KVM 下如何关闭 virbr0