虚拟化技术 ppt课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CPU虚拟化
物理CPU
抽象
虚拟CPU
物理CPU
抽象
虚拟CPU
物理CPU
抽象
虚拟CPU
7.虚拟化技术
客户
操作系统
1
虚拟CPU的正确运行是要保证虚拟机指令正确运行,现有的实 现技术包括模拟执行和监控执行
2
调度问题是指VMM决定当前哪个虚拟CPU在物理CPU上运行, 要保证隔离性、公平性和性能。
云计算
16/82
7.虚拟化技术
云计算技术
数据
中心
规模不断增大 成本逐渐上升 管理日趋复杂
云计算
6/82
7.1 虚拟化技术简介 虚拟化技术简介
传统的数据中心
7.虚拟化技术
采用了多种技术 业务之间孤立
网络结构复杂
虚拟数据中心
高速
扁平
虚拟化
云计算
7/82
7.1 虚拟化技术简介 虚拟化Biblioteka Baidu术简介
7.虚拟化技术
数据中心
服务器虚拟化
应用程序的代码运行在最低运行级别上ring3上,不能做受控操作。如果要做,那就要 通过执行系统调用(函数),执行的时候,CPU的运行级别会发生从ring3到ring0的 切换,并跳转到系统调用对应的内核代码位置执行,这样内核就为你完成了设备访问, 完成之后再从ring0返回ring3。这个过程也称作用户态和内核态的切换。
为什么需要 CPU 虚拟化
7.虚拟化技术
x86 架构CPU提供四个特权级别(0~3)给操作系 统和应用程序来访问硬件。 Ring 是指 CPU 的运行级别。Ring 0是最高级别, Ring1次之,Ring2更次之……
虚拟化在这里就遇到了一个难题?
操作系统(内核)需要直接访问硬件和内存,因此它的代码需要运行在最高运行级别 Ring0上,这样它可以使用特权指令,控制中断、修改页表、访问设备等等。
云计算
19/82
硬件辅助的全虚拟化
7.虚拟化技术
2005年后,CPU厂商Intel 和 AMD 开始支持虚拟化了。 Intel 引入了 Intel-VT 技术。
西北农林科技大学
第7章
虚拟化技术
7.1 虚拟化技术简介 7.2 服务器虚拟化 7.3 存储虚拟化 7.4 网络虚拟化 7.5 桌面虚拟化
7.1 虚拟化技术简介
7.虚拟化技术
虚拟化技术是伴随着计算机的出现而产生和发展起来的,虚拟化意味着对 计算机资源的抽象。 虚拟化技术已经成为构建云计算环境的一项关键技术。
的虚拟化
将一个或多个物 理服务器虚拟成 多个逻辑上的服 务器
存储虚拟化
把分布的异构存 储设备统一为一 个或几个大的存 储池
网络虚拟化
在底层物理网络 和网络用户之间 增加一个抽象层
云计算
8/82
7.1 虚拟化技术简介 7.2 服务器虚拟化 7.3 存储虚拟化 7.4 网络虚拟化 7.5 桌面虚拟化
一个物理的服务器虚拟成若干个独立的 逻辑服务器,比如分区;
解决 方案
半虚拟化
半虚拟化技术降低了由于虚拟化而引入 的系统性能损失。
云计算
14/82
7.虚拟化技术
7.2 服务器虚拟化
7.2.1 服务器虚拟化的层次 7.2.2 服务器虚拟化的底层实现 7.2.3 虚拟机迁移 7.2.4 隔离技术 7.2.5 案例分析
云计算
15/82
7.2 服务器虚拟化
服务器虚拟化的底层实现
主机操作系统
物理机(底层硬件)
图7-1 寄居虚拟化架构
云计算
12/82
7.2 服务器虚拟化
服务器虚拟化的层次
裸机虚拟化
7.虚拟化技术
架构中的VMM也可以认为是一个 操作系统,一般称为Hypervisor
Hypervisor实现从虚拟资源到物 理资源的映射
客户
虚拟机
客户
虚拟机
Hypervisor
服务器虚拟化 存储虚拟化 网络虚拟化 桌面虚拟化
云计算
4/82
20世纪60年代
IBM公司推出虚拟化技术
主要用于当时的IBM大型机的服务器虚拟化
虚拟化技术的核心思想是利用软件或固件管理程序构成虚拟化层,把 物理资源映射为虚拟资源。在虚拟资源上可以安装和部署多个虚拟机, 实现多用户共享物理资源。
7.1 虚拟化技术简介 虚拟化技术简介
把若干分散的物理服务器虚拟为一个大的逻 辑服务器,比如网格技术
7.虚拟化技术
7.2 服务器虚拟化
7.2.1 服务器虚拟化的层次 7.2.2 服务器虚拟化的底层实现 7.2.3 虚拟机迁移 7.2.4 隔离技术 7.2.5 案例分析
云计算
11/82
7.2 服务器虚拟化
7.虚拟化技术
服务器虚拟化的层次
寄居虚拟化
寄居虚拟化的虚拟化层一般称 为虚拟机监控器(VMM)
这类虚拟化架构系统损耗比较大
客户
虚拟机
客户
虚拟机
客户
虚拟机
虚拟机管理器(VMM)
就操作系统层的虚拟化而言, 没有独立的Hypervisor层
如果使用操作系统层虚拟化,所 有虚拟服务器必须运行同一操作 系统。客户操作系统环境与宿主 服务器分享同一个操作系统
客户
虚拟机
Hypervisor实现了不同虚拟机的 运行上下文保护与切换,保证了 各个客户虚拟系统的有效隔离
物理机(底层硬件)
图7-2 裸机虚拟化架构
云计算
13/82
7.2 服务器虚拟化 服务器虚拟化的层次
7.虚拟化技术
VMM无法 直接捕获特 权指令
完全虚拟化 完全虚拟化具有很好的兼容性,在服务 器虚拟化中得到广泛应用。
异常 “捕获(trap)-翻 译(handle)-模拟 (emulate)” 过程
云计算
18/82
超虚拟化(或者半虚拟化/操作系统辅助虚拟化)
7.虚拟化技术
半虚拟化的思想就是,修改操作系统内核, 替换掉不能虚拟化的指令,通过超级调用 (hypercall)直接和底层的虚拟化层 hypervisor来通讯。
云计算
17/82
基于二进制翻译的全虚拟化
7.虚拟化技术
客户操作系统运行在 Ring 1,在执行特权指令时,会 触发异常(CPU的机制,没权限的指令会触发异常), 然后 VMM 捕获这个异常,在异常里面做翻译,模拟, 最后返回到客户操作系统内,客户操作系统认为自己的 特权指令工作正常,继续运行。但是这个性能损耗,就 非常的大,简单的一条指令,执行完,了事,现在却要 通过复杂的异常处理过程
hypervisor 同时也提供了超级调用接口 来满足其他关键内核操作,比如内存管 理、中断和时间保持。
省去了全虚拟化中的捕获和模拟,大大提高了效率。所以像XEN这种半虚拟化技术, 客户机操作系统都是有一个专门的定制内核版本,和x86、mips、arm这些内核版 本等价。这样一来,就不会有捕获异常、翻译、模拟的过程了,性能损耗非常低。
物理CPU
抽象
虚拟CPU
物理CPU
抽象
虚拟CPU
物理CPU
抽象
虚拟CPU
7.虚拟化技术
客户
操作系统
1
虚拟CPU的正确运行是要保证虚拟机指令正确运行,现有的实 现技术包括模拟执行和监控执行
2
调度问题是指VMM决定当前哪个虚拟CPU在物理CPU上运行, 要保证隔离性、公平性和性能。
云计算
16/82
7.虚拟化技术
云计算技术
数据
中心
规模不断增大 成本逐渐上升 管理日趋复杂
云计算
6/82
7.1 虚拟化技术简介 虚拟化技术简介
传统的数据中心
7.虚拟化技术
采用了多种技术 业务之间孤立
网络结构复杂
虚拟数据中心
高速
扁平
虚拟化
云计算
7/82
7.1 虚拟化技术简介 虚拟化Biblioteka Baidu术简介
7.虚拟化技术
数据中心
服务器虚拟化
应用程序的代码运行在最低运行级别上ring3上,不能做受控操作。如果要做,那就要 通过执行系统调用(函数),执行的时候,CPU的运行级别会发生从ring3到ring0的 切换,并跳转到系统调用对应的内核代码位置执行,这样内核就为你完成了设备访问, 完成之后再从ring0返回ring3。这个过程也称作用户态和内核态的切换。
为什么需要 CPU 虚拟化
7.虚拟化技术
x86 架构CPU提供四个特权级别(0~3)给操作系 统和应用程序来访问硬件。 Ring 是指 CPU 的运行级别。Ring 0是最高级别, Ring1次之,Ring2更次之……
虚拟化在这里就遇到了一个难题?
操作系统(内核)需要直接访问硬件和内存,因此它的代码需要运行在最高运行级别 Ring0上,这样它可以使用特权指令,控制中断、修改页表、访问设备等等。
云计算
19/82
硬件辅助的全虚拟化
7.虚拟化技术
2005年后,CPU厂商Intel 和 AMD 开始支持虚拟化了。 Intel 引入了 Intel-VT 技术。
西北农林科技大学
第7章
虚拟化技术
7.1 虚拟化技术简介 7.2 服务器虚拟化 7.3 存储虚拟化 7.4 网络虚拟化 7.5 桌面虚拟化
7.1 虚拟化技术简介
7.虚拟化技术
虚拟化技术是伴随着计算机的出现而产生和发展起来的,虚拟化意味着对 计算机资源的抽象。 虚拟化技术已经成为构建云计算环境的一项关键技术。
的虚拟化
将一个或多个物 理服务器虚拟成 多个逻辑上的服 务器
存储虚拟化
把分布的异构存 储设备统一为一 个或几个大的存 储池
网络虚拟化
在底层物理网络 和网络用户之间 增加一个抽象层
云计算
8/82
7.1 虚拟化技术简介 7.2 服务器虚拟化 7.3 存储虚拟化 7.4 网络虚拟化 7.5 桌面虚拟化
一个物理的服务器虚拟成若干个独立的 逻辑服务器,比如分区;
解决 方案
半虚拟化
半虚拟化技术降低了由于虚拟化而引入 的系统性能损失。
云计算
14/82
7.虚拟化技术
7.2 服务器虚拟化
7.2.1 服务器虚拟化的层次 7.2.2 服务器虚拟化的底层实现 7.2.3 虚拟机迁移 7.2.4 隔离技术 7.2.5 案例分析
云计算
15/82
7.2 服务器虚拟化
服务器虚拟化的底层实现
主机操作系统
物理机(底层硬件)
图7-1 寄居虚拟化架构
云计算
12/82
7.2 服务器虚拟化
服务器虚拟化的层次
裸机虚拟化
7.虚拟化技术
架构中的VMM也可以认为是一个 操作系统,一般称为Hypervisor
Hypervisor实现从虚拟资源到物 理资源的映射
客户
虚拟机
客户
虚拟机
Hypervisor
服务器虚拟化 存储虚拟化 网络虚拟化 桌面虚拟化
云计算
4/82
20世纪60年代
IBM公司推出虚拟化技术
主要用于当时的IBM大型机的服务器虚拟化
虚拟化技术的核心思想是利用软件或固件管理程序构成虚拟化层,把 物理资源映射为虚拟资源。在虚拟资源上可以安装和部署多个虚拟机, 实现多用户共享物理资源。
7.1 虚拟化技术简介 虚拟化技术简介
把若干分散的物理服务器虚拟为一个大的逻 辑服务器,比如网格技术
7.虚拟化技术
7.2 服务器虚拟化
7.2.1 服务器虚拟化的层次 7.2.2 服务器虚拟化的底层实现 7.2.3 虚拟机迁移 7.2.4 隔离技术 7.2.5 案例分析
云计算
11/82
7.2 服务器虚拟化
7.虚拟化技术
服务器虚拟化的层次
寄居虚拟化
寄居虚拟化的虚拟化层一般称 为虚拟机监控器(VMM)
这类虚拟化架构系统损耗比较大
客户
虚拟机
客户
虚拟机
客户
虚拟机
虚拟机管理器(VMM)
就操作系统层的虚拟化而言, 没有独立的Hypervisor层
如果使用操作系统层虚拟化,所 有虚拟服务器必须运行同一操作 系统。客户操作系统环境与宿主 服务器分享同一个操作系统
客户
虚拟机
Hypervisor实现了不同虚拟机的 运行上下文保护与切换,保证了 各个客户虚拟系统的有效隔离
物理机(底层硬件)
图7-2 裸机虚拟化架构
云计算
13/82
7.2 服务器虚拟化 服务器虚拟化的层次
7.虚拟化技术
VMM无法 直接捕获特 权指令
完全虚拟化 完全虚拟化具有很好的兼容性,在服务 器虚拟化中得到广泛应用。
异常 “捕获(trap)-翻 译(handle)-模拟 (emulate)” 过程
云计算
18/82
超虚拟化(或者半虚拟化/操作系统辅助虚拟化)
7.虚拟化技术
半虚拟化的思想就是,修改操作系统内核, 替换掉不能虚拟化的指令,通过超级调用 (hypercall)直接和底层的虚拟化层 hypervisor来通讯。
云计算
17/82
基于二进制翻译的全虚拟化
7.虚拟化技术
客户操作系统运行在 Ring 1,在执行特权指令时,会 触发异常(CPU的机制,没权限的指令会触发异常), 然后 VMM 捕获这个异常,在异常里面做翻译,模拟, 最后返回到客户操作系统内,客户操作系统认为自己的 特权指令工作正常,继续运行。但是这个性能损耗,就 非常的大,简单的一条指令,执行完,了事,现在却要 通过复杂的异常处理过程
hypervisor 同时也提供了超级调用接口 来满足其他关键内核操作,比如内存管 理、中断和时间保持。
省去了全虚拟化中的捕获和模拟,大大提高了效率。所以像XEN这种半虚拟化技术, 客户机操作系统都是有一个专门的定制内核版本,和x86、mips、arm这些内核版 本等价。这样一来,就不会有捕获异常、翻译、模拟的过程了,性能损耗非常低。