- 虚拟化定义
- IBM:虚拟化是资源的逻辑表示,它不受物理限制的约束
- 虚拟化常见类型
- 基础设施虚拟化
- 网络虚拟化
- 存储虚拟化
- 系统虚拟化(VM)
- 软件虚拟化(Java)
- 基础设施虚拟化
- 服务器虚拟化
- 基本概念
- 服务器虚拟化将系统虚拟化技术应用于服务器上,将一个服务器虚拟成若干个服务器使用
- 最早IBM在大型机中使用,20世纪90年代由VMware将其引入x86pingtai
- 使用广泛的
- Citrix的Xen
- IBM的PowerVM,zVM
- Power VM和zVM对应p系列和z系列服务器,这些服务器在设计之初就考了如何虚拟出多台服务器
- Microsoft的Virtual PC,VirtualServer和Hyper-V
- VMware的VMware Server,VMware WorkStation,VMwarePlayer和VMware ESX Server
- 典型实现
- 寄宿虚拟化
- 虚拟机监视器是运行在宿主操作系统之上的应用程序
- 原生虚拟化
- 虚拟化平台直接运行在硬件之上
- 寄宿虚拟化
- 关键特性
- 多实例
- 一个物理服务器可以运行多个虚拟服务器,可以支持多个客户操作系统
- 隔离性
- 一个虚拟机与其他虚拟机完全隔离
- 封装性
- 一个完整的虚拟机环境对外表现为一个单一的实体
- 高性能
- 指虚拟机监视器的开销要控制在可承受的范围之内
- 多实例
- 核心技术
- CPU虚拟化
- 纯软件虚拟化
- 全虚拟化
- 二进制代码动态翻译技术
- 虚拟机监视器在关键的时候“欺骗”虚拟机,使得客户操作系统还以为自己在真实的物理环境下运行
- 优点:代码的转换工作是动态完成的,无需修改客户操作系统
- 半虚拟化
- 通过修改客户操作系统来解决虚拟机执行特权指令的问题
- 客户操作系统指导自己处在虚拟化环境中,主动配合虚拟机监视器
- 在需要的时候对虚拟化平台进行调用来完成敏感指令的执行
- 客户操作系统和虚拟化平台必须兼容
- 全虚拟化
- 硬件辅助虚拟化
- 支持虚拟化技术的CPU加入了新的指令集和处理器运行模式来完成与CPU虚拟化相关功能
- Intel:Intel VT
- AMD:AMD-V
- 纯软件虚拟化
- 内存虚拟化
- 内存是虚拟机最频繁访问的设备,与CPU虚拟化具有同样重要的地位
- 实现方法
- 影子页表法
- VMware Workstation
- VMware ESX Server
- KVM
- 页表写入法
- Xen
- 影子页表法
- 设备与I/O虚拟化
- 实时迁移技术(Live Migration)
- CPU虚拟化
- 性能分析
- 从应用对资源的利用情况进行性能分析
- 处理器密集型(CPU Intensive)
- 内存密集型(Memory Intensive)
- 输入/输出密集型(I/O Intensive)
- 实验结果
- CPU密集型小于5%
- 内存密集型小于5%
- I/O密集型较为接近
- 从服务质量的维度来评估
- 吞吐量
- 响应时间
- 结论
- 第一,服务器虚拟化会引入一定的系统开销,但不断在下降
- 第二,服务器虚拟化的各种实现技术之间存在一些不同点
- 第三,大型机的服务器虚拟化技术相比x86的服务器虚拟化技术具有明显的优势
- 第四,应针对其应用的特定进行实际测试调优后才可以上线
- 从应用对资源的利用情况进行性能分析
- 技术优势
- 降低运营成本
- 使得系统管理员摆脱大量繁重的与物理服务器,操作系统,中间件及兼容性问题打交道的管理工作
- 提高应用兼容性
- 加速应用部署
- 直接是部署封装好的操作系统和应用程序的虚拟机
- 提高服务可用性
- 服务可用性是指服务能够持续,可靠地运行的能力
- 由于虚拟机是单个的逻辑文件,方便制作备份和迁移
- 提升资源利用率
- 可以讲原有的多台服务器整合到一台物理服务器上,提高使用率
- 动态调度资源
- 有了实时迁移的能力,每个虚拟机可以在池内自由移动
- 可以即时调整虚拟机的资源
- 降低能源消耗
- 关闭利用率不高的服务器是最直观的节能减排方式
- 为解除应用于物理服务器的绑定提供了可能
- 降低运营成本
- 基本概念
- 其他虚拟化技术
- 网络虚拟化
- 虚拟局域网
- 虚拟专用网
- 最近出现同一网络设备可以运行多个虚拟的网络设备,如防火墙,VoIP,移动业务
- 存储虚拟化
- RAID
- NAS
- SAN
- 桌面虚拟化
- 应用虚拟化
- 解决程序依赖操作系统的问题
- 把应用对底层系统和硬件的依赖抽象出来,从而解除应用与操作系统和硬件的耦合关系
- 网络虚拟化