虚拟化是对资源的逻辑抽象、隔离、在分派、管理的过程。
专指在一台计算机上虚拟为多台逻辑计算机(虚拟机),每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间运行而不受影响,从而显著的提高计算机效率。

发展历史

  • 萌芽期——20世纪60、70年代
    • 1959年,首次提出虚拟化技术
  • 蓬勃发展期——20世纪90年代
    • VMware 为首的软件公司实现了x86服务器架构的虚拟化
  • 高速发展期——至今
    • 各种虚拟化产品应运而生

      虚拟化的必要性

      背景:美国环境保护署(EPA)报告发现,实际上服务器只有5%的时间是在工作的。在其他时间,服务器都是在“休眠”状态。

虚拟化前

  • 每台主机只能运行一个操作系统
  • 软件硬件紧密结合
  • 在同一主机上运行多个应用程序通常会遭遇冲突
  • 系统的资源利用率低
  • 硬件昂贵且不灵活

虚拟化后

  • 打破了操作系统和硬件的互相依赖
  • 通过封装虚拟机的技术,操作系统和应用程序成为单一个体
  • 强大的安全和故障隔离
  • 虚拟机是独立于硬件的,可在任何硬件上运行

通过虚拟化技术将一台计算机虚拟为多台逻辑计算机
虚拟化技术整合了计算设备、存储设备、网络设备以及桌面应用,能够提高资源利用率。同时为云计算提供了技术基础。

虚拟化技术分类

虚拟化技术从实现的层次可以分为:

  • 基础设施虚拟化
    • 根据 IBM 有关虚拟化和云计算的观点,将相关硬件(CPU、内存、硬盘、声卡、显卡、光驱)虚拟化、网络虚拟化、存储虚拟化、文件虚拟化、归类为基础设施虚拟化
  • 系统虚拟化
    • 最被广泛接受的一种虚拟化技术。实现了操作系统和物理计算机的分离,使得一台物理计算机上可同时安装和运行多个虚拟操作系统。
      • 优势:硬件共享、统一管理、系统隔离
  • 软件虚拟化
    • 针对软件平台的虚拟化技术,主要包含了应用虚拟化高级语言虚拟化
      • 应用虚拟化:将应用程序与操作系统解耦合,为应用程序提供了一个虚拟的运行环境。
      • 高级语言虚拟化:解决的是可执行程序在不同计算机的迁移问题。高级语言编写的程序被编译为中间指令,这些指令被解释执行或动态执行,因此可运行在不同的体系结构上。

应用领域的角度可分为:

  • 服务器虚拟化
    • 服务器虚拟化将一个物理服务器虚拟化成若干服务器使用,服务器虚拟化是基础设施即服务( IaaS) 的基础。
  • 存储虚拟化
    • 基础设施即服务(IaaS)的基础。存储虚拟化将整个云计算的存储资源进行整合统一管理,为用户提供了一个统一的存储空间。
  • 应用虚拟化
    • 软件即服务(SaaS)的基础,把应用对底层系统和硬件的依赖抽象出来,从而将应用程序与操作系统解耦合,为应用程序提供了一个虚拟的运行环境。
  • 网络虚拟化
    • 基础设施即服务(IaaS)的基础。
  • 桌面虚拟化

    全虚拟化技术

    全虚拟化技术又叫硬件辅助虚拟化技术,最初使用虚拟化技术就是全虚拟化

    半虚拟化技术

    在全虚拟化的基础上,将操作系统进行修改,增加了一个专用API来讲操作系统的指令优化(难度高)。

    归纳、总结