PC虚拟化主流:KVM、XEN、OpenVZ详解

https://zhuanlan.zhihu.com/p/90920566

1、pc虚拟化——KVM

KVM是完整的硬件虚拟化,可以在Windows / Linux来完美运行操作系统,并且使用virtio驱动程序可以获得接近本机的性能,一些实验表明,在理想情况下本机硬件的损失仅为3%。

它确实支持从ISO进行安装,也支持基于模板的安装,在隐私方面具有良好的隔离性,在重负载下会遭受I / O延迟。

每个用户(VM)在主机节点上均作为进程运行,这非常适合发现哪个用户在运行时候发生问题,如果主机承受的所有用户都承受重负载,只要关闭造成负载的源头用户即可解决问题

您可以不用考虑的分配Ram,但是在大多数情况下,除非主机是完整的SSD硬盘,否则这样做用户体验极差。

由于KVM是大多数现代内核中的本机,在某些情况下,它的确比其他内核具有性能优势,并且仍然相当新,并且处于非常活跃的开发中。

大多数人选择KVM是为了获得出色的性能和灵活性,尽管由于成熟度可能不如Xen稳定。

2、pc虚拟化——XEN

Xen有两种版本,但可以在同一物理主机Xen PV(半虚拟化)和HVM(完整的硬件虚拟化)上同时运行

Xen PV guest虚拟机(在托管行业中)倾向于基于模板,以实现快速部署和快速的性能,您可以在Xen PV中运行自己的内核。

Xen HVM的运行方式与KVM十分相似,它具有更好的基于Linux发行版的驱动程序,因为大多数内核默认情况下自2006年左右开始提供PV,因此您无需安装virtio即可提高服务器性能,但是与KVM,尽管您可以在Windows上使用Xen PV驱动程序,不过总体还是比KVM差一截。

Xen现在已经很成熟,大多数人选择Xen来获得具有出色稳定性的出色性能。

Xen主机通常会将Ram和CPU内核预先分配给xen虚拟机管理程序,因此它具有自己的专用资源,用户无法对其进行影响以实现稳定性。

3、pc虚拟化——OpenVZ

OpenVZ由于其快速部署和非常高的密度而在托管行业中广受欢迎,它可以实现这一点,因为主机内核与ram,cpu和磁盘一起与guest虚拟机共享,并且guest虚拟机和主机I / O之间有相当基本的分隔瓶颈几乎不存在。

与KVM和Xen相比,就磁盘访问速度和磁盘延迟而言,OpenVZ显然是赢家,但这是以缺乏分离度为代价的,同时也缺乏1个用户OS对两者的影响力。主机节点和其他用户,主机节点对所有单个进程都是可见的,并且您无法加密数据。

OpenVZ仅支持Linux(除非使用商业并行将以某种方式支持Windows)

OpenVZ也可以嵌套在Xen或KVM内以实现更大的密度,由于可以在单个主机节点上运行的容器数量众多,这使OpenVZ的价格比KVM和Xen更具竞争力。

总结:OpenVZ易于配置和入门。另外,由于它是一个容器化系统,因此OpenVZ的开销要低得多,因此提供商可以从单个物理服务器中配置更多的VPS。相比前两种OpenVZ有个最大的弊病,使用这种虚拟化技术的主机商往往超售十分严重,严重的几乎难以想象。可能你买的主机刚开始运行很流畅,可是使用一段时间则出现各种奇奇怪怪的问题,可能就是主机商超售引起的。

不乏有良心厂商没有超售,如果对虚拟化技术感兴趣可以关注《云服务器主机虚拟化技术哪个更好?优缺点有哪些?》进一步了解。

