本应老师的要求准备在课上想同学们介绍一下几种常见的虚拟机,由于客观原因取消了。因此在这里重新理一遍自己的思路,记录一下这两天的学习。
首先是对虚拟机的原理进行简单的介绍。
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。先来看看虚拟机的基本结构
对于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可移植性。
注 :以上部分主要参考的《云计算与大数据技术》