1 什么是虚拟化
1.1 概念
在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种 实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结 构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资 源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟 化资源包括计算能力和资料存储。
在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的 硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件 物理资 源的充分利用虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化、桌面虚拟化、服务虚拟化、虚拟机等等。
1.2 虚拟化架构
1.2.1 全虚拟化
在全虚拟化的虚拟平台中,GuestOS并不知道自己是一台虚拟机,它会认为自己就是运 行在计算机物理硬件设备上的HostOS。因为全虚拟化的VMM会将一个OS所能够操作的 CPU、内存、外设等物理设备逻辑抽象成为虚拟CPU、虚拟内存、虚拟外设等虚拟设备 后,再交由GuestOS来操作使用。这样的GuestOS会将底层硬件平台视为自己所有的, 但是实际上,这些都是VMM为GuestOS制造了这种假象。
1.2.2 操作系统虚拟化
操作系统层虚拟化是指通过划分一个宿主操作系统的特定部分,产生一个个隔离的操作 执行环境。操作系统层的虚拟化是操作系统内核直接提供的虚报化,虚拟出的操作系统 之间共享底层宿主操作系统内核和底层的硬件资源。操作系统虚拟化的关键点在于将操 作系统与上层应用隔离开,将对操作系统资源的访问进行虚报化,使上层应用觉得自己 独占操作系统。
1.2.3 平台虚拟化
平台虚拟化表现为在一个给定的硬件平台上宿主机创造一个模拟的计算机环境虚拟机提 供给客户机。客户机软件对于用户应用程序没有限制;许多宿主机允许运行真实的操作系 统。客户机就好像直接运行在计算机硬件上,伴随着几个明显的警告。虚拟机对硬件资 源(如网络,显示器,键盘,硬盘)的访问被统一管理在一个比处理器和系统内存更有限制 性的层次上。客户软件经常被限制访问计算机周边设备,或者被限制在较低的设备性能 上,这取决于宿主机硬件访问策略设定。
1.3 hypervisor
Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统