[From] http://blog.csdn.net/blade2001/article/details/16864473
很多人看到同样配置的VPS价格相差很大,甚是不理解,其实VPS使用的虚拟技术种类有很多,如OpenVZ、Xen、KVM、Xen和HVM与PV。在XEN中pv是半虚拟化,hvm是全虚拟化,pv只能用于linux内核的系统,效率更高,hvm可以虚拟所有常见操作系统(可以使用windows),理论效率比pv略低,另外,hvm需要cpu虚拟化指令支持(CPU 必须开启Intel VT or AMD -V),pv无此要求。KVM是新兴的虚拟化项目,出售KVM的VPS商家不多,但据说KVM虚拟技术是比较强悍的。而OpenVZ是一个类似于Linux-VServer的操作系级全虚拟化解决方案,目前基于Xen和OpenVZ的VPS服务商比较多。本文就VPS采用的几种常见技术OpenVZ、Xen、KVM做简单介绍和对比,以备你选购自己合适的VPS。
OpenVZ
OpenVZ是操作系统级别的虚拟化技术,是底层操作系统上的一层应用,这意味着易于理解和低权重开销,一般来说也意味着更优的性能。但是OpenVZ配置起来比较灵活,给黑心服务商改低限制的机会。
优势:现在外面卖的这种类型,许可的内存都超大,CPU也强劲,而且卖家很多,可比性也很强。性价比超高。
劣势:超卖,没有不超卖的,导致各种石头盘,钻石盘。连带的cpu也被过度分割导致性能升值不如其标明的1/10。再有就是内存,基本上OpenVZ技术没有独占的,都是共享,别人多了你就少了,而且这种技术最大的劣势就是内存下来后直接就是当机。还有开设vpn各种不方便。
Xen
Xen是半虚拟化技术,它并不是一个真正的虚拟机,而是相当于自己运行了一个内核的实例,可以自由的加载内核模块,虚拟的内存和IO,稳定而且可预测。分Xen pv 和Xen hvm,区别就是pv只支持linux,而hvm支持win系统。
优势:内存独占,虽然小但是保证分配的到。部分虚拟技术决定了就算是超卖也不会超太离谱。所以一般的母鸡就算超了,也很少导致石头盘。当然小鸡有pt就除外了。另外就是即使内存再低也不会当掉,只是会无响应一段时间。比较难超售!
劣势:内存小,硬盘小,带宽小(以上3点均和同价位的openvz对比)。因为没发超卖了,为了赚钱只能把这3个基本配置降下来了。还有就是供应商残次不齐,而且大部分在说xen的时候都木有明说是pv还是hvm,其实pv的性能是优于hvm的。
KVM
优势:和xen类似,比xen更好的一点是,kvm是完全虚拟的,所以不分pv和hvm的区别,所有的kvm类型的虚拟技术都可以装各种linux的发行版和各种win的发行版,不管供应商在主页有没有写明是否支持win,只要你配置够win运行,那就肯定可以装的上去,只是方法的问题而已。
劣势:恰恰因为kvm可以装任意类型的操作系统,导致了折腾帝甚至在128m的机器上装了win2003(上去后直接所有的cpu和内存都用于硬盘IO了,不明白这些人想干神马)。其结果就是所有的kvm邻居都得看你周围邻居的脸色。这么说把,一个node下只要有5、6台这种折腾帝,对不起,你的硬盘基本就是石头盘了。
个人比较倾向于Xen,因为它是对供应商和和客户来说都是可以接受的折衷方案。openvz超卖太厉害,kvm等看RP,这2种都不适合那些不想折腾只想做站的站长。
http://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/virtualization_types.html
亚马逊系统映像使用两种虚拟化类型之一:半虚拟化 (PV) 或硬件虚拟机 (HVM)。某些当前一代实例类型仅支持硬件虚拟机 AMI,而某些上一代实例类型仅支持半虚拟化 AMI。半虚拟化与硬件虚拟机 AMI 之间的主要区别在于它们的启动方式,以及它们是否可以利用特殊硬件扩展(CPU、网络和存储)来获得更佳性能。为获得最佳性能,我们建议您在启动新实例时使用当前一代实例类型和硬件虚拟机 AMI。
Paravirtual (PV)
半虚拟化可以在没有显式虚拟化支持的主机硬件上运行,但无法利用特殊硬件扩展(如增强联网或 GPU 处理)。以往,半虚拟化在许多情况下的性能要优于硬件虚拟机,但是由于硬件虚拟机虚拟化的功能增强以及硬件虚拟机 AMI 可使用半虚拟化驱动程序,因此情况发生了改变。
Hardware Virtual Machine (HVM)
硬件虚拟机 AMI 配有一组完全虚拟化的硬件,通过执行映像根块储存设备的主启动记录来启动。Linux 和 Windows AMI 都可以使用硬件虚拟机虚拟化。通过此虚拟化类型可以直接在虚拟机上运行操作系统而不进行任何修改(如同它在裸机硬件上运行一样)。Amazon EC2 主机系统可模拟向虚拟机提供的部分或所有底层硬件。
与半虚拟化不同,硬件虚拟机可以利用在主机系统上提供对底层硬件的快速访问的硬件扩展.
硬件虚拟机上的半虚拟化
以往,半虚拟化的性能在存储和网络操作方面的性能要优于硬件虚拟机,因为它们可以对 I/O 使用特殊驱动程序,从而避免模拟网络和磁盘硬件的开销,而硬件虚拟机必须将这些指令转换为模拟的硬件。现在,这些半虚拟化驱动程序可用于硬件虚拟机,因此无法移植在半虚拟化环境中运行的操作系统(如 Windows)仍可以使用它们在存储和网络 I/O 方面获得性能优势。借助这些硬件虚拟机驱动程序上的半虚拟化,硬件虚拟机可以获得与半虚拟化来宾相同甚至更佳的性能。