虚拟化是云计算的关键。
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内核集成的,所以速度很快。
其他:
Microsoft Hyper-V 和VMware ESX Server都是基于硬件支持的Bare-Metal虚拟化产品,
他们最大的区别在于,Microsoft Hyper-V采用了微内核的结构,而ESX Server是一个单内核的产品。