虚拟化技术通过多年的发展,其CPU虚拟化和内存虚拟化均已成熟,但I/O虚拟化技术却变化不大。INTEL公司提出的SR-IOV技术经过在硬件层增长虚拟支持,极大的提升了物理设备的使用效率和I/O性能。安全
SR-IOV 技术标准容许在虚拟机之间高效共享 PCIe(Peripheral Component Interconnect Express,快速外设组件互连)设备,而且它是在硬件中实现的,能够得到可以与本机性能媲美的 I/O 性能。SR-IOV 规范定义了新的标准,根据该标准建立的新设备可容许将虚拟机直接链接到 I/O 设备。服务器
通 过 SR-IOV,一个 PCIe 设备不只能够导出多个 PCI 物理功能,还能够导出共享该 I/O 设备上的资源的一组虚拟功能。这个简化的服务器虚拟化架构以下图所示。网络
在这个模型中,不须要任何透传,由于虚拟化在终端设备上发生,从而容许管理程序简单地将虚拟功能映射到 VM 上以实现本机设备性能和隔离安全。架构
SR-IOV技术的目标是在绕过虚拟机参与数据迁移过程当中实施标准化,为每一个虚拟机提供独立内存空间、中断和Direct Memory Access (DMA)流。SR-IOV架构的设计容许一个I/O设备支持多个虚拟功能,同时将每一个功能的硬件成本降至最低。SRIOV引入了两个新的功能类型:ide
物理功能 (Physical Function, PF)性能
用于支持 SR-IOV 功能的 PCI 功能,如 SR-IOV 规范中定义。PF 包含 SR-IOV 功能结构,用于管理 SR-IOV 功能。PF 是全功能的 PCIe 功能,能够像其余任何 PCIe 设备同样进行发现、管理和处理。PF 拥有彻底配置资源,能够用于配置或控制 PCIe 设备。spa
虚拟功能 (Virtual Function, VF)操作系统
与物理功能关联的一种功能。VF 是一种轻量级 PCIe 功能,能够与物理功能以及与同一物理功能关联的其余 VF 共享一个或多个物理资源。VF 仅容许拥有用于其自身行为的配置资源。设计
每一个 SR-IOV 设备均可有一个物理功能 (Physical Function, PF),而且每一个 PF 最多可有 64,000 个与其关联的虚拟功能 (Virtual Function, VF)。PF 能够经过寄存器建立 VF,这些寄存器设计有专用于此目的的属性。3d
一旦在 PF 中启用了 SR-IOV,就能够经过 PF 的总线、设备和功能编号(路由 ID)访问各个 VF 的 PCI 配置空间。每一个 VF 都具备一个 PCI 内存空间,用于映射其寄存器集。VF 设备驱动程序对寄存器集进行操做以启用其功能,而且显示为实际存在的 PCI 设备。建立 VF 后,能够直接将其指定给 IO 来宾域或各个应用程序(如裸机平台上的 Oracle Solaris Zones)。此功能使得虚拟功能能够共享物理设备,并在没有 CPU 和虚拟机管理程序软件开销的状况下执行 I/O。
同时,咱们看到虚拟化技术正从根本上转变数据中心,将网络接入层转移到服务器中。除了对I/O设备进行虚拟化,使它们能够由虚拟机共享外,系统管理程序必然地成了基于软件的以太网交换机,为虚拟机提供网络服务,占用了大量CPU周期并阻碍着虚拟化可扩展性和性能。即便采用最强大的处理器,使用16 Gbps光纤通道,速度为10 GbE时,系统管理程序也不能跟上I/O需求,最终致使线速性能根本不可能实现。
经过实施Virtual Machine Optimized Ports(VMOP),Brocade 1860网络适配器利用VMware NetQueue和Microsoft VMQ等系统管理程序(hypervisor)多队列技术,来将入站网络数据包分类等任务从系统管理系统卸载到适配器上,从而节约CPU资源,实现线速性能。
Brocade 1860网络适配器还支持博科的虚拟Fabric Link(vFLink)技术。这种技术能够将单一适配器分为最多8个虚拟适配器,而这些虚拟适配器能够配置为虚拟HBA(vHBA,用于光纤通道或FCoE)或虚拟NIC(vNIC,用于以太网)。这一操做在PCIe总线级别经过多种物理功能(Physical Function,PF)在硬件中实现;在操做系统级别,这些虚拟适配器看起来就像独立的物理设备。带宽可以以100 Mbps的增量分配给这些虚拟Fabric链路,光纤通道和以太网分别最多可分配到16 Gbps或10 Gbps的带宽。这有助于避免虚拟环境中适配器的迅速增加,同时可实现不一样网络的全面管理隔离和微调,包括生产、备份、管理或实时迁移。
具备 SR-IOV 功能的设备能够利用如下优势:
性能-从虚拟机环境直接访问硬件。
成本下降-节省的资本和运营开销包括:
节能
减小了适配器数量
简化了布线
减小了交换机端口
VSphere与SR-IOV技术:
组件 |
要求 |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
vSphere |
|
||||||||||
物理主机 |
|
||||||||||
物理网卡 |
|
||||||||||
对于物理网卡,在 ESXi 中使用 PF 驱动程序 |
|
||||||||||
客户机操做系统 |
|
||||||||||
客户机操做系统中使用 VF 驱动程序 |
|
注:如下功能对配置了 SR-IOV 的虚拟机不可用:
■ |
vMotion |
■ |
Storage vMotion |
■ |
vShield |
■ |
Netflow |
■ |
虚拟线缆 |
■ |
High Availability |
■ |
Fault Tolerance |
■ |
DRS |
■ |
DPM |
■ |
挂起和恢复 |
■ |
快照 |
■ |
用于直通虚拟功能的基于 MAC 的 VLAN |
■ |
热添加和删除虚拟设备、内存和 vCPU |
■ |
加入到群集环境 问题: 受支持的网卡 配置了 SR-IOV 的虚拟机支持如下网卡:全部网卡必须具备支持 SR-IOV 的驱动程序和固件。某些网卡可能须要在固件上启用 SR-IOV。 从 vSphere 的较早版本升级 若是从 vSphere 5.0 或更早的版本升级到 vSphere 5.1 或更高的版本,则在为 vSphere 版本更新网卡驱动程序以前,没法取得 SR-IOV 支持。网卡必须具有支持已启用 SR-IOV 的固件和驱动程序,SR-IOV 功能才能运行。 |