KVM实战 原理、进阶与性能调优--笔记之I/O虚拟化
2019-11-02 21:26
826 查看
I/O虚拟化:
在虚拟化的架构下,虚拟机监控器必须支持来自客户机的I/O请求。通常情况下有以下4种I/O虚拟化方式。
1.设备模拟:在虚拟机监控器中模拟一个I/O设备,客户机中的I/O请求都由虚拟机监控器捕获并模拟执行后返回给客户起。(软件实现)
2.前后端驱动接口:在虚拟化监控器与客户机之间定义一种全新的适合于虚拟化环境的交互接口。(软件实现)
3.设备直接分配:将一个物理设备直接分配给客户机使用,这种情况下I/O请求的链路中很少需要或者不需要虚拟机监控器的参与,所以性能很好。(需要特定的硬件特性的支持)
4.设备共享分配:其实就是设备直接分配方式的一个扩展,一个物理设备可以支持多个虚拟机功能接口,可以将虚拟功能接口独立的分配给不同的客户机使用。如SR-IOV就是这种方式的一个标准协议。(需要特定的硬件特性的支持)
设备直接分配在Intel平台上就是Vt-d特性,一般在BIOS中可以看到相关的参数设置。
Vt-d特性有一个缺点:单个设备只能分配格一个客户机,而在虚拟化环境下一个宿主机上往往运行着多个客户机,很难保证每个客户机都能得到一个直接分配的设备。
为了克服这个缺点,设备共享分配硬件技术就应运而生,其中SR-IOV就是这样一个标准。
实现了SR-IOV规范的设备,有一个功能完整的PCI-e设备成为物理功能(VF)。在使用了SR-IOV之后,PF就会派生出若干个虚拟功能(VF)。VF看起来依然是一个PCI-e设备
它拥有最小化的资源配置,有用独立的资源,可以作为独立的设备直接分配给客户机使用。
相关文章推荐
- Spark性能调优之数据倾斜调优一站式解决方案原理与实战
- KVM虚拟化技术实战与原理解析笔记
- 《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》 1.7.2 Nginx+FastCGI运行原理
- 《Spark商业案例与性能调优实战100课》第21课:Spark性能调优之系统资源使用原理和调优最佳实践
- 数据库(Oracle)原理及性能调优培训笔记
- 上线性能调优笔记
- 一次性能调优实战记录
- PHP 性能分析第三篇: 性能调优实战
- iOS 进阶原理知识笔记
- 《Spark商业案例与性能调优实战100课》第19课:商业案例之NBA篮球运动员大数据分析核心业务逻辑代码实战
- JVM工作原理简介与性能调优
- 《Spark商业案例与性能调优实战100课》第24课:彻底解密Shuffle是如何成为Spark性能杀手的及调优点思考
- 进阶的Redis之哈希分片原理与集群实战
- Java JVM 性能调优笔记
- Spark商业案例与性能调优实战100课》第22课:Spark性能调优之使用更高性能算子及其源码剖析
- Java性能监控调优项目实战深入剖析(完整)
- Java性能调优实战之字符串性能优化
- MaxCompute SQL原理解析及性能调优
- JVM菜鸟进阶高手之路七(tomcat调优以及tomcat7、8性能对比)
- P2V在线迁移windows、linux到KVM中 « Geek Blog | Python Linux 云计算 | OpenStack 虚拟技术 HPC | 性能调优 自动化 服务器架构