虚拟化技术即是对资源的抽象。
虚拟化技术的分类
1、从资源提供角度分类:
1.1 平台虚拟化
如果把x86平台的CPU、内存和外设作为资源,那对应的虚拟化技术就是平台虚拟化,在同一个x86平台上面,可以虚拟多个x86平台,每个平台可以运行自己独立完整的操作系统。
例如:QEMU、KVM、XEN Server、EXSI, Hyper-V等所管理的虚拟机。
概念:宿主机、客户机。
1.2 操作系统虚拟化:
如果把操作系统及其提供的系统调用作为资源,那虚拟化就表现为操作系统虚拟化,例如Linux容器虚拟化技术就是在同一个Linux操作系统上,虚拟出多个同样的操作系统,每个应用程序认为自己运行在一个独立的OS。
例如:LXC或Docker等所管理的容器。
总结:
虚拟化的分类:
从谁提供了资源的角度来分类。
硬件平台虚拟化,把我们的CPU/Mem当作资源,提供给虚拟机使用。
操作系统的虚拟化,把我们的操作系统和系统调用功能提供给虚拟机使用,这种就叫做操作系统虚拟化。
2、从虚拟化实现方式分类:
2.1 什么是虚拟化管理程序Hypervisor(VMM)
一种运行在物理机和虚拟机操作系统之间的中间软件层,可以允许多个操作系统和应用共享硬件,即虚拟机监视器,也称之为VMM。
Hypervisor是一种在虚拟环境中的元操作系统,他们可以访问服务器上包括磁盘和内存在内的所有物理设备,Hypervisor不但协调着这些硬件资源的访问,而且在各个虚拟机之间施加防护。当服务器启动并执行Hypervisor时,它会加载所有虚拟机客户端的操作系统同时会分配给每一台虚拟机适量的内存、CPU、网络和磁盘。
2.1.1 Hypervisor的作用:
Hypervisor是所有虚拟化技术的核心。
2.1.2 Hypervisor分类:
目前市场上各种x86管理程序(Hpyervisor)的架构存在差异,三个最主要的架构类别包括:
type I:虚拟机直接运行在物理系统硬件上,不需要低层操作系统,hypervisor充当了操作系统,需要修改客户机虚拟机操作系统,创建硬件全仿真实例,被称为裸机型。
typer II:虚拟机运行在传统操作系统上,同时创建的是硬件全仿真实例,被称为托管型。托管型/主机型Hypervisor运行在基础操作系统上,构建出一整套虚拟硬件平台(CPU/Memory/Storage/Adapter)使用者根据需要安装新的操作系统和应用软件,底层和上层的操作系统可以完全无关化,如windows运行Linux操作系统,主机虚拟化中VM中的应用程序调用硬件资源时需要经过VM内核->Hypervisor->主机内核,因此相对来说,性能是三种虚拟化技术中最差的。
typer III:虚拟机运行在传统操作系统上,创建一个独立的虚拟化实例(容器)。指向底层托管操作系统,被称为“操作系统虚拟化”。操作系统虚拟化是在操作系统中模拟运行应用程序的容器,所有虚拟机共享内核空间,性能最好,消耗资源最少。但是缺点是底层和上层必须使用同一个操作系统。
称为轻量级虚拟化,允许操作系统内核拥有彼此隔离和分隔的多用户空间实例instance,这些实例也被称之为容器。其是基于Linux内核中的namespace、cgroup实现。
例如:LXC,Docker等。
上一篇:信息学竞赛中常用名词