[转帖]PC虚拟化主流:KVM、XEN、OpenVZ详解
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详解的更多相关文章
- [ kvm ] 学习笔记 4:KVM 高级功能详解
1. 半虚拟化驱动 1.1 virtio 概述 KVM 是必须使用硬件虚拟化辅助技术(如 Intel VT-x .AMD-V)的 Hypervisor,在CPU 运行效率方面有硬件支持,其效率是比较高 ...
- kvm 使用入门详解
kvm 是虚拟化技术的一个典型实现,功能非常强大,使用很方便.kvm 本身主要实现对 CPU 的虚拟化,内存和IO的虚拟化使用了开源软件 qemu,qemu 是纯软件层面的虚拟化,其实就是个模拟器.k ...
- 虚拟化技术kvm,xen,vmware比较
目前市面上常用的虚拟机技术主要有KVM.xen.vmware. KVM是指基于Linux内核(Kernel-based)的虚拟机(Virtual Machine).KVM最大的好处就在于它是与Linu ...
- [ kvm ] 学习笔记 3:KVM 基础功能详解
1. 构建 KVM 环境 KVM 从诞生开始就需要硬件虚拟化的支持,KVM 必需的硬件虚拟化扩展分别是:Intel 的虚拟化技术(Intel VT)和 AMD 的 AMD-V 技术.首先处理器(CPU ...
- [转帖]Linux 下 DD 命令的使用详解
https://blog.csdn.net/noviblue/article/details/56012275 一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注 ...
- 【转帖】Servlet 3.0 新特性详解
http://www.ibm.com/developerworks/cn/java/j-lo-servlet30/ Servlet 3.0 新特性概述 Servlet 3.0 作为 Java EE 6 ...
- kvm virsh命令详解
[root@ok home]# virsh list Id Name State ---------------------------------------------------- 1 13sv ...
- [转帖]rename(Perl语言版本) 详解
rename(Perl语言版本) 详解 2019-03-19 22:51:23 wayne17 阅读数 464更多 分类专栏: Ubuntu之路 版权声明:本文为博主原创文章,遵循CC 4.0 B ...
- [转帖]helm模板文件chart编写语法详解
helm模板文件chart编写语法详解 https://blog.51cto.com/qujunorz/2421328 需要学习一下. charts编写介绍 开始 快速创建一个chart模板,helm ...
随机推荐
- tensorflow API _ 5 (tensorflow.summary)
tensorflow的可视化是使用summary和tensorboard合作完成的. 基本用法 首先明确一点,summary也是op. 输出网络结构 with tf.Session() as sess ...
- Tensorflow细节-P309-监控指标可视化
注意下面一个点就ok了 with tf.name_scope('input_reshape'): # 注意看这里,图片的生成 image_shaped_input = tf.reshape(x, [- ...
- 持续集成学习11 jenkins和gitlab集成自动触发
一.配置gitlab上提交代码后在jenkins上自动构建 1.在jenkins上配置gitlab 系统管理--->系统设置--->gitlab配置 2.在gitlab上配置token 3 ...
- WinDbg常用命令系列---?*
? (Command Help) 问号(?)字符显示所有命令和运算符的列表.问号本身显示命令帮助. 环境 模式 用户模式下,内核模式 目标 实时. 崩溃转储 平台 全部 0:000> ? Ope ...
- Lightning Web Components 组合(五)
使用组合我们可以用来设计复杂的组件. 组合一些比较小的组件,可以增加组件的重新性以及可维护性. 通过以下一个简单的demo,将会展示关于owner 以及container 的概念,在实际的项目中 ex ...
- 杂乱的Solidity - 2019-7-13
要清楚在区块链上开发DApp的架构[x][][][][][] DApp是去中心化的应用 基于智能合约 去中心化的游戏规则 代币激励
- 和jz姐姐的vp记录
即使如此,jz姐姐也漂亮的取得了胜利 有些懒得写直接口胡,所以代码也不一定有 暂时停更了 2015-2016 Petrozavodsk Winter Training Camp, Makoto rng ...
- Android App专项测试
https://www.jianshu.com/p/141b84f14505 http://www.cnblogs.com/finer/p/9601140.html 专项 概念 adb命令 App启动 ...
- 缓存:修改Hosts不生效
修改Hosts为何不生效,是DNS缓存? - Barret李靖 - 博客园https://www.cnblogs.com/hustskyking/p/hosts-modify.html 换个未打开过的 ...
- Maven构建报错问题解决
[ERROR] Failed to execute goal on project zepeto-admin: Could not resolve dependencies -SNAPSHOT: Fa ...