虚拟化是云计算的关键。

KVM(Kernel-based virtual Machine):是基于内核的虚拟机(KVM:Kernel-based Virtual Machine)技术内置在RHEL和Ubuntu中。KVM是一个轻量级的虚拟化管理程序模块,该模块主要来自于Linux内核。

划重点:已经属于linux内核的一部分。内嵌到OS操作系统里,基于硬件,需要初始化CPU硬件。

检查egrep '(vmx|svm)' /proc/cpuinfo //KVM要求CPU可以虚拟化。

阿里云早起的虚拟化是基于xen,新的现在都是kvm了。

Xen:是“第一类”运行在裸机上的虚拟化管理程序(Hypervisor),也是当前相当一部分商业化运作公司的基础技术,其中包括Citrix系统公司的XenServer和Oracle的虚拟机。

划重点:运行在裸机上。Xen只是一个安装在Linux内核下层的一个产品而已。软件虚拟化。类似VMware

KVM和Xen的对比如下:

查看linux机器是虚拟机还是裸机:

dmesg | grep -i virtual          ----///显示开机信息
Linux dmesg(display message)命令用于显示开机信息。kernel会将开机信息存储在ring buffer中。开机信息亦保存在/var/log/dmesg文件里。
lscpu

此命令用来显示cpu的相关信息 ,lscpu从sysfs和/proc/cpuinfo收集cpu体系结构信息,命令的输出比较易读 

Architecture: #架构 
   CPU(s): #逻辑cpu颗数 
   Thread(s) per core: #每个核心线程 
   Core(s) per socket: #每个cpu插槽核数/每颗物理cpu核数 
   CPU socket(s): #cpu插槽数 
   Vendor ID: #cpu厂商ID 
   CPU family: #cpu系列 
   Model: #型号 
   Stepping: #步进 
   CPU MHz: #cpu主频 
   Virtualization: #cpu支持的虚拟化技术 
   L1d cache: #一级缓存(google了下,这具体表示表示cpu的L1数据缓存) 
   L1i cache: #一级缓存(具体为L1指令缓存) 
   L2 cache: #二级缓存

2.KVM(Kernel-based Virtual Machine)基于内核的虚拟机

KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(Intel VT或AMD-V)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。

KVM最大的好处就在于它是与Linux内核集成的,所以速度很快。

jailhouse虚拟化技术 E1 E0 xen虚拟化_虚拟化

 

其他:

Microsoft Hyper-V 和VMware ESX Server都是基于硬件支持的Bare-Metal虚拟化产品,

他们最大的区别在于,Microsoft Hyper-V采用了微内核的结构,而ESX Server是一个单内核的产品。