[转帖]PC虚拟化主流:KVM、XEN、OpenVZ详解的更多相关文章

  1. [ kvm ] 学习笔记 4:KVM 高级功能详解

    1. 半虚拟化驱动 1.1 virtio 概述 KVM 是必须使用硬件虚拟化辅助技术(如 Intel VT-x .AMD-V)的 Hypervisor,在CPU 运行效率方面有硬件支持,其效率是比较高 ...

  2. kvm 使用入门详解

    kvm 是虚拟化技术的一个典型实现,功能非常强大,使用很方便.kvm 本身主要实现对 CPU 的虚拟化,内存和IO的虚拟化使用了开源软件 qemu,qemu 是纯软件层面的虚拟化,其实就是个模拟器.k ...

  3. 虚拟化技术kvm,xen,vmware比较

    目前市面上常用的虚拟机技术主要有KVM.xen.vmware. KVM是指基于Linux内核(Kernel-based)的虚拟机(Virtual Machine).KVM最大的好处就在于它是与Linu ...

  4. [ kvm ] 学习笔记 3:KVM 基础功能详解

    1. 构建 KVM 环境 KVM 从诞生开始就需要硬件虚拟化的支持,KVM 必需的硬件虚拟化扩展分别是:Intel 的虚拟化技术(Intel VT)和 AMD 的 AMD-V 技术.首先处理器(CPU ...

  5. [转帖]Linux 下 DD 命令的使用详解

    https://blog.csdn.net/noviblue/article/details/56012275 一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注 ...

  6. 【转帖】Servlet 3.0 新特性详解

    http://www.ibm.com/developerworks/cn/java/j-lo-servlet30/ Servlet 3.0 新特性概述 Servlet 3.0 作为 Java EE 6 ...

  7. kvm virsh命令详解

    [root@ok home]# virsh list Id Name State ---------------------------------------------------- 1 13sv ...

  8. [转帖]rename(Perl语言版本) 详解

    rename(Perl语言版本) 详解 2019-03-19 22:51:23 wayne17 阅读数 464更多 分类专栏: Ubuntu之路   版权声明:本文为博主原创文章,遵循CC 4.0 B ...

  9. [转帖]helm模板文件chart编写语法详解

    helm模板文件chart编写语法详解 https://blog.51cto.com/qujunorz/2421328 需要学习一下. charts编写介绍 开始 快速创建一个chart模板,helm ...

随机推荐

  1. C++指针的一些问题

    用变量a给出下面的定义: a)一个整形数(An integer) b)一个指向整形数的指针 c)一个指向指针的指针,它指向的指针指向一个整形数 d)一个有十个整形数的数组 e)一个有十个指针的数组,该 ...

  2. 基于麦克风阵列的声源定位算法之GCC-PHAT

    目前基于麦克风阵列的声源定位方法大致可以分为三类:基于最大输出功率的可控波束形成技术.基于高分辨率谱图估计技术和基于声音时间差(time-delay estimation,TDE)的声源定位技术. 基 ...

  3. BZOJ 4764: 弹飞大爷 LCT

    思路并不难,主要是细节需要注意一下. 在 lct 中,删边要写成:f[lson]=0,lson=0 (因为删 x->y 时 y 不一定是左儿子,y 只是 x 的前驱) 然后 f[lson]=ls ...

  4. Java操作Excel中HSSFCell.CELL_TYPE_STRING、BOOLEAN、NUMERIC无定义解决方法

    错误原因:jar包版本更新,官方改动: 解决方法: 导入CellType包import org.apache.poi.ss.usermodel.CellType使用CellType.STRING代替H ...

  5. Vue.js2.5+cube-ui重构饿了么App*下载

    第1章 课程导学 第2章 项目准备工作 第3章 头部组件开发 第4章 Tab 组件开发 第5章 商品页面开发 第6章 商品详情页开发 第7章 评价和商家页面开发 第8章 create-api 原理分析 ...

  6. Linux 文件系统磁盘空间与连接文件

    磁盘与目录的容量 我们知道磁盘的整体数据hi在superblock块中,但是各文件的容量则在inode中记载. df:列出文件系统的整体磁盘使用量 由于df主要读取的数据几乎都是针对整个文件系统,因此 ...

  7. javacpp, javacv: 封装了FFmpeg、OpenCV等计算机视觉编程人员常用库的接口

    jvavacpp:     一个java调用jni的库,支持安卓. javacv:      封装了FFmpeg.OpenCV等计算机视觉编程人员常用库的接口,可以通过其中的Utility类方便的在包 ...

  8. mac上使用sips命令快速裁剪、旋转、翻转图片

    mac上使用sips命令快速裁剪.旋转.翻转图片 日常开发工作中,经常碰到要对图片进行一些简单的处理,不需要动用PS,在mac上就有一个很好的命令行工具:sips 这里我们不具体展开讲,仅贴出几个常用 ...

  9. web编辑器的使用比较

    一开始测试的时候发现都还可以,只是出于后续考虑,选择了ckeditor,但是有时候会莫名出现Cannot read property 'XXX' of undefined,如下: Uncaught T ...

  10. [E2E_L7 51CTO]进一步解析OpenVINO提供的例子并且独立出来(win+vs)

    一.例子概览 上图中标红的都是可以运行的例子,在上一个博客中已经提示.其它的是工具等辅助内容. 例子可以简单分为3类,一类是 这个是和OpenCV相关的,可以参考: 一类是 这个是入门的,优先学习 余 ...