首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于虚拟化,你得知道SR-IOV

SR-IOV是什么,它和virtio、Device assignment的IO虚拟化的技术有什么区别,本文章中将会解答。

SR-IOV简介

SR-IOV(PCI-SIG Single Root I/O Virtualization and Sharing)是PCI-SIG组织发布的规范。

设计PCI-SIG SR-IOV 规范的目的是:通过为虚拟机提供独立的内存地址、中断和DMA流而避免VMM的介入。SR-IOV允许一个PCI设备提供多个VFs。VMM将一个或者多个 VF 分配给一个虚机。一个VF同时只能被分配一个虚机。而虚拟机感知不到这个网卡是被VF的还是普通的物理网卡。

SR-IOV引入了两个PCIe的function types

PFs:包括管理SR-IOV功能在内的所有PCIe function。

VFs:一部分轻量级的PCIe function,只能进行必要的数据操作和配置。

SR-IOV工作流程中有三个角色

1.PCIe的SR-IOV机制:提供独立可配置的多个VFs,每一个VFs具有独立的PCIe配置空间。

2.VMM:则把VFs分配给虚拟机。

3.VT-x和VT-d:通过硬件辅助技术提供和虚拟机之间的直接DMA数据映射传输,跳过VMM的干预。

SR-IOV原理

下面一幅图描述了SR-IOV的原理(来自intel《PCI-SIG SR-IOV Prime》):

SR-IOV的优缺点

SR-IOV相对与软件模拟IO虚拟化的优点:

1.降低了IO延迟和对CPU的占用,获得了接近原生的IO性能,因为虚拟机直接使用VFs,没有了VMM的陷入处理。

2.数据更加安全,因为每个VF属于一个IOMMU Group,共享IOMMU Group的设备不能分配给不同的虚拟机,而每个IOMMU Group又有独立的内存。

SR-IOV相对与Device assignment的优点:

没有了一个PCI设备只能给一个虚拟机的尴尬,SR-IOV下多个虚拟机可通过独占VFs的方式共享一个PCI设备。

SR-IOV的缺点:

使用了VFs的虚拟机不能在线迁移。

注:在SR-IOV的实践过程中需要注意PCI的ACS等特性。

-----------------------------------------------------------------------

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180122G0WXLO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券