虚拟化技术的选择

Mon 04 August 2014

虚拟化技术的选择

目前大家接触到的主流虚拟化方案有:VMWare的esx(不管它之前叫什么,现在又叫什么),基于Linux的XEN,KVM,基于Windows的Hyper-V。琳琅满目,怎么选择呢?

首先在不缺钱的情况下,优先选择商业的解决方案,在商业解决方案里面,优先选择VMWare。因为VMWare的实力摆在哪里,而且提供的API接口和Sample足以支持你进行符合你需求的管理开发。Esx方案是对硬件有一定的要求,主要是驱动,不过网络上已经有订制工具可以给安装iso增加网卡驱动,raid的驱动能不能加就不太清楚。

XEN是KVM之前基于Linux的主流虚拟化方案,它和KVM相似的地方都是基于Linux,都可以使用libvirt进行管理,都使用qemu的部分技术。现在的阿里云应该就是就要XEN实现的。如果现在你在XEN和KVM直接选择的话,我不推荐你使用XEN。因为Linux现在主推KVM,除非你使用XENServer类的商业XEN方案。在体验XEN的时候还遇到诡异的问题,virsh获取的VM的状态飘忽不定,我果断中止了对XEN的探索,把有限的技术拿去学习更靠谱的技术。

KVM是目前Linux内核支持的虚拟化方案,你不想要专门去定制一个内核。和XEN相比,XEN的host算一个VM,而KVM的host就是host。libvirt对两者都有支持,都可以使用virsh来管理。都使用了qemu技术,但区别很明显XEN是半虚拟化方案,而KVM既支持半虚拟化也支持全虚拟化。KVM的优势很明显,在使用全虚拟化的时候,可以在I/O部分使用半虚拟化驱动来提供I/O性能。

就目前而言KVM的资料应该比XEN更容易找到,如果要学习,就学习KVM吧。

Category: Linux Tagged: Linux KVM XEN esx

Comments