本应老师的要求准备在课上想同窗们介绍一下几种常见的虚拟机,因为客观缘由取消了。所以在这里从新理一遍本身的思路,记录一下这两天的学习。html
首先是对虚拟机的原理进行简单的介绍,这里主要参考了http://www.cnblogs.com/plxx/p/5461753.html的文章。linux
虚拟机(Virtual Machine)指经过软件模拟的具备完整硬件系统功能的、运行在一个彻底隔离环境中的完整计算机系统。先来看看虚拟机的基本结构 windows
对于Hypervisor的上半部分是虚拟机的主要部分由客户机操做系统和其应用程序包和应用程序组成。Hypervisor下班部分为主机操做系统,底层是硬件,每一个虚拟机都是创建在Hypervisor上的。安全
Hypervisor简介服务器
Hypervisor(虚拟内存管理器)是一种运行在物理服务器和操做系统中间软件层,可容许操做系统和应用共享一套物理设备,所以也能够当作虚拟机环境中的“元”操做,它能够协调访问服务器上的全部物理设备和虚拟机。Hypervisor是全部虚拟化技术的核心,非中断地支持多工做负载迁移的能力是Hypervisor的基本功能。当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载全部虚拟机的客户操做系统。网络
Hypervisor的两种基本类型架构
I型--裸机型,虚拟机直接运行在物理设备之上,是一种基于内核的虚拟机。它直接直接管理调用硬件资源,不须要底层操做系统,这种方案的性能处于主机虚拟化与操做系统虚拟化之间。工具
II型--宿主机型,虚拟机运行在宿主机器的操做系统上,建立硬件全仿真实例。Hypervisor构建出一整套虚拟硬件平台,上面须要你再去安装新的操做系统和须要的应用软件,这样底层和上层的OS就能够彻底无关化。性能
其中VirtualBox和VMWare Workstation是属于这种宿主机型的,KVM是属于裸机型的(可是它是创建在Linux内核的基础之上的)。因为对这个的不了解,还单纯的觉得KVM是直接跑在硬件之上的。学习
VirtualBox
VirtualBox是一款开源免费的虚拟机软件, 其宿主机型支持Linux、Mac、windows三大操做平台,它与同类的VMWare Workstation虚拟化软件相比, 它对Mac系统的支持相对较好因为免费,所以VirtualBox更适合预算有限的小环境。
VMWare Workstation是一款功能强大的商业虚拟化软件,和VirtualBox同样,仍然能够在一个宿主机上安装多个操做系统的虚拟机,其宿主机的操做系统能够是windows和Linux,VMWare Workstation虚拟机的各类操做系统仍然是开发、测试、部署新的应用程序的最佳解决方案。 VMWare Workstation占用空间比较大,可是对于企业来讲有点仍是比缺点更加的重要。 VMWare Workstation在虚拟网络、实时快照、拖拽共享文件夹、支持PXE等方面的特色是它成为必不可少的工具。整体来讲, VMWare Workstation的优势在于其计算虚拟能力,物理机隔离效果很是优秀,它的功能很是全面,倾向于计算机专业人员使用,其操做界面也很人性化;VMWare Workstation的缺点在于体积庞大,安装时间 耗时较久,而且在运行使用时占物理机的资源较大。
KVM
KVM(Kernel-based Virtal Machine)是一种针对linux内核的虚拟化技术架构,它支持具备硬件虚拟化扩展的处理器上的原生虚拟化。最初,它支持x86处理器,但如今普遍支持各类处理器和操做系统,包括Linux、BSD、Solaris、Windows、Haiku、ReactOS和AR-OS等。基于内核的虚拟机(KVM)是针对包含虚拟化的扩展(Intel VT 或 AMD-V)的x86硬件上的Linux的彻底原生的虚拟化解决方案。对于半虚拟化的有限支持也能够经过半虚拟机网络驱动程序的形式用于Linux和windows和windows Guest系统。
尽管KVM是一个相对较新的虚拟机管理程序,但这个随主流Linux内核发布的轻量型模块提供简单的实现和对Linux重要任务的持续支持。KVM使用很灵活,Guest操做系统与集成到Linux内核中的虚拟管理程序通讯,以直接寻址硬件,无需修改虚拟化的操做系统。这使得KVM成为更快的虚拟机解决方案。KVM的补丁与Linux内核兼容,KVM在Linux内核自己内实现,进而简化对虚拟进程的控制,可是没有成熟的工具可用于KVM服务器的管理,KVM仍然须要改进网络的支持,虚拟存储的支持,而且加强安全性、高可用性、容错、电源管理、HPC/实时支持。虚拟CPU可伸缩性、跨供应商兼容性、VM可移植性。
注 :以上部分主要参考的《云计算与大数据技术》