虚拟 I/O 框架可实施混合 I/O 模型以改进功能和性能。混合 I/O 模型可将直接 I/O 和虚拟化 I/O 组合在一起,以便可以在虚拟机中灵活部署 I/O 资源。如果直接 I/O 无法为虚拟机提供完整功能,或者由于资源可用性或虚拟机迁移而无法为虚拟机持续提供一致的直接 I/O,则该模型尤其有用。
混合 I/O 体系结构完全适用于 Oracle Sun UltraSPARC T2、SPARC T3 和 SPARC T4 平台上的网络接口单元 (Network Interface Unit, NIU)。NIU 是在芯片上集成的网络 I/O 接口。使用此体系结构可以将直接内存访问 (Direct Memory Access, DMA) 资源动态分配到虚拟网络设备,从而为域中的应用程序提供稳定的性能。
NIU 混合 I/O 适用于 Oracle Sun UltraSPARC T2、SPARC T3 和 SPARC T4 平台。此功能由可选混合模式启用,可提供给虚拟网络 (vnet) 设备,其中 DMA 硬件资源已借给来宾域中的 vnet 设备以改进性能。在混合模式中,来宾域中的 vnet 设备可以使用 DMA 硬件资源直接在外部网络和来宾域之间发送和接收单播通信。到同一系统中其他来宾域的广播或多播通信和单播通信继续使用虚拟 I/O 通信机制进行发送。
图 11-10 混合虚拟网络
混合模式仅适用于与配置为使用 NIU 网络设备的虚拟交换机 (vsw) 关联的 vnet 设备。由于可共享的 DMA 硬件资源有限,因此,在给定时间,每个 vsw 最多只能有三个 vnet 设备分配 DMA 硬件资源。如果超过三个 vnet 设备启用了混合模式,则根据先到先得原则完成分配。由于系统中有两个 NIU 网络设备,因此,两个不同的虚拟交换机上总共可以有六个分配了 DMA 硬件资源的 vnet 设备。
使用此功能时,请注意以下几点:
用于 vnet 设备的混合模式选项仅视为建议。因此,只有当具有 DMA 资源,并且该设备能够使用这些资源时,才会分配这些资源。
Logical Domains Manager CLI 命令不会验证混合模式选项;也就是说,可以在任何 vnet 或任意数量的 vnet 设备上设置混合模式。
来宾域和服务域至少需要运行 Oracle Solaris 10 10/08 OS。
每个 vsw 最多只能有三个 vnet 设备可以在给定时间内借用 DMA 硬件资源。由于有两个 NIU 网络设备,因此总共可以有六个借用 DMA 硬件资源的 vnet 设备。
来宾域处于活动状态时不能动态更改混合模式选项。
仅当在来宾域中创建了活动的 vnet 设备时,才会分配 DMA 硬件资源。
NIU 10 千兆位以太网驱动程序 (nxge) 用于 NIU 卡。同一驱动程序也用于其他 10 千兆位网卡。但是,NIU 混合 I/O 功能仅适用于 NIU 网络设备。