计算机虚拟化技术(Computer virtualization technology)
虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。计算机虚拟化技术主要包括以下几个方面:
- CPU虚拟化;
- 网络虚拟化;
- 服务器虚拟化;
- 储存虚拟化。
虚拟机相关的虚拟化技术和分区(Partition)技术是紧密结合在一起,从60年代Unix诞生起,虚拟化技术和分区技术就开始了发展,并且经历了从“硬件分区”->“虚拟机”->“准虚拟机”->“虚拟操作系统”的发展历程。
虚拟机(Virtual Machine, VM)
虚拟机技术是虚拟化技术的一种,指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。
在一台物理机上可以模拟出多台虚拟机,每个虚拟机中都可以运行一个操作系统(OS)。提供虚拟化的平台被称为VMM(Virtual Machine Monitor),在其上运行的虚拟机被称为客户机(guest VM)。根据VMM支持的虚拟机制的不同,guset VM的运行模式可分为完全虚拟化(Full Virtualization)和类虚拟化(Para Virtualization)。
完全虚拟化技术
最初所使用的虚拟化技术就是完全虚拟化技术,使用VMM在VM和底层硬件之间建立1个抽象层,VMM捕获CPU指令,为指令访问硬件控制器和外设充当中介。这种虚拟化技术几乎能让任何一款操作系统不加改动就可以安装在VM上,而它们不知道自己运行在虚拟化环境下。完全虚拟化是处理器密集型技术,因为它要求VMM管理各个虚拟服务器,并彼此独立。完全虚拟化的主要缺点是VMM会带来处理开销。
半虚拟化技术
半虚拟化技术也叫做准虚拟化技术,操作系统辅助虚拟化,它就是在全虚拟化的基础上,通过修改客户操作系统,让它以为自己运行在虚拟环境下,能够与VMM协同工作,半虚拟化中的VMM不对I/O设备做模拟,仅仅对CPU和内存做模拟, 因此VMM的工作负担变得非常的小,因此整体的性能也有很大的提高。不过缺点就是,要修改客户操作系统,但是对于某些不支持的操作系统(主要是windows)来说,就不行能用这种方法。
当前,还有硬件辅助虚拟化,硬件提供结构支持帮助创建虚拟机监视并允许客户机操作系统独立运行,比如Intel VT技术。以及进程隔离技术,由操作系统内核实现进程隔离,配合chroot,namespace实现虚拟化,虚拟机运行在传统操作系统上,创建一个独立的虚拟化实例(容器),指向底层托管操作系统,被称为“操作系统虚拟化”。
虚拟机管理(监视)程序(Virtual Machine Monitor, VMM)
虚拟机监视器是一个系统软件, VMM管理计算机系统的真实资源,为虚拟机提供接口。使用VMM 有以下优点:
- VMM的实现相比于Linux或Windows这类操作系统的实现要简单很多。因为VMM避免了像TCWIP Sockets和文件系统这类高级抽象,这将有利于安全性和可靠性,也便于扩展和修改;
- VMM允许系统管理者配置虚拟机运行的环境。虚拟机的各项设置可以与真实机不同,如真实机有512 MB内存,可以设置虚拟机内存64 MB,有利于开发者在各种环境下测试软件;
- VMM允许在相同硬件上同时执行不同的操作系统,称之为GuestOS。系统管理者可以用这种能力来联合多个使用不充分的分散计算机,为不可信和不安全代码增强了隔离性,同时增强了可靠性,在一个虚拟机中的软件发生故障也不会影响到其他虚拟机;
- 当操作系统升级后,仍然可以在虚拟机中运行早期开发的软件,由此可以降低软件开发成本。同时成本的降低还来源于减少硬件产品的购置;
- 针对拥有10~100个处理器的可扩展计算机,VMM能够方便地开发功能强大、可靠的系统软件;
- 虚拟机控制了程序运行的整个软件环境,包括操作系统和应用软件,因此可以封装程序地址空间和进程状态,然后在不同的硬件上热迁移(hot migration)整个工作环境,由此提高性能和达到负载平衡。
Type 1虚拟机管理程序
Type 1虚拟机管理程序直接在主机的物理硬件上运行,它被称为裸机虚拟机管理程序; 它不必预先加载底层操作系统。通过直接访问底层硬件而无需其他软件(例如操作系统和设备驱动程序)。 Type 1虚拟机管理程序的示例包括VMware ESXi、Microsoft Hyper-V服务器和开源KVM等。管理程序直接在物理硬件上运行也非常安全,因为裸机虚拟机管理程序可避免操作系统通常存在的安全问题和漏洞。这可确保每个访客VM与恶意软件和活动保持逻辑隔离。在很多情况下,虚拟化系统至少托管一个带有操作系统和管理软件的虚拟机,使管理员能够使用系统管理工具(例如Microsoft System Center)管理物理系统。
Type2虚拟机管理程序
Type2虚拟机管理程序通常安装在现有操作系统之上,它称为托管虚拟机管理程序,因为它依赖于主机预先安装的操作系统来管理对CPU、内存、存储和网络资源的调用。Type2虚拟机管理程序包括VMware Fusion、Oracle VM VirtualBox、适用于x86的Oracle VM Server、Oracle Solaris Zones、Parallels和VMware Workstation。
本文介绍了计算机虚拟化技术,包括CPU、网络、服务器和存储虚拟化。重点讨论虚拟机(VM)及其分类:完全虚拟化和半虚拟化。完全虚拟化通过VMM在VM和硬件间建立抽象层,而半虚拟化则需要修改客户操作系统以与VMM协同工作。此外,还阐述了虚拟机管理程序(VMM)的两种类型:Type 1(裸机)和Type 2(托管),以及它们各自的特点和应用场景。
420

被折叠的 条评论
为什么被折叠?



