Transcript 虚拟化概论
虚拟化概论 主要内容 • 虚拟化的定义 • 服务器虚拟化 • 其他虚拟化技术 2.1 虚拟化的定义 2.1.1 走进虚拟化 • 虚拟相对于真实,虚拟化就是将原本运行在真实环境上的 计算机系统或组件运行在虚拟出来的环境中。 软件虚 拟化 虚拟 内存 系统虚 拟化 基础设施虚 拟化 Java语 言虚 拟机 2.1.2 虚拟化的定义 Wikipedia:虚拟化是表示计算机资源的抽象方法,通过虚拟化可以 用与访问抽象前资源一致的方法访问抽象后的资源。这种资源的抽 象并不受实现、地理位置或底层资源的物理配置的限制 WhatIs.com:信息技术术语库:虚拟化是为了某些事物创造的的虚拟 版本,比如操作系统、计算机系统、存储设备和网络资源等 Open Grid Services Architecture: 虚拟化是为一组相似资源提供一个 通用的抽象接口集,从而隐藏属性和操作之间的差异,并允许通过 一种通用方式来查看并维护资源 IBM:虚拟化是资源的逻辑表示,它不受物理限制的约束 2.1.2 虚拟化的定义 • 三层含义: – 虚拟化的对象是各种各样的资源 – 经过虚拟化后的逻辑资源对用户隐藏了不必要的 细节 – 用户可以在虚拟环境中实现其在真实环境中的部 分或者全部功能 2.1.3 虚拟化的常见类型 • 基础设施虚拟化 – 网络虚拟化:将网络的硬件和软件资源整合,向用 户提供虚拟网络连接 • 虚拟局域网Virtual LAN • 虚拟专用网VPN – 存储虚拟化:为物理的存储设备提供一个抽象的逻 辑视图,用户可以通过这个视图中的统一逻辑接口 来访问被整合的存储资源 • 基于存储设备的存储虚拟化 – 磁盘阵列技术(RAID) • 基于网络的存储虚拟化 – 网络附加存储(NAS)、存储区域网(SAN) 2.1.3 虚拟化的常见类型 • 系统虚拟化 – 实现操作系统与物理计算机的分离,使得在一台物理计算机 上可以同时安装和运行一个或多个虚拟的操作系统 – 虚拟机:使用系统虚拟化技术,运行在一个隔离环境中、具 有完整硬件功能的逻辑计算机系统,包括操作系统和其中的 应用程序 • VMware Workstation • IBM z系列和p系列服务器 2.1.3 虚拟化的常见类型 • 软件虚拟化 – 应用虚拟化 • 将应用程序与操作系统解耦合,为应用程序提供一 个虚拟的运行环境 – 高级语言虚拟化 • 解决可执行程序在不同体系结构计算机之间迁移问 题 2.2 服务器虚拟化 2.2.1 基本概念 • 服务器虚拟化将系统虚拟化技术应用于服 务器上,将一个服务器虚拟成若干个服务 器使用 2.2.2 典型实现 • 服务器虚拟化通过虚拟化软件向上提供对 硬件设备的抽象和对虚拟服务器的管理 – 虚拟机监视器(Virtual Machine Monitor) – 虚拟化平台(Hypervisor) 2.2.2 典型实现 • 服务器虚拟化的两种类型: 寄宿虚拟化 原生虚拟化 是否依赖于宿主操作系统 完全 不 性能 低 高 实现的难易程度 易 难 2.2.3 关键特性 多实例 隔离性 封装性 高性能 2.2.4 核心技术 • 三种硬件资源的虚拟化:CPU、内存、设备和 I/O,还有虚拟机的实施迁移 • CPU虚拟化 – 把物理CPU抽象成虚拟CPU,任何时刻一个物理CPU 只能运行一个虚拟CPU的指令 – 在x86体系中实现虚拟化,需要在客户操作系统以 下加入虚拟化,来实现物理资源的共享 – 虚拟化x86体系结构问题的关键在于虚拟机里执行 的敏感指令不能直接作用于真实硬件之上,需要被 虚拟机监视器接管和磨叽 2.2.4 核心技术(CPU虚拟化) • 解决x86体系结构下CPU虚拟化问题的软件方案 全虚拟化 • 采用二进制代码动态翻译 技术(敏感指令前插入陷 入指令) • Microsoft Virtual PC , VMware WorkStation 半虚拟化 • 修改客户操作系统来解决 虚拟机执行特权指令的问 题 • Citrix Xen, VMware ESX Server • 硬件辅助虚拟化:在CPU中加入新的指令集和处 理器运行模式来完成与CPU虚拟化的相关功能 2.2.4 核心技术(内存虚拟化) • 内存虚拟化:把物理机的真实物理内存统一管理, 包装成多个虚拟机的物理内存给若干虚拟机使用 • 虚拟机监视器需要维护物理机里的内存地址块和虚 拟机内部的连续内存块的映射关系,具备管理虚拟 机内存的机制 2.2.4 核心技术(内存虚拟化) • 逻辑内存与机器内存之间的映射关系由虚拟化管理单元 来负责的,其实现方法有: 影子页表法 页表写入法 2.2.4 核心技术(设备与I/O虚拟化) • 主流的设备和I/O虚拟化通过软件的方式实现 物理 设备 虚拟 设备 VMware 虚拟化 平台 虚拟 机 2.2.4 核心技术(设备和I/O虚拟化) • 服务器虚拟化中每个虚拟机都是一个独立的逻 辑服务器,之间通信通过网络接口进行 • 每个虚拟机分配了虚拟的网络接口 2.2.4 核心技术(实时迁移技术) • 实时迁移技术是在虚拟机运行过程中,将整个 虚拟机的运行状态完整、快速地从原来的宿主 机硬件平台迁移到新的宿主机硬件平台上 • 整个过程是平滑的,用户不会察觉 • 需要虚拟机监视器的协助 2.2.5 性能分析 • 服务器应用三种类型: – 处理器密集型、内存密集型、I/O密集型 • 服务器虚拟化的性能测试报告 • 结论 – 服务器虚拟化会引入一定的系统开销 – 不同实现技术之间存在差异 – 大型机的服务器虚拟化技术具有优势 – 虚拟化环境的企业应用上线之前需进行针对应 用特点的实际测试调优 2.2.6 技术优势 降低运营 成本 降低能源 消耗 提高应用 兼容性 动态调度 资源 加速应用 部署 提升资源 利用率 提高服务 可用性 2.3 其他虚拟化技术 2.3.1 网络虚拟化 • 虚拟局域网 – 将一个物理网划分成多个虚拟局域网 – 将多个物理网划分到一个虚拟网中 • 虚拟专用网 – 允许远程用户访问组织内部的网络 2.3.2 存储虚拟化 • RAID(Redundant Array of Independent Disk) – 多个物理磁盘以阵列的方式组合 – 为上层提供统一的存储空间 • NAS(Network Attached Storage) – 文件系统与本地计算机解耦合 – 文件存储集中在连接到网络上NAS存储单元 – 存储共享在文件级别上 • SAN(Storage Area Network) – 由磁盘阵列连接光纤通道组成 – 存储共享在磁盘区块级别上 2.3.3 桌面虚拟化 • 桌面虚拟化将用户的桌面环境与其使用的终端 设备解耦合 • 好处: – 能够使用软件从集中位置来配置PC及其他客户端设 备 – 方便管理者对企业终端进行统一认证、管理和调配 资源 – 协助企业进一步简化轻量级客户端构架 – 可以对客户环境进行快照、备份 2.3.4 应用虚拟化 • 应用虚拟化把应用对底层的系统和硬件的依赖抽象出 来,从而解除应用与操作系统的和硬件的耦合关系 • 为应用程序提供了一个虚拟的运行环境 2.4 小结 • 虚拟化技术的概念、主要类型、优势、性 能和各种类别的虚拟化技术 • 下章我们介绍实时服务器虚拟化的关键技 术