已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Vmware与虚拟化技术 CompanyLogo preview Vmware的I O虚拟化 Vmware的CPU虚拟化 Vmware内存虚拟化 Vmware简介 虚拟化技术概述 CompanyLogo Vmm简介 Vmm就是虚拟机监视器 VirtualMachineMonitor 它是建立在虚拟机和硬件中间的一层监控软件 负责对硬件资源以及各个虚拟机之间进行协调 分配和管理 CompanyLogo Vmm的发展历程 2005年 1990年代 1980 1990年代 1960年代 CompanyLogo VMM的特性 CompanyLogo VMM三种模型 根据VMM在物理系统中实现位置不同 主要分为三种监控模式 就是说VMM完全安装在裸机上 拥有最高控制权 客户os处于低特权级别 VMM可以干涉客户os的任何行为 主机模式 虚拟机安装在主机os上 这样不用修改原来的操作系统 并且主机os可以提供良好的设备驱动 但是这种方式性能比较低下 比如vmware就是使用了主机模式 混合模式 结合了以上两种模式的好处 性能比主机模式好 也可以利用原有os的设备驱动 比如XEN就是混合模式的虚拟机的例子 CompanyLogo 虚拟化技术分类 虚拟化技术主要分为完全虚拟化和半虚拟化 完全虚拟化方法 不需要修改客户os 可以同时支持不同的os 完全虚拟化方法的代表是vmware 现在Inter的Vanderpool技术 AMD的Pacifica技术已经对完全虚拟化方法提供硬件支持 半虚拟化方法 需要修改客户os来适应新的体系结构 产生对现有os的兼容问题 不过由于半虚拟化方法可以修改客户机的体系结构 这样总体性能还是可以提高 半虚拟化方法的代表是XEN CompanyLogo Vmware简介 VMWare是一款很流行的运行在IA 32平台上的虚拟机软件 其特点如下 vmm模型 属于主机os模型 Vmware的虚拟机安装在主机os上 由主机os来提供良好的设备驱动 虚拟化方法 Vmware采用完全虚拟化技术 所以不需要修改原来的操作系统 而且可以同时支持不同的操作系统 主机和vmm切换开销大 速度比较慢 CompanyLogo Vmware内存虚拟技术 VMWare主要采用的内存虚拟技术 Balloon技术基于内容的页共享技术空闲内存缴税技术 idlememorytax 动态再分配策略 CompanyLogo Balloon技术 VMM控制每个vm得到多少内存 也必须周期性的换出页面到磁盘 来回收内存 但客户os可能比vmm有更好的调度算法 VMware的ESXserver使用了一种气球 balloon 进程 气球 balloon 模块作为内核服务程序加载到guestos中 通过一个私有的信道与ESX服务器通信 如果Vmm要回收内存 则询问balloon进程 对其加压 使得气球膨胀 在气球膨胀过程中 客户os感受到了自己内存的压力 很专业地选出适合换出的页面 并且告诉balloon 这个balloon再告诉vmm换出哪些页面 气球放气的过程与气球充气过程相反 guestos给气球放气 通知Vmm要重新分配内存 CompanyLogo 基于内容的页共享技术 现代os和app都比较大 运行多个vm 意味着要使用可观的内存来存储不同vm中相似的冗余的多份代码 数据的拷贝 vmware使用基于内容的页面共享来支持服务器 Vmm追踪物理页面的内容 如果发现它们是相同的 那么vmm修改vm的影子页表来指向一个唯一的拷贝 这样Vmm就可以降低冗余度 节约出内存 因为使用了copyonwrite的页面共享模式 VMM在相应页面内容发生改变之前 才为每个VM拷贝一份 极大节约了物理内存的使用 试想 一个x86计算机上运行了30台使用window2000的vm 但内存里面却只有一份windows内核 将大大节约物理内存 CompanyLogo 空闲内存缴税技术 ESX服务器通过引进空闲内存缴税技术 idlememorytax 解决内存管理 该技术基本思想就是不活动的客户程序的空闲页面所收的税比活动的客户程序的空闲页要多 当内存感到压力时 优先回收不活动的客户程序的页 税率规定了可能从客户程序回收的空闲页面的最大部分 CompanyLogo 空闲内存缴税技术 有一个公式来计算每个页共享的比率这里的S是表示共享的页 P是表示分配的页 f是表示活动的部分 空闲页的开销是 其中 税率控制回收空闲内存需要的策略 极端情况下 0说明这个策略纯粹基于共享的隔离 表示所有的客户程序的空闲内存都可以回收 CompanyLogo 空闲内存缴税技术 ESX服务器的空闲页面税率参数默认配置为75 这样允许回收系统中大多数空闲内存 而且也能提供一些缓冲 预防突发的大量请求分配内存的状况 屏蔽系统回收的延迟 CompanyLogo 动态再分配策略 大多数操作系统想要保持一个最小的空闲内存的数量 例如BSDUnix通常当内存小于5 时开始回收内存 直到内存达到7 才停止回收内存 ESX服务器也是这样实现的 但它使用了4级回收入口来反应不同的回收状态 High 对应6 high状态下 空闲内存充足 没有执行回收的动作 Soft 对应4 soft状态 系统使用气球技术回收内存 仅在气球机制回收力度不够才使用页面调度 Hard 对应2 hard状态下 系统主要依靠强制的页面调度来回收页面 Low 对应1 一旦空闲页面的数量达到low标准 系统通过页面调度持续的对内存进行回收 并且阻塞所有正在执行着的且超过它们内存分配数量的VM CompanyLogo Vmware的CPU虚拟化 直接执行技术 直接执行技术中 vm的特权指令和非特权指令都在CPU的非特权模式下 而VMM在特权模式下运行 当vm试着执行特权操作时 CPU捕捉异常 trap 到vmm 并使vm中特权操作与vmm控制时一样 这种方式让vmm得到对CPU的最大控制 例子 vmm处理一条关中断指令 如果让客户os可执行关中断是不安全的 如果这样vmm就无法重新获得CPU控制权 所以其做法是 vmm捕捉客户的关中断操作 并且记录相应的vm已经关中断 Vmm只是延时发送中断结果 直到特定的vm开中断为止 CompanyLogo Vmware的CPU虚拟化 二进制翻译 二进制翻译 BT 是从一种指令集到另一种指令集的自动代码转换 二进制翻译可以分为动态翻译和静态翻译 可以仅翻译用户级代码也可以进行整系统翻译 静态翻译是在脱机过程中进行翻译工作 然后在运行时执行翻译过的代码 动态二进制翻译是在程序运行期间把代码片段从旧指令集翻译到目标指令集 CompanyLogo Vmware的CPU虚拟化 二进制翻译 输入的是二进制的代码 翻译出来的是二进制指令的子集 翻译有一部分是将特权指令转换为非特权指令 BT在翻译的同时 还使用了一些虚拟的寄存器 供修改指令的时候使用 可以让一些访问特殊寄存器的指令来访问虚拟寄存器 BT首先根据二进制代码生成IR intermediaterepresentation 对象 然后将这些IR分为翻译单元TU 12个指令一个单元 如果有控制流语句 比如跳转语句等等也作为划分的依据 接着就对这样一个单位进行翻译 生成CCF compiledcodefragment BT翻译出来的代码放在TC translationcache 中替代原来的代码执行 执行相同的代码 比如循环等 一段CCF可以重复使用 CompanyLogo Vmware的CPU虚拟化 Vmware的做法 直接执行 快速二进制翻译结合 为了提供一种快速 兼容的x86虚拟化 Vmware研发出一种新的虚拟化技术 这种技术将传统的直接执行 快速二进制翻译结合 在现代os中 运行普通app程序的处理器模式都是可虚拟化的 于是可以使用直接执行方式 一个二进制翻译器可以运行不可虚拟化的特权模式 使用不可虚拟化的x86指令集合 这种vm可以与硬件匹配 也可以保持软件兼容性 CompanyLogo Vmware的CPU虚拟化 VMware的二进制译码源 目标指令集集合相同 比较简单 在二进制翻译器的控制下运行特权指令代码 译码器把内核码翻译成相似的块 使得翻译后的模块直接在CPU上运行 代替敏感的指令 二进制翻译系统把已经翻译的块缓存到tracecache 这样在后续执行时就无需重复翻译了 二进制翻译虽然要花费代价 但是其工作负荷可以忽略 译码器只运行代码的一个片段 当tracecache热身后 其执行速度与直接执行几乎无异 二进制翻译可以减少trap捕捉带来的开销 是直接执行的优化方法 CompanyLogo Vmware的I O虚拟化 面临问题 现在的计算环境中有越来越多种类的I O设备 I O虚拟变得更难 X86环境支持不同厂商的不同程序接口 vmm需要与很多种类的设备通信 这个编写工作很难 比如图形子系统和现代服务器的网络接口都对性能要求很高 这对虚拟化的效率要求就更高了 CompanyLogo Vmware的I O虚拟化 Vmware的策略 VMWare针对这个问题把VMM的层次搭在一个操作系统之上 使用宿主机os结构 宿主机os一般是windows或者linux 一般I O都有这些os的驱动 对于I O的访问就可以使用宿主操作系统中的驱动 如果VM上的操作系统要读取虚拟磁盘 VMM就将它转化为宿主操作系统中读取文件的工作 如果VM上的操作系统要对显示设备进行访问 就由操作系统对于VM的虚拟显示设备进行操作 CompanyLogo Vmware的I O虚拟化 主机os模式的好处 容易安装 就像装个应用程序一样很容易从宿主机上得到对I O设备的支持还可以使用宿主机上的调度 资源管理等服务主机os模式的缺点 效率太低 虚拟机对I O的访问必须先传给宿主机 然后还要通过宿主机的软件层 宿主机的资源管理通常不会提供操作隔离和服务保证 CompanyLogo Vmware的I O虚拟化 VMM世界和主机世界 Vmware的主机vm模式把虚拟软件分为2个部分 一部分是vmm 用于虚拟CPU 另外一部分是一个使用os进行设备支持的app以及一个置于os内部的VMdriver来作为app和os的中介 CompanyLogo Vmware的I O虚拟化 VMM世界和主机世界 CompanyLogo Vmware的I O虚拟化 VMM世界和主机世界 Vmwareworkstation象普通程序一样安装在os中 宿主 运行时候 vmapp部分使用vmdriver把自己加载到主os中 从而建立起直接运行在硬件上的特权VMM 于是 物理处理器要么运行在vmm世界 要么运行在主机世界 而vmdriver控制2个世界的转换 在vmm和主机世界之间切换 包括保存和重启CPU上所有的用户和系统状态 在这种体系结构中 当客户os进行I O操作时 VMM截取这个操作 并且切换到主机世界 而不是直接访问本地硬件 在主机世界 vmapp会代替vm使用适当的系统调用以实现I O操作 比如 客户os请求磁盘扇区的操作 可能转换为主机os中的read 调用来获取相应数据 CompanyLogo Vmware的I O虚拟化 VmDriver VMWare并不完全在应用程序空间运行 它安装一个操作系统驱动VMDriver 这样可以很容易地访问设备 Vmware的Vm安装在主机os上 VMdriver作为驱动保证它能更快访问设备 在网络接口的实现 VMDriver将物理网卡置为混杂模式 Vmware通过VmDriver创建一种虚拟以太网桥 收取所有的网络包 VmDriver分析所有的包 并且分发给每个相应的虚拟机 Vmdriver在虚拟网桥中可以实现NAT 网络地址翻译 这样每个vm都以为自己有独立的IP CompanyLogo Vmware的I O虚拟化 虚拟化I O设备为了虚拟化I O设备 vmm必须截获所有的客户os的I O操作 在PC机上 这些访问是通过特权的IA 32IN和OUT指令完成的 这些指令被VMM捕捉 并且在vmm或者vmapp中被相关软件模拟 任何与物理I O硬件交互的行为都交给vmapp来处理 vmm也可能处理那些不与硬件交互的访问 要提供完全的硬件虚拟比较困难 所以VMWare提供一个通用的系统虚拟 PS 2键盘 PS 2鼠标 软驱 IDE控制器 ATAPI光驱 Soundblaster声卡 串口 并口 一个标准显卡和一些网卡 提供一个通用的硬件虚拟大大简化了VMWare的实现 少量的虚拟设备可以减轻I O虚拟化的工作量 在主机体系结构下虚拟化I O设备的开销主要来自vmm和主机世界的切换 另外还来自处理与硬件通信的特权指令 对于持续高吞吐量和低延迟的设备 这些开销非常显著 而对于键盘等设备 基本没有影响 CompanyLogo Vmware的I O虚拟化 虚拟网卡 虚拟网卡在客户os看来是功能齐全的PCI以太网控制器 有它自己的MAC地址 虚拟的网卡用2种方式与主机相连 一是它可以被桥接到与物理网卡相同的物理网络 或者它可以被连接到一个建立在主机上的虚拟网络 这2种情况下的连接都是通过VMNetdriver 被加载到主机os里面的一种驱动 实现的 严格来说 被桥接到物理网卡的虚拟网卡其实是真实的以太网桥 它的包都带有自己的MAC地址 被发送 VMNetdriver把被桥接的物理网卡设置为混合模式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东佛山市唯顺商贸有限公司招聘电商营运职业经理人1人备考题库附答案详解(综合卷)
- 2026《真空电子技术》青年编委招聘备考题库含答案详解(满分必刷)
- 2026浙江温州市洞头人才发展有限公司招聘1人备考题库(教务辅助)附答案详解(巩固)
- 2026新疆兵团第四十一团医院招聘2人备考题库附答案详解ab卷
- 2026山东枣庄市口腔医院第一批青年就业见习招募22人备考题库附答案详解(模拟题)
- 2026云南昆明市卫生健康委员会全国引才活动第二批后备人才招聘54人备考题库附答案详解(典型题)
- 2026其亚新疆集团有限公司招聘备考题库含答案详解(能力提升)
- 语文高二巩固卷答案【黑吉辽蒙卷】辽宁省点石联考2025年10月高二巩固卷(10.20-10.21)
- 2026年叉车司机安全培训试卷及答案
- 福建师范大学协和学院《中药学》2025-2026学年期末试卷
- 2026年高考作文素材积累:从“存亡危机”到“斩首警告”的中日关系风暴
- 2025年全国统一高考英语试卷(新高考Ⅱ)
- 2025年客运驾驶员从业资格证考试题库及答案
- 危化品甲类库房安全规范要求
- 高中数学公式大全(必修-+-选修)
- EPC总承包项目管理组织方案投标方案(技术标)
- 2025版银屑病常见症状及护理原则
- 【《发动机气缸体的加工工艺分析及专用夹具设计》14000字(论文)】
- 书香教师读书分享
- 五年(2021-2025)高考地理真题分类汇编:专题15 中国地理和世界地理(全国)(原卷版)
- 行车工考试题库及答案
评论
0/150
提交评论