[转帖]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 ...
随机推荐
- ZOJ 2676 Network Wars(网络流+分数规划)
传送门 题意:求无向图割集中平均边权最小的集合. 论文<最小割模型在信息学竞赛中的应用>原题. 分数规划.每一条边取上的代价为1. #include <bits/stdc++.h&g ...
- OLED液晶屏幕(0)自动获取12ic地址液晶屏幕
. 烧录 串口可以看到输出的地址 #include <Wire.h> void setup(){ Wire.begin(); Serial.begin(9600); Serial.prin ...
- Linear Discriminant Analysis Algorithm
线性判别分析算法. 逻辑回归是一种分类算法,传统上仅限于两类分类问题. 如果有两个以上的类,那么线性判别分析算法是首选的线性分类技术.LDA的表示非常直接.它包括数据的统计属性,为每个类计算.对于单个 ...
- 2019.12.06 java基础代码
操作系统中默认码表是:gbk (一个中文字符占两个字节): utf-8(一个中文字符占三个字节): 数据库建库时的默认码表是:拉丁码表: (1) public class 定义: ...
- QML学习(三)——<QML命名规范>
QML对象声明 QML对象特性一般使用下面的顺序进行构造: id 属性声明 信号声明 JavaScript函数 对象属性 子对象 状态 状态切换 为了获取更好的可读性,建议在不同部分之间添加一个空行. ...
- Nginx压测和并发预估
一.Nginx并发预估 预估算法:{(?G)*1024-system}/请求大小 (?G):表示内存大小1024:表示内存容量标准进制system:表示系统和服务占用的额外内存和需要预留的内存请求大小 ...
- java生成HMACSHA256的方法
data要加密的数据,key密钥 public static String HMACSHA256(String data, String key) throws Exception { Mac sha ...
- 解决MySql ERROR 1698 (28000) 错误:Access denied for user 'root'@'localhost'
今天尝试在Ubuntu虚拟机上安装MySql 数据库(版本是:5.7.23-0Ubuntu0.18.04.1),数据库安装很简单,就是三行命令: sudo apt-get install mysq ...
- 基于Spring Boot+Cloud构建微云架构
前言 首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道.因为网上流传的多数资料是官网翻译而来,很多描述的重点也都偏向于作者自身碰到的问题,这样就很容易让你理解和操作出现偏差 ...
- SQL学习回顾
--本文源自<黑马程序员>