SR-IOV概述

来源:http://docs.oracle.com/cd/E38902_01/html/E38873/glbzi.html#scrolltoc


SR-IOV技术是一种基于硬件的虚拟化解决方案,可提高性能和可伸缩性。SR-IOV标准允许在虚拟机之间高效共享PCIe设备,并且它是在硬件中实现的,可以获得能够与本机性能媲美的I/O性能。SR-IOV规范定义了新的标准,根据该标准,创建的新设备可允许将虚拟机直接连接到I/O设备。

SR-IOV规范由PCI-SIG在http://www.pcisig.com上进行定义和维护。

单个I/O资源可由许多虚拟机共享。共享的设备将提供专用的资源,并且还使用共享的通用资源。这样,每个虚拟机都可访问唯一的资源。因此,启用了SR-IOV并且具有适当的硬件和OS支持的PCIe设备(例如以太网端口)可以显示为多个单独的物理设备,每个都具有自己的PCIe配置空间。

下图介绍了针对PCIe硬件的SR-IOV技术。

SR-IOV概述_第1张图片
图1SR-IOV 技术

SR-IOV中的两种新功能类型是:

PF(Physical Function): 用于支持 SR-IOV功能的PCI功能,如SR-IOV规范中定义。PF包含SR-IOV功能结构,用于管理SR-IOV功能。PF是全功能的PCIe功能,可以像其他任何PCIe设备一样进行发现、管理和处理。PF拥有完全配置资源,可以用于配置或控制PCIe设备。

VF(Virtual Function): 与物理功能关联的一种功能。VF是一种轻量级PCIe功能,可以与物理功能以及与同一物理功能关联的其他VF共享一个或多个物理资源。VF仅允许拥有用于其自身行为的配置资源。

每个SR-IOV设备都可有一个物理功能(Physical Function, PF),并且每个PF最多可有64,000个与其关联的虚拟功能(Virtual Function, VF)。PF可以通过寄存器创建VF,这些寄存器设计有专用于此目的的属性。

一旦在PF中启用了SR-IOV,就可以通过PF的总线、设备和功能编号(路由 ID)访问各个VF的PCI配置空间。每个VF都具有一个PCI内存空间,用于映射其寄存器集。VF设备驱动程序对寄存器集进行操作以启用其功能,并且显示为实际存在的PCI设备。创建VF后,可以直接将其指定给IO来宾域(guest)或各个应用程序(如裸机平台上的Solaris Zones)。此功能使得虚拟功能可以共享物理设备,并在没有CPU和虚拟机管理程序软件开销的情况下执行 I/O。

SR-IOV的优点

SR-IOV标准允许在IO guest之间高效共享PCIe设备。SR-IOV设备可以具有数百个与某个物理功能 (Physical Function, PF) 关联的虚拟功能 (Virtual Function, VF)。VF的创建可由PF通过设计用来开启SR-IOV功能的寄存器以动态方式进行控制。缺省情况下,SR-IOV功能处于禁用状态,PF充当传统PCIe 设备。

具有SR-IOV功能的设备可以利用以下优点:

o 性能-从虚拟机环境直接访问硬件。

o 成本降低-节省的资本和运营开销包括:

* 节能

* 减少了适配器数量

* 简化了布线

* 减少了交换机端口


09/25/2017 Mon

你可能感兴趣的:(SR-IOV概述)