虚拟化技术简介
虚拟化技术其实很早以前就已经出现了,虚拟化的概念也不是最近几年才提出来的。虚拟化技术最早出现于20世纪60年代,那时候的大型计算机已经支持多操作系统同时运行,并且相互独立。如今的虚拟化技术不再是仅仅只支持多个操作系统同时运行这样单一的功能了,它能够帮助用户节省成本,同时提高软硬件开发效率,为用户的使用提供更多的便利。尤其近年来,虚拟化技术在云计算与大数据方向上的应用更加广泛。虚拟化技术有很多分类,针对用户不同的需求涌现出了不同的虚拟化技术与方案,如网络虚拟化、服务器虚拟化、操作系统虚拟化等,这些不同的虚拟化技术为用户很好地解决了实际需求。
虚拟化技术的概念
虚拟化技术作为一种计算机资源管理技术,将各种的IT实体资源抽象转化为另一种形式的技术。
虚拟化技术的分类
1.寄居虚拟化:在主操作系统上安装和运行的一个程序。例:操作系统:VMware、Workstation等。
CPU、内存、显卡等 |
应用 |
应用 |
客户操作系统 |
虚拟化层 |
主操作系统 |
特点:
1)简单易于实现
2)安装和运行应用程序时,依赖于主操作系统对设备的支持
3)有两层OS,管理开销大,性能损耗大
4)虚拟机对各种物理主机的调用都是通过虚拟化层和宿主OS一起调用完成
2.裸金属虚拟化:在硬件上部署虚拟化层。例:操作系统:VMware、ESX、Xen等。
应用 |
应用 |
客户操作系统 |
客户操作系统 |
虚拟化层 |
CPU、内存、显卡等 |
特点:
1)不依赖于操作系统
2)支持多操作系统
3)依赖虚拟层内核和服务控制台进行管理
4)需要对虚拟层进行内核开发
3.混合虚拟化:插入内核模块。例:操作系统:KVM。
应用 |
应用 |
应用 |
CPU、内存、显卡等 |
Host OS |
Host OS |
Host OS |
宿主操作系统 内核(虚拟硬件管理) |
特点:
1.相对于寄居虚拟化性能高
2.相对于裸金属虚拟化不需要内核开发
3.支持多种操作系统
4.需要底层硬件支持虚拟扩展功能
虚拟化层架构
从虚拟化的程度来看,服务器虚拟化还可分为:全虚拟化(KVM),半虚拟化(Xen)和硬件辅助虚拟化。
1.全虚拟化:即所抽象的KVM具有完全的物理特性,虚拟化层负责捕获CPU指令,为指令访问硬件充当媒介。
Linux OS VM1 |
Windows OS VM2 |
Linux OS (KVM) |
CPU、显卡、内存等 |
特点:
1.OS无需修改
2.速度和功能比较好,使用非常简单
3.移植性好
2.半虚拟化:通过事先经过修改的客户机操作系统内核共享宿主底层硬件来实现的。
Linux OS VM1 |
Windows OS VM2 |
VMM(Xen) |
CPU、显卡等 |
特点:
1.架构更简单
2.对OS进行修改,用户体验比较麻烦
3.速度上占一定优势
3.硬件辅助虚拟化
虚拟化技术的优势和劣势
优势:
- 减少物力资源的投入,节约成本
- 虚拟数据资源迁移方便
- 提高物理资源的使用率
- 更加环保,节约能源
- 易于自动化维护与操作,减少维护成本
- 数据安全更有保障
劣势:
- 目前业界没有统一的虚拟化技术标准与平台,没有开放的协议
- 如果没有对数据进行备份,应用虚拟化技术会存在一定的风险
- 虚拟数据中心的迁移,特别是对在线服务的迁移,对用户影响巨大
全虚拟化与半虚拟化举例对比
KVM(性能)
1)全虚拟化
2)内置在内核中
3)便于版本安装、升级、维护
4)性能好
Xen(安全)
1)半虚拟化
2)需要修改内核
3)更新版本,重新编辑整个内核
4)隔离好
虚拟化技术与云计算
云计算1.0——以虚拟化为核心
云计算2.0——以资源为核心
云计算3.0——以应用为核心
云计算:一种服务
虚拟化:一种技术基础
物理机
- 操作系统(Host OS)
- 硬件(Host Machine)
虚拟机
- 操作系统(Guest OS)
- 虚拟机(Guest Machine)
- VMM(虚拟监控器)
- 硬件(Host Machine)
操作系统 Host OS |
硬件 Host Machine |
操作系统 Guest OS |
操作系统 Guest OS |
虚拟机 Guest Machine |
虚拟机 Guest Machine |
VMM虚拟监控器 |
硬件 Host Machine |
虚拟化的特点
- 分区——可分为多个虚拟机
- 隔离——虚拟机与虚拟机之间相互独立
- 封装——独立的文件夹形式
- 相对于硬件独立——屏蔽底层硬件不兼容问题