龙空技术网

all in one 好帮手sr-iov,一个pci-e扩展卡同时直通给多个虚拟机

小铅笔科技 204

前言:

今天兄弟们对“怎么在虚拟机上添加一个网卡”可能比较关怀,大家都想要分析一些“怎么在虚拟机上添加一个网卡”的相关资讯。那么小编也在网摘上收集了一些有关“怎么在虚拟机上添加一个网卡””的相关内容,希望姐妹们能喜欢,大家快快来了解一下吧!

all in one服务器的心脏病-pci-e通道太少

将多个不同功能不同用途的操作系统通过虚拟化技术安装在同一个物理机上,充分利用现有设备,还能减少空间占用。虚拟机平台提供的快照或者备份技术,还能在虚拟系统被玩崩的情况下快速的恢复。

虚拟化也不是没有缺点,虚拟化以后都会有一定的性能损失,由于现在的处理器都有虚拟化硬件加速,性能损失的不是特别多大概在1-5%左右。性能损失比较多的是虚拟IO,比如虚拟硬盘的损失就比较多。一些需要需要性能的场景都会采用直通pci-e扩展卡的方式将硬件直接给虚拟系统使用,这样才能发挥扩展硬件的所有性能。

但这时候就面临一个新的问题,消费级处理器和主板的pci-e通道是有限的。体现在主板设计上最多5条pci-e通道和2到3条nvme插槽。一张显卡,一张万兆卡,一个阵列卡基本上已经消费级主板的极限了,剩下2条pci-e 1x也就只能扩展一些低速设备。

如果需要增加一些高速扩展设备给虚拟系统使用,这个时候就只能换扩展性更强的服务器主板。

sr-iov让扩展卡虚拟化

sr-iov翻译为单根虚拟化,是2007年Intel 在 2007年提出的一种基于硬件的IO虚拟化解决方案。在虚拟化场景中,CPU 与内存是最先解决的,但是 I/O 设备一直没有很好的解决办法,要么用cpu算力去模拟IO设备要么PCIe 设备直接提供给虚拟机使用,也就是我们常说的“直通”,但是直通面临一个问题是 PCIe 设备只能给一个虚拟机使用,其他虚拟机就只能干瞪眼,这肯定是不行的,所以有了 SR-IOV,一个物理设备可以虚拟出多个pci-e虚拟设备,然后可以直通给多个虚拟机使用。性能上稍微弱于物理设备,但是也比虚拟机平台提供的完全虚拟化设备强很多。

网卡是最先支持sr-iov技术的扩展卡,随后硬盘阵列卡,显卡和nvme固态硬盘也纷纷加入了对sr-iov技术的支持。

就家庭用户而言的网卡和显卡的sr-iov意义比较大,阵列卡和nvme的sr-iov配置过于复杂稍有操作失误就可能数据全无。

常见的支持sr-iov的廉价扩展卡

网卡方面

基本上服务器级别的网卡都只是支持sr-iov的,比如x520,x540,x550,x710,cx341a和bcm57810都是支持sr-iov的,i350t4这种千兆网卡也支持sr-iov。不过需要注意的是esxi不支持千兆网卡的sr-iov,此外cx341a也不支持。kvm则没有这个限制。

网卡启用sr-iov以后会拆分出多个虚拟的pci-e网卡设备,可以直接直通给不同的虚拟机使用。比如x540一个网口就能支持拆分出63个虚拟设备,基本上可以满足使用需求。

显卡方面

intel 12代以后的核显全系支持sr-iov技术,能将核心显卡拆分为多个“虚拟”的物理显卡直通给不同的虚拟机使用。这对于我这种需要个多个虚拟机提供3d加速支持,但又不想添加新独立显卡的玩家来说简直就是大救星。

独立显卡方面目前明确支持的只要两家,amd的数据中心显卡和intel的数据中心显卡。不过这两家的显卡我不推荐,很贵没有性价比,全是高性能型号很费电。虽然它两不用授权,不过nvidia的光vgpu驱动已经有自签授权了,n卡便宜还省电。安倍架构以后的n卡似乎也是支持sr-iov,不过vgpu驱动还是得授权。安倍架构的专业卡太贵买不起,没有测试不大清楚其的sr-iov支持情况。

标签: #怎么在虚拟机上添加一个网卡