前言
VMware(ESXi)、KVM和Hyper-V是三种常用的虚拟化方案,目前我们在切换到Zkeys管理系统的时候面临这三种虚拟化方案的选择。我们以前一直是使用的KVM,这次的产品主要是高性能计算业务,因此产品的性能损耗是首先要考虑的。这里的虚拟化性能对比是基于UnixBench跑分的结果。
跑分结果
VMware最好,4220.4
KVM居中,3871.0
Hyper-V最差,3212.4
总结
抛开Hyper-V不谈,因为我们大多使用的是Linux,Hyper-V作为微软家的虚拟化方案,对于Windows系统有优势,但是在Linux上就不如VMware和KVM了。
对比VMware和KVM,可以得到如下的结论:
- CPU:在大部分情况下,VMware的性能表现强于KVM。
- 内存:当数据块较小时,VMware表现较好,当数据块较大时KVM表现则明显强于Vmware。在内存各指标的writing方面,大部分情况下KVM都强于VMWare,而reading则相反。
- 磁盘:KVM的read相关操作表现较强,而VMware的write相关操作表现较强。
- 网络:网络性能指标VMware整体优于KVM。
KVM虚拟化技术
1、不可超售资源:内存,硬盘
2、内存:KVM 在分配内存时是完全独占的,也就是说母鸡不能生出内存大于总物理内存的小鸡。
3、硬盘:KVM 的硬盘在 VPS 创建后即完全分配,因此不太可能出现超售硬盘。
4、总结:KVM 的架构决定了其难以超售,但是价格较贵。购买时仍要关心硬盘 IO,网络,母鸡 CPU 负载等条件。
5、注意:有人说 KVM 可以通过 virtio-ballon 驱动进行内存超售,实际上使用这种内存超售方案会导致较大 CPU 开销且易被客户发现,不适合服务商进行超售。
OpenVZ虚拟化技术
1、可超售资源:无
2、总结:OpenVZ 的磁盘在母鸡上只是一个文件夹,并且内存是使用时占用的,因此可以随意超售。不过,OpenVZ 虚拟化的价格较低,适合新手入门学习。
Xen虚拟化技术
1、不可超售资源:内存,硬盘
2、内存:与 KVM 类似,Xen 在虚拟机创建时直接占用分配的内存空间。
3、硬盘:与 KVM 类似,Xen 在创建虚拟机时会完整分配硬盘空间。
4、注意:Xen 有 Xen-PV 和 Xen-HVM 的区别,PV 为半虚拟化,并且不支持 Windows,而 HVM 能支持挂载 ISO。如果是 Linux 用户建议选择 Pv 半虚拟,可以远离折腾党。Xen 也可以通过 ballon 驱动进行超售,不过较容易发现。
Hyper-V虚拟化技术
1、不可超售资源:内存
2、内存:由于 Hyper-V 同样直接分配内存,因此无法超售。但是部分用户提到 Hyper-V 有着 “动态内存” 选项,可能可以使用其进行部分内存超售。
3、总结:由于 Hyper-V 没有公开的管理面板,目前并不存在于主流 VPS 市场。较大的 Hyper-V 提供商仅有 Azure(Microsoft)。
VMware虚拟化技术
1、不可超售资源:无
2、总结:VMware 的超售能力据说比 Openvz 还要强劲,但是受制于其高昂的授权费用,提供 vmware VPS 的服务商目前十分少见。
小结
基本上如果想要进行超售,任何虚拟化技术都可以做到。因此选择一个良心服务商可能更重要。KVM 和 Xen 虽然不能超内存和硬盘,但是有些服务商通过添加物理内存和硬盘,开出更多机器,其实际性能依旧不能保证。