1 引入虚拟化的必要性
美国环境保护署研究服务器和数据中心的能源效率时发现,实际上服务器只有5%的时间实在工作的,其他时间服务器一直在休眠状态
引入虚拟化技术前
- 每台主机只有一个操作系统
- 软硬件紧密结合
- 在同一个主机上运行多个应用程序通常会发生冲突(端口)
- 系统资源利用率低
- 硬件成本高昂且不够灵活
引入虚拟化技术后
- 打破操作系统和硬件的互相依赖
- 通过封装到虚拟机的技术,管理操作系统和应用程序为单一的个体
- 强大的安全和故障隔离
- 虚拟机是独立于硬件的,它们能在任何硬件上运行
2 虚拟化技术分类
虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统。并且应用程序都可以在相互独立的空间运行而互不影响,从而显著提高计算机的工作效率
2.1 虚拟化程度分类
2.1.1 全虚拟化技术
完全虚拟化技术又叫硬件辅助虚拟化技术,最初所使用的技术就是全虚拟化,它在虚拟机和硬件之间加了一个软件层:虚拟机监视器(hypervisor)
- 直接运行在物理硬件之上-KVM
- 运行在另一个操作系统中-QEMU 和 WINE
2.1.2 半虚拟化技术
半虚拟化技术也叫准虚拟化技术,是在全虚拟化技术的基础上,把客户操作系统进行修改,增加一个专门的API,这个API可以把客户操作系统发出的指令进行最优化,即不需要hypervisor耗费一定的资源进行翻译操作,hypervisor的负担很小,整体性能也有很大的提高
2.2 虚拟化架构分类
2.2.1 寄居架构
就是在操作系统之上安装和运行虚拟化程序,依赖于主机操作系统对设备的支持和物理资源的管理
- 优点:简单,便于实现,直接利用操作系统lib库进行开发。
- 缺点:依赖于主机操作系统对设备的支持,硬件资源消耗严重;如果宿主操作系统崩溃的话直接影响上层应用稳定性
- 举例:GSX Server,VMWare Server,Workstation
2.2.2 裸金属架构
直接在硬件上面安装虚拟化软件,再在其上安装操作系统和应用,依赖虚拟层内核和服务器控制台进行管理
- 优点:虚拟机不依赖于操作系统,可以支持多种操作系统,多种应用,更加灵活。
- 缺点:虚拟层内核开发难度大
- 举例:VMWare ESXI Server