很多人看到同样配置的VPS价格相差很大,甚是不理解,其实VPS使用的虚拟技术种类有很多,如OpenVZXenKVMXen和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 方面获得性能优势。借助这些硬件虚拟机驱动程序上的半虚拟化,硬件虚拟机可以获得与半虚拟化来宾相同甚至更佳的性能。

http://blog.csdn.net/blade2001/article/details/16864473

虚拟化技术比较 PV HVM的更多相关文章

  1. Xen虚拟化技术中PV和HVM的区别

    转自 这里 Xen是一个开源的type-1或者裸机管理程序,它使得一个物理主机能够同时并行运行多个相同的或者不同的操作系统实例.Xen是目前唯一的开源可得的type-1管理程序.Xen被应用于许多商业 ...

  2. 关于Linux虚拟化技术KVM的科普 科普三(From OenHan)

    http://oenhan.com/archives,包括<KVM源代码分析1:基本工作原理>.<KVM源代码分析2:虚拟机的创建与运行>.<KVM源代码分析3:CPU虚 ...

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

    Xen,VMware ESXi,Hyper-V和KVM等虚拟化技术的原理解析 2018年04月03日 13:51:55 阅读数:936   XEN 与 VMware ESXi,Hyper-V 以及 K ...

  4. Amzaon EC2虚拟化技术演进:从 Xen 到 Nitro

      今年2月,由光环新网运营的 AWS 中国(北京)区域和由西云数据运营的 AWS 中国 (宁夏)区域发布新的实例类型,新的实例类型包括 C5.C5d.R5.R5d.除了这四种之外,在AWS国外部分区 ...

  5. Xen 虚拟化技术

    Xen 是一种开源的.属于类型1(裸金属虚拟化,Baremetal Hypervisor)的虚拟化技术,它使多个同样操作系统或不同操作系统的虚拟机运行在同一个物理主机节点上成为可能并实现. Xen 是 ...

  6. 虚拟化技术xen的简介和安装

    虚拟化技术的分类: 1,模拟:Emulation ​ Qemu,PearPC,Bochs 2,完全虚拟化:Full Virtualization,Native Virtualization ​ HVM ...

  7. KVM虚拟化技术(七)虚拟机配置文件

    KVM虚拟机的配置文件在/etc/libvirt/qemu/下,为xml文件 整体结构如下: <domain type='kvm'> 虚拟机整体信息 系统信息 硬件资源特性 突发事件处理 ...

  8. VPS选购及辨别vps虚拟化技术

    现在国内外的VPS(Virtual Private Server)服务商非常多,每个服务商使用的VPS架构都不同.VPS属于虚拟化服务器,中文名:虚拟专用服务器. 常见的VPS虚拟化架构有多种:Ope ...

  9. KVM虚拟化技术

    KVM虚拟化技术 Qemu-kvm kvm virt-manager VNC Qemu-kvm创建和管理虚拟机 一.KVM简介 KVM(名称来自英语:Kernel-basedVirtual Machi ...

随机推荐

  1. mongodb 手动分片的命令汇总

    手动分片的操作 自动分片会带来性能的下降. 所以要合理使用手动分片. 并且配合Tag一起使用. # 对于4个shard的程序, 预先处理的指令1. 加入分片服务器sh.addShard( " ...

  2. PHP 开发 APP 接口 学习笔记与总结 - Redis 缓存

    Redis 可以定期将数据备份到磁盘中(持久化),同时不仅仅支持简单的key/value 类型的数据,同时还提供list,set,hash等数据结构的存储:Memcache 只是简单的key/valu ...

  3. PHP 文件系统管理函数与 preg_replace() 函数过滤代码

    案例:在带行号的代码至文件 crop.js 中.用两种方法去掉代码前面的行号,带行号的代码片段: 1.$(function(){ 2. //初始化图片区域 3. var myimg = new Ima ...

  4. [收藏] 关于解决“进程com.android.phone意外停止”的方法 (未尝试)

    很多机油反应有这个情况,本人费劲九牛20虎之力终于克服之,这个现象一般出现在刚刷完系统会出现,甚至你怎么刷ROM这个现象依旧存在(崩溃不?)~~~有位机油刷了这个系统也出现了http://samsun ...

  5. 20145235 《Java程序设计》第5周学习总结

    教材学习内容总结 8.1语法与继承架构 try和catch语法,如果被try{}的语句出现了catch()的问题就执行catch{}的语句. 错误的对象都继承于java.long.Throwable, ...

  6. 使用ngrok

    使用ngrok让微信公众平台通过80端口访问本机 首先声明我是用java-tomcat来研究微信公众平台的. 微信公众平台要成为开发者,需要填写接口配置信息中的“URL”和“Token”这两项(参见: ...

  7. 7.PHP内核探索:Apache模块介绍

    Apache概述 Apache是目前世界上使用最为广泛的一种Web Server,它以跨平台.高效和稳定而闻名.按照去年官方统计的数据,Apache服务器的装机量占该市场60%以上的份额.尤其是在 X ...

  8. Object-relational mapping

    https://en.wikipedia.org/wiki/Object-relational_mapping Object-relational mapping (ORM, O/RM, and O/ ...

  9. JS初学者必备的几个经典案例(二)!!!

    一.写出当前年份的前后5年的日期表 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  10. (IOS)Swift Music 程序分析

    本文主要分享下楼主在学习Swift编程过程中,对GitHub上的一个开源App Swift Music的研究心得. 项目地址:https://github.com/xujiyao123/SwiftMu ...