内容简介:Oracle一体机SR-IOV技术运用
现今,在x86体系架构下,有三种常见的网络I/O虚拟化方式:
- 基于虚拟化软件(比如OVM用到的Xen)方式的I/O共享
- 直接设备指派
- 基于硬件的SR-IOV(Single-Root I/O Virtualization)
基于软件方式的I/O共享
这是人们最常想到的,也是现今基于x86体系架构商业化虚拟化产品最常用到的方式。服务器虚拟化软件(Hypervisor, 比如Xen)位于虚拟机操作系统设备驱动器和实际的服务器硬件之间。简单说,虚拟机操作系统设备驱动器需要先与虚拟化软件交互,然后虚拟化软件再与底层的物理硬件交互来完成I、O操作。这种方式的好处是允许在多个虚拟机之间共享同一个物理设备。因为虚拟化软件使虚拟机操作系统相信他们拥有自己的硬件设备,而实际上他们是共享了同一个物理设备。虚拟化软件完成所有这些工作 - 管理冲突,确保所有虚拟机并发访问I/O设备,确保稳定运行。这种方式的缺点是虚拟化软件是以牺牲一定的性能来提供该功能的:虚拟化层至少需要一些时间来处理流量控制和I/O转换。来自于虚拟机的并发I/O操作越多,虚拟化软件会越忙碌,这会对系统的稳定性造成潜在的影响。虽然随着现今虚拟化软硬件的发展,基于软件方式的I/O共享对系统的性能和稳定性影响很小,但是在一些对系统性能有着极端高度要求的场景下,这种方式对性能的影响还是显而易见的。
直接设备指派
不同于基于软件的I/O共享 - 每个虚拟机与虚拟化软件直接通讯,然后虚拟化软件再与物理硬件设备通讯,直接设备指派方式允许虚拟机操作系统直接访问物理I/O设备硬件,不需要先通过虚拟化软件。这种方式清除了虚拟化软件层面造成的性能瓶颈和潜在的不稳定性,通过将I/O设备直接指派给一个虚拟机,确保虚拟机能够获得可预期的和稳定的I/O性能,就如同裸机操作系统访问自己的设备一样。使用这种方式的缺点是由于虚拟化层被略过,导致虚拟化软件无法完成虚拟化I/O的功能,也就是实现多个虚拟机共享一个I/O设备。如果你有一个物理机只有两个网卡,你最多在上边只能跑两个虚拟机, 每个虚拟机给指派一个网卡,这种方式不是很经济。
理想的解决方案是提供一种方式,既能实现虚拟机共享同一个物理I/O设备, 也能实现像直接设备指派方式那样提供高性能, 高稳定性的I/O方式。而SR-IOV就是为了实现这种功能,并引入到Oracle使用虚拟化的一体机系统中。
Single-Root I/O Virtualization
SR-IOV是基于硬件的I/O虚拟化解决方案,提供更高的I/O性能和可扩展性。SR-IOV需要硬件的支持,通过在网卡上定义多个轻量级的VF(Virtual Function), 然后将VF指派给虚拟机,可以实现虚拟机绕过虚拟化软件直接访问网卡,同时又共享同一个物理网卡设备。
SR-IOV是一种新的业界标准,PCI-SIG 组织负责定义和维护SR-IOV 规范,可以通过如下网址访问:
http://www.pcisig.com.
在SR-IOV设备中,有两种功能(Function )类型:
- Physical Function (PF)
PF具有完整的PCIe功能, 能够被发现,管理和操作,就像操作任何其他普通PCIe设备一样。PF拥有完整的配置空间。可以通过PF来配置和控制PCIe设备,PF拥有完整的能力将数据从PCIe设备移入和移出。每一个PCIe设备可以有一个到最多八个PF。每个PF是独立的,而且从软件的角度看,每个PF就是一个独立的PCIe设备。
- Virtual Function (VF)
VF是一个轻量级的PCIe function,仅用于将数据移入和移出设备。每一个VF与一个底层的PF关联,每个PF可以有0个或多个VF。VF通过PF来创建。每一个VF可以指派给一个虚拟机, 从虚拟机的角度来说一个VF就是一个本地的物理网络设备。
所以通过SR-IOV,在硬件网络I/O设备层面实现在一个物理设备创建出多个虚拟设备(VF),每一个VF指派给一个虚拟机,虚拟机在直接访问VF的时候,就相当于直接访问硬件,可以达到类似于主机访问本地设备的性能。在Oracle一体机上,每个InfiniBand 网卡可以最多被63个虚拟机共享,也就是支持63个VF。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 一体机,SDS纯软件厂商的新选择
- 魔视智能发布乘用车前视一体机,已实现量产
- 浪潮inData数据库一体机 企业互联网转型的数字心脏
- 浪潮发布高端超融合一体机Incloud Rail 3.0,让关键业务轻松上云
- VMware公布Project Dimension超融合一体机和物联网新功能实现边缘计算
- ADAS一体机量产之路已通,自动泊车成魔视智能的下一个关键词
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
UNIX网络编程 卷1:套接字联网API(第3版)
[美]W. 理查德•史蒂文斯(W. Richard Stevens)、比尔• 芬纳(Bill Fenner)、安德鲁 M. 鲁道夫(Andrew M. Rudoff) / 匿名 / 人民邮电出版社 / 2014-6-1 / 129.00
《UNIX环境高级编程(第3版)》是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的第3版。在本书第2版出版后的8年中,UNIX行业发生了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持前一版风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/......一起来看看 《UNIX网络编程 卷1:套接字联网API(第3版)》 这本书的介绍吧!