210 likes | 342 Views
E6998 – 虚拟机 第 4 讲 设备虚拟化. Scott Devine VMware, Inc. 大纲. 设备虚拟化的类型 直接访问 仿真 半虚拟化 存储虚拟化 [ 贮存虚拟化 ] 写时复制磁盘( Copy-on-Write ). 计算机系统组织结构. CPU. 内存. MMU. 控制器. 本地总线. 接口. 高速 I/O 总线. 帧 缓存 [ 缓 冲器 ]. NIC. 控制器. Bridge. 局域网. 低速 I/O 总线. CD-ROM. USB. 设备虚拟化. 目标 隔离 多路技术 速度 移动性
E N D
E6998 – 虚拟机第4讲设备虚拟化 Scott Devine VMware, Inc.
大纲 • 设备虚拟化的类型 • 直接访问 • 仿真 • 半虚拟化 • 存储虚拟化[贮存虚拟化] • 写时复制磁盘(Copy-on-Write )
计算机系统组织结构 CPU 内存 MMU 控制器 本地总线 接口 高速 I/O总线 帧缓存[缓 冲器] NIC 控制器 Bridge 局域网 低速 I/O 总线 CD-ROM USB
设备虚拟化 • 目标 • 隔离 • 多路技术 • 速度 • 移动性 • 干涉[插入] • 设备虚拟化策略 • 直接访问 • 仿真 • 半虚拟化
直接访问设备 VM Guest OS CPU 内存 MMU 控制器 本地总线 接口 高速 I/O 总线 帧缓冲器 NIC 控制器 Bridge 局域网 低速 I/O 总线 CD-ROM USB
内存隔离w/ 直接访问设备 VM Guest OS CPU 内存 MMU 控制器 本地总线 接口 IOMMU 高速 I/O 总线 帧缓冲器 NIC 控制器 Bridge 局域网 低速 I/O 总线 CD-ROM USB
已启用虚拟化的设备[设备的虚拟化] VM2 Guest OS VM1 Guest OS CPU 内存 MMU 控制器 本地总线 接口 IOMMU 高速 I/O 总线 vNIC 2 vNIC 1 帧缓冲器 NIC 控制器 Bridge 局域网 低速 I/O 总线 CD-ROM USB
直接访问设备虚拟化 • 允许客户操作系统直接访问底层设备 • 优点 • 速度快 • 简化了监视器 • 只需要有限的设备驱动程序 • 缺点 • 安全性(IOMMU)需要硬件支持 • 多路需要硬件支持 • 硬件接口对客户机可见 • 限制了VM的迁移性 • 根据定义很难干涉[插入]
仿真的设备 • 仿真设备 • 仿真寄存器 • 内存映射的I/O 或者可编程的I/O • 转换[转变] • 中间表示 • 每个真实设备的后端
串口示例 用户应用 客户机 串口芯片ABC 仿真 通用串口层 串口芯片ABC驱动程序 宿主操作系统 监视器 串口 芯片 XYZ 局域网
仿真的设备 • 优点 • 平台稳定 • 允许插入 • 不需要特定的硬件支持 • 由虚拟机监视器实现隔离和多路 • 缺点 • 速度慢 • 需要虚拟机监视器或宿主机中的驱动程序
半虚拟化的设备 • 客户操作系统在更高的抽象层把请求传递给监视器 • 发起请求时进行监视器调用 • 客户机和虚拟机监视器共享缓冲器 • 优点 • 简化了虚拟机监视器 • 速度快 • 缺点 • 虚拟机监视器需要提供客户操作系统相关[特定]的驱动 • (客户操作系统)自举[引导]问题
传统体系结构 Linux Linux (devel) XP Vista MacOS 虚拟机监视器 硬件
基于宿主机的监视器的体系结构 用户应用 客户操作系统(Linux) 宿主操作系统(Window XP) 虚拟机监视器 内核模块 硬件
VMware ESX 2.0 虚拟机 Source: http://www.vmware.com/pdf/esx2_performance_implications.pdf 应用程序 客户操作系统 服务 控制台 资源管理器 虚拟机 监视器 硬件接口层
Hybrid Ex 2 - Xen 3.0 • 半虚拟化 • Linux 客户机 • 硬件支持的虚拟化 • 未修改的Windows • 隔离的硬件驱动程序 设备管理和控制s/w 未修改的用户软件 未修改的用户软件 未修改的用户软件 未修改的客户OS 客户OS 客户OS 客户OS 后端 原生 驱动 程序 前端驱动程序 前端驱动程序 前端驱动程序 硬件 Source: Ottawa Linux Symposium 2006 presentation. http://www.cl.cam.ac.uk/netos/papers/
Hypervisor • 硬件支持的单用监视器 • 特征 • 轻量级 • 运行在一个专门的硬件模式 • 客户操作系统运行在正常特权级 • 用途 • 安全[性] • 系统管理 • 容错 用户模式 操作系统 内核模式 监视器模式 Hypervisor 硬件
虚拟磁盘 • 文件系统中的文件 • 宿主机文件系统 • Hypervisor 文件系统 • 文件的元数据 • 把磁盘块映射成[到]文件偏移量 • 平面文件 • 索引文件 • 允许磁盘根据需要增长
写时复制(COW)磁盘 Win XP + SP1 + SP2 + SP2 IE 7
写时复制(COW)磁盘 Win XP Reads + SP1 + SP2 + SP2 IE 7 Writes
非持久化执行 Win XP + SP1 + SP2 + SP2 IE 7 Reads Temp Writes