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. shell脚本 基础应用

    变量分为普通变量可只读变量 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ...

  2. 洛谷 P2341 [HAOI2006]受欢迎的牛 题解

    今天学了强连通分量的Tarjan算法,做了这道类似于板子题的题(尽管我调了1.5h).主要的思路是用Tarjan缩点之后,求每个点的入度(实际上是出度,因为我是反着连边的).如果 有且只有一个点的入度 ...

  3. BZOJ 4764: 弹飞大爷 LCT

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

  4. Windbg命令脚本流程控制语句详解

    在Windbg命令脚本一文里,我们介绍了命令脚本语言的的组成要素,在本文里将对语句进行展开的讲解.这些语句主要是流程控制的语句,比如我们常见的条件分子和循环语句等. ; (命令分隔符) 分号(:)字符 ...

  5. Switch ……case语句

    Switch(变量){ case 1: 如果变量和1的值相同,执行该处代码 break; case 2: 如果变量和2的值相同,执行该处代码 break; case 3: 如果变量和3的值相同,执行该 ...

  6. 干货 | 10分钟带你掌握branch and price(分支定价)算法超详细原理解析

    00 前言 相信大家对branch and price的神秘之处也非常好奇了.今天我们一起来揭秘该算法原理过程.不过,在此之前,请大家确保自己的branch and bound和column gene ...

  7. Programming a robot

    题目链接:Gym - 101492H 自己的纯暴力做法: /* */ # include <iostream> # include <cstdio> # include < ...

  8. 原创:logistic regression实战(一):SGD Without lasso

    logistic regression是分类算法中非常重要的算法,也是非常基础的算法.logistic regression从整体上考虑样本预测的精度,用判别学习模型的条件似然进行参数估计,假设样本遵 ...

  9. [golang]Go常见问题:# command-line-arguments: ***: undefined: ***

    今天遇见一个很蛋疼的问题,不知道是不是我配置的问题,IDE直接run就报错. 问题描述 在开发代码过程中,经常会因为逻辑处理而对代码进行分类,放进不同的文件里面:像这样,同一个包下的两个文件,点击id ...

  10. 【POJ2993】Emag eht htiw Em Pleh

    题目传送门 本题知识点:模拟(如果对国际象棋不熟悉的同学可以先百度一下) 本题跟POJ2996是逆过来的操作,如果做过[POJ2996]的同学就不会对题意不理解的了. (以下默认您已AC[POJ299 ...