您的位置:首页 > 其它

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设备
它拥有最小化的资源配置,有用独立的资源,可以作为独立的设备直接分配给客户机使用。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: