网易首页 > 网易号 > 正文 申请入驻

ZStack实践汇 | SR-IOV实践指南

0
分享至


第一章 SR-IOV介绍

1.1概述

SR-IOV(Single Root I/O Virtualization)是一种基于硬件的虚拟化解决方案,它允许多个云主机高效共享PCIe设备,且同时获得与物理设备性能媲美的I/O性能,能有效提高性能和可伸缩性。可适用于网络NFV、云游戏、视频流(UDP)等对网络性能、传输速度要求极高的应用场景。本文将以型号为Mellanox Technologies MT27710 Family [ConnectX-4 Lx]的物理网卡为例,详细介绍ZStack SR-IOV在Linux系统和Windows系统中的安装使用,以及带SR-IOV的VF云主机网络性能和普通虚拟机网卡网络性能之间的对比。1.2SR-IOV原理介绍ZStack支持基于SR-IOV规范,通过硬件技术,将物理网卡(PF)虚拟化切割成多张虚拟(VF)类型网卡,直接分配给云主机使用的功能。与传统的KVM里数据包传输过程相比,VF网卡可越过虚拟化层,缩短数据传输路径,使云主机获得接近物理设备的I/O性能,明显减少数据传输对物理机CPU资源的消耗,即使物理机CPU压力较大,也能有效减少网络丢包,提高传输效率,如下图所示:

SR-IOV属于VT-d技术的一个分支,VT-d 的性能非常好,但是它的物理设备只能分配给一个虚拟机使用。为了实现多个虚拟机共享一个物理设备,并且达到直接分配的目的, SR-IOV以原生地支持实现多个客户机共享一个设备的效果,广泛应用在网卡上。

SR-IOV引入了两种功能类型:

1)物理功能(Physical Function,PF)

用于支持 SR-IOV 功能中的 PCI 功能,如 SR-IOV 规范定义。PF 包含 SR-IOV 功能结构,用于管理 SR-IOV 功能。PF 是全功能的 PCIe 功能,可以像其他任何 PCIe 设备一样对数据进行发现、管理和处理。PF 拥有完全的配置资源,可以用于配置或控制 PCIe 设备。

2)虚拟功能(Virtual Function,VF)

与物理功能关联的一种功能。VF 是一种轻量级 PCIe 功能,可以与物理功能以及同一物理功能关联的其他 VF 共享一个或多个物理资源。VF仅允许拥有用于其自身行为的配置资源。

每个SR-IOV设备都可有一个PF,并且每个PF有其关联的VF。PF可以通过寄存器创建VF,这些寄存器设计有专用于此目的的属性。

在PF中启用了SR-IOV,就可以通过PF的总线、设备和功能编号,访问各个VF的PCI配置空间,实现弹性灵活使用资源的同时,提高资源利用率、节约成本。如下图所示:

第二章 SR-IOV使用流程

2.1准备工作

说明:本文档采用ZStack3.9.0版本,服务器网卡以Mellanox TechnologiesMT27710 Family [ConnectX-4 Lx]为例

1)配置物理机BIOS,打开SR-IOV功能,并打开Intel(R) VT。不同服务器的BIOS中启动IOMMU的方法有差别,可根据实际情况配置。

2)请确保物理网卡支持SR-IOV,并开启SR-IOV,如下图所示:

3)可在System setup中Number of virtual functions设置物理网卡的最大切割数,例如:假设该物理网卡可支持切割64个VF,在Number of virtual functions中,设置该物理网卡最大切割数为8,那么在平台中,对于该网卡最多支持切割8个VF网卡。

4)执行命令lspci |grep -i eth检查当前服务器pci插槽号、网卡型号和网卡数量,执行命令lspci -s 3b:00.1 -v显示3b:00.1设备上的功能块信息,检查该网卡是否开启SR-IOV。

5)上述参数修改完成后,重启服务器,重启之后进入系统执行以下脚本,检查Interrupt Remapping功能是否开启;

输出"No interrupt remapping support found"或"Interrupt remapping not supported"表示CPU不支持Interrupt Remapping,无输出则表示CPU支持Interrupt Remapping。

如果不支持则必须执行以下框架内的配置才可做VF透传,否则会报错:failed to set iommu for container: Operation not permitted

echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf

注:如果物理机Linux没有自带的PF驱动,需要手动安装PF驱动;如果云主机Linux/Windows没有自带的VF驱动,需要手动安装VF驱动,对应的网卡驱动需找到其官方网站进行下载。

2.2SR-IOV网卡切割

基于ZStack平台SR-IOV功能切分

平台物理机网卡切割方式如下:

前提条件:

a. 请确保此物理网卡支持SR-IOV切割;

b. 请确保待切割物理网卡所在物理机的BIOS中已开启Intel VT-d/AMD IOMMU和SR-IOV功能;

c. 请确保云平台中添加的物理机IOMMU状态为“可用”。

网卡切割:

1)点击物理机名称,外接设备,勾选要切割的物理网卡,再点击操作,即可对该物理网卡进行SR-IOV切割,如下图所示:

2)根据物理网卡所设置的最大切割数,可自定义设置该物理网卡所切割的VF类型的网卡数量,VF切割数量越多,性能越差;对已切割的物理网卡,不支持动态修改已切割值,即“已虚拟化”状态不支持切割,“可虚拟化”状态才支持切割,如下图所示:

3)物理网卡切割完成后可查看当前VF虚拟网卡可用量及总量,如下图所示:

第三章 场景实践

在ZStack平台中为云主机分配的SR-IOV_VF网卡IP地址配置可采用:DHCP动态分配或手动静态配置两种模式;手动静态配置IP地址的方法可参考对应系统静态IP配置方法,Windows系统IP地址较为简单可以直接在图形界面配置即可;如果云主机系统为Linux发行版本,则需要遵守各发行版本IP配置方法进行配置;本次示例以DHCP模式举例说明。
3.1Linux系统分配VF网卡
物理机相关准备工作完成后,请登录云平台,对物理机网卡进行切割,请参考2.2 SR-IOV网卡切割使用vf网卡创建云主机,详情请参考如下文所示:

1)创建二层网络,勾选启用SR-IOV

2)创建三层网络选用勾选了SR-IOV功能的二层网络。

3)创建云主机,选择三层网络,勾选启用SR-IOV。

4)检查云主机网卡类型为VF,正常打开云主机控制台,检查网络是否可正常连通。

3.2Windows系统分配VF网卡

说明:对于Windows客户机系统,有少数的最新Windows系统(如Windows 8、Windows10)默认带有网卡驱动,而多数的Windows系统 (如Windows 7、Windows 2008 Server、windows2012 Server等)都没有默认带有相关的驱动,需要自行下载和安装。本次示例以Window2012R2为例,举例说明,仅供参考。

1)上传一个Window ISO , 本文 , 以Windows 2012R2为例,镜像格式选择iso平台,再选择Windows,如下图所示:

2)根据物理网卡型号,在对应的官网下载网卡驱动到本地,本次示例网卡型号为:Mellanox Technologies MT27710 Family [ConnectX-4 Lx],对应的网卡驱动下载地址为: https://cn.mellanox.com/products/adapter-software/ethernet/windows/winof-2

下载windows server 2012 R2对应的驱动,如下图所示:

3)上传网卡驱动到云平台,镜像格式选择iso,平台推荐选择other。创建云主机,选择Windows2012R镜像,选择SR-IOV三层网络,勾选启用SR-IOV,点击高级>创建更多光驱>加载ISO添加网卡驱动,如下图所示:

4)安装Windows 2012R2系统。找到网卡驱动,双击打开驱动,双击运行网卡驱动程序,如下图所示:

5)如果出现“欢迎”界面,则点击下一步,如果出现如下显示,则表示/Windows/System32目录中缺少文件,需要在微软官网去下载相应的补丁,Windows server 2012 R2安装KB2999226前还需安装KB2919442、KB2919355两个补丁才可成功安装KB2999226补丁:

6)下载KB2919442、KB2919355、KB2999226补丁并上传到Windows server 2012 R2系统中。本次测试笔者采用的是USB透传,将相应的补丁上传到Windows server 2012 R2系统中;另外也可采用将KB文件制作成ISO的方式,上传到Windows系统内。方法不限,仅做参考,对应的链接如下:

KB2919442: https://www.microsoft.com/zh-cn/download/details.aspx?id=42153

KB2919355: https://www.microsoft.com/en-us/download/details.aspx?id=42334

KB2999226:https://www.microsoft.com/zh-CN/download/details.aspx?id=49063

7)在Windows系统中找到上传的KB2919442补丁,双击运行安装KB2919442,安装完成后,重启系统生效。安装步骤如下图所示:

8)同样的方法,在Windows系统中,双击KB2919355,安装补丁,安装完成后重启生效,最后安装KB2999226,安装步骤参考第7)。

9)找到网卡驱动位置,双击运行安装,如下图所示:

10) 本次以自定义安装为例,点击下一步。

11)选择要安装的功能:

  • 性能工具-安装用于衡量用户环境中的性能的性能工具

  • 文档-包含用户手册和发行说明

  • 管理工具-用于管理的安装工具,例如mlxstat

  • 诊断工具-用于诊断的安装工具,例如mlx5cmd

本次安装需安装性能工具,故以性能工具为例,点击下一步。

12)点击Install开始安装。 驱动安装好后,网络即可连接,点击“是”,连接网络。

13)点击Finish完成网卡驱动的安装,如下图所示:

14)在PowerShell中查看网络连通是否正常,如下图所示:

第四章 性能对比测试

4.1网络性能对比前面我们有提到,VF网卡与普通vNIC网卡相比较,性能更好,通过以下性能测试,来进行比较与证明。

注:本次测试采用跨物理机测试对比,具体参数如下:

基于vNIC网卡和vf网卡性能测试对比如下:

总 结: 从以上数据不难看出,使用带SR-IOV的VF云主机网络性能,比虚拟化网卡网络,延迟和带宽性能都更好。

第五章 注意事项

ZStack云平台使用SR-IOV功能需注意以下情况:

1)使用SR-IOV功能前,须严格确保准备工作全部完成,否则此功能无法正常使用。

2)若VF网卡已分配给云主机使用,请勿卸载物理网卡驱动,否则可能导致VF网卡被强行回收。

3)若物理网卡已配置bond,则继续使用SR-IOV功能,可能导致VF与vNIC网卡相互通信受影响,推荐使用方式如下:

  • 针对单个物理网卡配置bond,并继续使用SR-IOV功能;

  • 多个物理网卡配置bond时,仅对其中一个物理网卡进行SR-IOV切割。

4 )VF网卡不支持QoS功能。

5)启用SR-IOV功能的三层网络创建的云主机,暂时不支持使用以下网络服务:

  • 公有网络/扁平网络创建的云主机,其VF网卡不支持使用安全组和弹性IP网络服务。

  • 云路由网络/VPC网络创建的云主机,其VF网卡不支持使用安全组网络服务。

6)运行状态且加载VF网卡的云主机,不支持数据的存储迁移操作,须停用云主机或卸载VF网卡,才能执行这类操作。

7)停用云主机,将自动释放VF网卡;启用云主机时则重新获取。若无可用VF网卡,将导致启用云主机失败。

- END -

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
世界杯巴西大胜保C组头名,日本难晋级16强

世界杯巴西大胜保C组头名,日本难晋级16强

阿错田间生活
2026-06-25 08:24:34
穆里尼奥:“我非常珍视那张与瓜迪奥拉和路易斯·恩里克的合影”

穆里尼奥:“我非常珍视那张与瓜迪奥拉和路易斯·恩里克的合影”

绿茵情报局
2026-06-25 00:00:59
兰州大学副教授凌晨离世:冷门学问无人问津,手稿静静躺在抽屉里

兰州大学副教授凌晨离世:冷门学问无人问津,手稿静静躺在抽屉里

社会日日鲜
2026-06-24 12:57:10
世卫组织推荐的肌肉不流失四大黄金法则,照着做,准没错

世卫组织推荐的肌肉不流失四大黄金法则,照着做,准没错

观星赏月
2026-06-18 15:29:58
多款水果遭高浓度甜蜜素浸泡,你还敢吃吗

多款水果遭高浓度甜蜜素浸泡,你还敢吃吗

松林侃世界
2026-06-23 04:43:33
464人确诊酸蚀症!医生提醒:吃完这种水果别急着刷牙

464人确诊酸蚀症!医生提醒:吃完这种水果别急着刷牙

环球网资讯
2026-06-24 14:20:10
相亲女自曝身材C颜值高,张口就要18.8万彩礼,月薪两千底气十足

相亲女自曝身材C颜值高,张口就要18.8万彩礼,月薪两千底气十足

曹莽看世界
2026-06-22 14:58:55
印度阿三口出狂言!深圳有10万印度人,是他们把渔村建成现代城市

印度阿三口出狂言!深圳有10万印度人,是他们把渔村建成现代城市

小徐讲八卦
2026-06-24 09:19:54
盘后大涨16%!AI存储需求带动美光上财季业绩远超预期,预计内存紧张持续至2027年以后

盘后大涨16%!AI存储需求带动美光上财季业绩远超预期,预计内存紧张持续至2027年以后

澎湃新闻
2026-06-25 07:52:27
19岁被国家队劝退,五年后击败中国队她拒认叛徒

19岁被国家队劝退,五年后击败中国队她拒认叛徒

最爱乒乓球
2026-06-25 03:03:01
卢俊义的一生给我们的警醒:再有钱再有本事也别犯这3个致命错误

卢俊义的一生给我们的警醒:再有钱再有本事也别犯这3个致命错误

掠影后有感
2026-06-22 10:39:53
满载续航1779公里、油耗3.8个,李想:谁还质疑增程没技术?

满载续航1779公里、油耗3.8个,李想:谁还质疑增程没技术?

小南看车
2026-06-24 22:14:12
43岁王皓现状:靠自己落户北京,家庭事业双丰收,骑自行车上下班

43岁王皓现状:靠自己落户北京,家庭事业双丰收,骑自行车上下班

白面书誏
2026-06-14 20:43:41
倒计时!2026深圳中小学暑假放假时间确定!

倒计时!2026深圳中小学暑假放假时间确定!

深圳本地宝
2026-06-25 01:49:27
7年两次向现实低头,安东尼奥终于把中国U23带进了亚洲杯决赛

7年两次向现实低头,安东尼奥终于把中国U23带进了亚洲杯决赛

刘哥谈体育
2026-06-25 00:07:04
广东11:30收到高考成绩!各分数段位次一览

广东11:30收到高考成绩!各分数段位次一览

手工制作阿爱
2026-06-25 04:28:45
知名女演员宣布怀孕

知名女演员宣布怀孕

掌中邯郸
2026-06-24 11:41:03
电视剧《三体2:黑暗森林》首轮演员阵容公布

电视剧《三体2:黑暗森林》首轮演员阵容公布

观察者网
2026-06-24 20:26:16
女人在月经期间才能“爽”的3件事,尤其是第一件,错过就后悔!

女人在月经期间才能“爽”的3件事,尤其是第一件,错过就后悔!

皓皓情感说
2026-06-25 07:55:38
大陆“向阳红22”科研船在台湾东部水域遭台湾海巡驱离,国台办:如再借此滋事挑衅,升高两岸对立对抗,必遭挫败

大陆“向阳红22”科研船在台湾东部水域遭台湾海巡驱离,国台办:如再借此滋事挑衅,升高两岸对立对抗,必遭挫败

政知新媒体
2026-06-24 13:57:50
2026-06-25 08:55:00
ZStack云计算
ZStack云计算
产品化的云基础软件提供商,位居IDC云系统软件市场报告TOP5,独立云厂商第一
738文章数 31关注度
往期回顾 全部

科技要闻

盘后大涨16%!AI存储需求带飞美光业绩

头条要闻

知情人:日本驻华大使多次请求与中方会面 均未成功

头条要闻

知情人:日本驻华大使多次请求与中方会面 均未成功

体育要闻

字母哥,会把凯尔特人拆了吗?

娱乐要闻

向佐向佑兄弟合体直播!母子终于和解

财经要闻

美光,业绩、指引炸裂

汽车要闻

施鹏泽:为什么奥迪E7X强调座舱气味安全?

态度原创

手机
本地
房产
公开课
军事航空

手机要闻

iQOO 新机现身 Geekbench,天玑9500芯片加持

本地新闻

2026世界杯全勤太难?这份保姆级攻略请收好

房产要闻

白鹅潭新增优质宅地!沙涌地块对望太古里,容积率仅 2.14

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

伊朗代表:霍尔木兹海峡已免费开放

无障碍浏览 进入关怀版