分类: 虚拟化
2014-10-26 02:57:54
最近想学习虚拟化和云的知识,先从概念和基础学起,网络上查资料,发觉虚拟化是个十分庞大的知识点,为了屡清头绪,做个笔记归纳总结一下,备用。如果有差错,随时更新!
虚拟机定义:百度上定义,虚拟机(Virtual Machine)指通过模拟的具有完整系统功能的、运行在一个完全环境中的完整。
Hypervisor:(基于X86,IBM的hypervisor不在本次学习笔记中)一种运行在基础物理服务器和之间的层,可允许多个操作系统和应用共享硬件。也可叫做VMM( virtual machine monitor ),即虚拟机监视器。Hypervisors是一种在虚拟环境中的“元”操作系统。他们可以访问服务器上包括磁盘和内存在内的所有物理设备。Hypervisors不但协调着这些硬件资源的访问,也同时在各个虚拟机之间施加防护。当服务器启动并执行Hypervisor时,它会加载所有虚拟机客户端的操作系统同时会分配给每一台虚拟机适量的内存,CPU,网络和磁盘。
Hypervisor是所有虚拟化技术的核心。 非中断地支持多工作负载迁移的能力是Hypervisor的基本功能
目前市场上各种x86 管理程序(hypervisor)的架构存在差异,三个最主要的架构类别包括:
I型:直接运行在系统硬件上,创建硬件全仿真实例,被称为“”型。
II型:运行在传统上,同样创建的是硬件全仿真实例,被称为“托管(宿主)”型。
Ⅲ型:运行在传统上,创建一个独立的虚拟化实例(容器),指向底层托管操作系统,被称为“操作系统虚拟化”。
安装并且运行在Hypervisor之上。
支持虚拟化技术或者指令集的CPU:inter vt-x、amd-v,对于某些桌面虚拟机部署来说,主机CPU是否支持虚拟化不影响部署,但是支持虚拟化的CPU可以降低虚拟化的开销,提高性能。
对于服务器类虚拟机的产品,则主机CPU必须支持虚拟化,比如vmware vsphere。目前所知,还有KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。
一个计算机系统可以分为如下的四个层次:硬件层、操作系统层、实用程序层(或称为支撑软件层)和应用程序层。
不支持硬件虚拟技术的CPU:客户端操作系统需要经过虚拟机软件转译后,通过主操作系统层交给CPU(硬件层)运行。
支持硬件虚拟技术的CPU能直接运行客户端操作系统。虚拟机软件负责主操作系统与客户端操作系统的联系、控制等等。
微软虚拟机 | Mac虚拟机 | IBM虚拟机 | HP虚拟机 |
SWsoft虚拟机 | SUN虚拟机 | Intel虚拟机 | AMD虚拟机 |
Java虚拟机 | BB虚拟机 | Linux虚拟机 |
名称 | 厂商 | 安装平台 | 备注 |
Vmware | EMC | win、linux、mac | 商业软件,部分免费 |
VirtualBox | ORACLE | win、linux | 开源软件,免费 |
Xen | Citrix | linux | 开源有限免费 |
Vmlite | VMLite | win、linux |
开源免费,移植VirtualBox 部分代码,国产 |
Hyper-V | Microsoft | win |
Virtual
PC演变而来, windows 2008 R2附带的虚拟化组件,购买授权后免费 |
KVM | n/a | linux | 开源软件,免费,运行在2.6内核 |
Windows XP Mode | Microsoft | win7 | win7的xp兼容模式 |