手册下载
H3C CAS SR-IOV配置指导-E0730及之后版本-5W101-整本手册.pdf (629.29 KB)
H3C CAS云计算管理平台
SR-IOV配置指导
软件版本:E0730及之后版本
资料版本:5W101-20220816
Copyright © 2022 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文档中的信息可能变动,恕不另行通知。
本文档用于介绍H3C CAS云计算管理平台支持硬件SR-IOV网卡的使用方法和操作步骤。
网络I/O虚拟化是服务器虚拟化技术的重要组成部分。在服务器虚拟化技术领域,计算虚拟化(如CPU和内存虚拟化)已经日趋成熟,但是,网络I/O虚拟化技术的发展相对比较滞后。
当前,主流的网络I/O虚拟化技术有三种,软件模拟、网卡直通和SR-IOV。这三种虚拟化技术在不同程度上实现了网络I/O设备的虚拟化功能。
· 软件模拟是通过虚拟化Hypervisor层模拟虚拟网卡,实现与物理设备完全一样的接口,虚拟机操作系统无须修改就能直接驱动虚拟网卡,其最大的缺点是性能相对较差。
· 网卡直通支持虚拟机绕过Hypervisor层,直接访问物理I/O设备,具有最高的性能,但是,在同一时刻,物理I/O设备只能被一个虚拟机独享。
· SR-IOV是Intel在2007年提出的解决虚拟化网络I/O的硬件技术方案,该技术不仅能够继承网卡直通的高性能优势,而且同时支持物理I/O设备的跨虚拟机共享,具有较好的应用前景。
2007年10月,PCI-SIG发布了SR-IOV(PCI-SIG Single Root I/O Virtualization)规范,其中详细阐述了硬件供应商在多个虚拟机中如何共享单个I/O设备硬件。
图1-1 硬件SR-IOV虚拟化技术原理图
SR-IOV引入了两个新的功能类型:
· PFs(Physical Functions,物理功能):物理网卡所支持的一项PCI功能,一个PF可以扩展出若干个VF。
· VFs(Virtual Functions,虚拟功能):支持SR-IOV的物理网卡虚拟出来的实例,以一个独立网卡的形式呈现,每个VF有独立的PCI配置区域,并可以与其它VF共享同一个物理资源(共用同一个物理网口)。
一旦在PF中启用了SR-IOV,就可以通过PF的总线、设备和功能编号(路由ID)访问各个VF的PCIe配置空间。每个VF都具有一个PCIe内存空间,用于映射其寄存器集。VF设备驱动程序对寄存器集进行操作以启用其功能,并且显示为实际存在的PCIe设备。创建VF后,可以直接将其指定给I/O来宾域或各个应用程序。此功能使虚拟功能可以共享物理设备,并在没有CPU和虚拟机管理程序软件开销的情况下执行I/O。
由此可见,SR-IOV网卡通过将SR-IOV功能集成到物理网卡上,将单一的物理网卡虚拟成多个VF接口,每个VF接口都有单独的虚拟PCIe通道,这些虚拟的PCIe通道共用物理网卡的PCIe通道。每个虚拟机可占用一个或多个VF接口,这样虚拟机就可以直接访问自己的VF接口,而不需要Hypervisor的协调干预,从而大幅提升网络吞吐性能。
需要注意的是,SR-IOV作为一种新技术,目前仍不完善的地方:
· 单个物理网卡支持的虚拟机个数有限制(和物理网卡的类型有关)。
· SR-IOV特性需要物理网卡硬件支持,并非所有的物理网卡都支持SR-IOV特性。
优点:
· SR-IOV资源的智能调度。
· SR-IOV故障迁移:在虚拟机发生故障时,可将虚拟机自动迁移至同资源池下的另一个主机上。
· 迁移目标主机与源主机上挂载同一个资源池,该资源池中存在目标主机上空闲的SR-IOV网卡。
· 虚拟机挂载的SR-IOV网卡不在同一资源池中,不能进行迁移。
本文档用于介绍H3C CAS虚拟化实现CAS支持SR-IOV直通网卡功能的使用方法和操作。
H3C CAS云计算管理平台兼容多种支持硬件SR-IOV的网卡及虚拟机操作系统,兼容列表会随产品的发布进行更新,请以对应的CAS版本兼容适配列表为准。
· 如果虚拟机操作系统为Windows类型,必须在操作系统内安装SR-IOV网卡的VF驱动程序,您可以联系服务器或网卡供应商获取相应的软件驱动安装文件。
· 如果虚拟机操作系统为Linux类型,对于Intel 82599网卡,只支持内核版本为2.6以上的Linux操作系统;对于BCM57810网卡,只支持内核版本为3.9以上的Linux操作系统。
· 本文档介绍的SR-IOV直通网卡配置指导仅适用于E0730及之后版本,E0718之前版本请参见《H3C CAS-SR-IOV配置指导》手册。
· 物理主机必须支持并开启I/O内存管理单元(IOMMU)功能。
· 每个SR-IOV资源池只能创建同一种类型的SR-IOV直通网卡。
· 虚拟机可以挂载不同资源池下面的不同SRIOV直通网卡。
· 虚拟机不能同时安装SR-IOV直通网卡和vGPU设备。
· 虚拟机安装了SR-IOV直通网卡并创建在线快照,关闭虚拟机后不能删除SR-IOV直通网卡,如果删除SR-IOV直通网卡,使用快照还原时不能还原SR-IOV直通网卡。
· 克隆SR-IOV直通网卡的虚拟机,克隆后的虚拟机无SR-IOV直通网卡。
本文档中的配置均是在实验室环境下进行的配置和验证,配置前服务器和软件的所有参数均采用出厂时的缺省配置。如果您已经对被测试对象进行了配置,为了保证配置效果,请确认现有配置和以下举例中的配置不冲突。
本文档不严格与具体硬件服务器型号对应,如果使用过程中与产品实际情况有差异,请参考相关产品手册,或以设备实际情况为准。本文档使用的服务器型号与配置如下表所示,该环境不作为实际部署时的强制环境或推荐环境,只需要服务器能够兼容H3C CAS CVM云计算管理平台即可完成本配置。
表3-1 服务器说明
配置项 |
说明 |
服务器 0 (H3C CAS CVM云计算管理平台) |
型号:HP ProLiant DL380p Gen8 CPU:2路8核,Intel Xeon E5-2650 0 @ 2.00GHz 内存:32 GB |
服务器 1 (H3C CAS CVK虚拟化内核系统) |
型号:HP ProLiant DL380p Gen8 CPU:2路6核,Intel Xeon E5-2630 0 @ 2.30GHz 内存:96 GB 网卡:Broadcom NetXtreme BCM57810 10 Gigabit Ethernet |
存储(共享存储设备) |
型号:HP StoreVirtual 4730 |
表3-2 软件说明
软件 |
版本 |
服务器虚拟化管理软件 |
H3C CAS-E0730 |
虚拟机操作系统 |
Windows Server 2008 R2数据中心版64位 Red Hat Enterprise Linux Server 7.0 64位(内核版本:3.10.0-123.el7) |
图4-1 硬件SR-IOV网卡逻辑组网图
· 服务器#0中安装H3C CAS CVM云计算管理平台,服务器#1中安装H3C CAS CVK虚拟化内核系统。在HP StoreVirtual P4730(iSCSI)存储设备上划分了一个500GB的LUN,并将这个LUN作为iSCSI共享存储设备挂载给服务器#1使用。
· 在服务器#1上创建2个虚拟机,分别安装Windows Server 2008 R2数据中心版64位和Red Hat Enterprise Linux Server 7.0 64位操作系统。
· 在服务器#1的BCM57810网卡上开启SR-IOV功能,并分别分配1个VF接口给VM1和VM2。
(1) 开启服务器IOMMU功能。选择顶部“云资源”页签,单击左侧导航树[计算/主机池/<主机名>]或者[计算/主机池/集群/<主机名>]菜单项,进入主机概要信息页面。
(2) 选择“高级设置”页签,进入主机的启动项配置页面。
图5-1 服务器IOMMU配置
(3) 默认情况下,服务器主机的IOMMU状态为“禁用”。在IOMMU配置状态选择框中,选择启用IOMMU。
图5-2 修改服务器IOMMU状态
(4) 单击<保存>按钮。
(5) 将服务器主机进入维护模式,并重启服务器使IOMMU配置生效。
在配置IOMMU之后,由于必须重新启动服务器生效,如果被测试服务器主机上已经存在虚拟机,为了最大程度地规避因为主机重启而导致虚拟机业务连续性受到影响,强烈建议将服务器主机进入维护模式,将处于运行状态的虚拟机在线迁移到其它服务器主机上,然后再重启服务器主机。
(6) 服务器主机启动完成之后,在H3C CAS CVM云计算管理平台上将服务器主机退出维护模式,检查其IOMMU配置是否为“启用”状态。
图5-3 检查服务器IOMMU配置状态
(7) 选择“硬件”页签,进入该主机的物理网卡列表页面。
(8) 选择指定的物理网卡,选择“SR-IOV”页签,进入SR-IOV管理页面。
(9) 单击启用SR-IOV对应的开关项启用/停用SR-IOV,设置虚拟网卡个数。
图5-4 配置SR-IOV
(10) 单击<保存>按钮完成操作。
(1) 选择顶端“云业务”页签,单击左侧导航树中[智能资源调度]菜单项,进入智能资源调度业务列表页面。
(2) 单击<增加智能资源调度业务>按钮,弹出增加智能资源调度业务对话框。
(3) 输入“名称”、“描述”,选择“集群”,资源类型选择“SR-IOV”。单击<下一步>按钮,进入资源信息页面。
图5-5 增加SR-IOV资源池
(4) 选择加入资源池的SR-IOV。可根据型号进行查询。选择需要加入到资源池的网卡。同一个资源池只能添加一种网卡驱动。单击<确认>按钮,完成创建资源池。
图5-6 配置资源信息
(1) 选择顶部“云资源”页签,单击左侧导航树[计算/主机池/<主机>]或者[计算/主机池/集群/<主机>]菜单项,进入虚拟机概要信息页面,或者单击[计算/主机池/<集群>]菜单项进入集群概要信息页面。
(2) 单击<增加虚拟机>按钮,弹出增加虚拟机对话框。
(3) 根据配置向导完成虚拟机的创建。
(4) 通过控制台,分别为两个虚拟机安装Windows Server 2008 R2数据中心版64位操作系统和Red Hat Enterprise Linux Server 7.0 64位操作系统。
(5) 在H3C CAS CVM云计算管理平台中,在线修改虚拟机,分别为两个虚拟机挂载CAStools工具,并在操作系统内安装CAStools工具(可选步骤)。
(6) 在操作系统内安全关闭虚拟机。
(1) 选择顶部“云资源”页签,单击左侧导航树[计算/主机池/主机/<虚拟机>]或者[计算/主机池/集群/主机/<虚拟机>]菜单项,进入虚拟机概要信息页面。
(2) 单击<修改>按钮,弹出修改虚拟机页面。
(3) 右上角单击<增加硬件>按钮,准备为虚拟机增加SR-IOV网卡。
(4) 在弹出的“增加新的虚拟机硬件”配置向导中,选择硬件类型为“网络”,设备型号选择“SR-IOV直通网卡”,选择SR-IOV资源池,VLAN ID。
(5) 单击<确定>按钮完成操作。
图5-7 增加硬件
VFIO(Virtual Function I/O,虚拟化功能输入输出):基于VFIO的PCI设备分配方式。VFIO是一套用户态驱动框架,在虚拟化场景下,可以用来在用户态实现PCI设备分配,与基于KVM内核的PCI设备分配方式相比,具有更好的兼容性,在实际部署时,建议配置为VFIO类型分配方式。
(6) 从HP官网下载BCM57810网卡在Windows类型操作系统下的VF驱动程序。
仅Windows类型操作系统需要安装VF驱动程序,对于BCM57810网卡,Linux内核版本3.9以上的操作系统都不需要安装VF驱动程序。
(7) 启动虚拟机VM1,并在虚拟机操作系统内完成驱动程序的安装。驱动程序安装成功之后,在Windows操作系统的“设备管理器”中,可以看到SR-IOV网卡已经被操作系统识别到。
图5-8 在Windows Server 2008 R2虚拟机上识别到的SR-IOV网卡
(8) 在VM2虚拟机上,无需安装VF驱动程序,Red Hat Enterprise Linux Server 7.0操作系统默认已经支持BCM57810的网卡驱动程序。在[Settings/Network]中,可以看到被操作系统识别到的SR-IOV网卡。
图5-9 在Red Hat Enterprise Linux Server虚拟机上识别到的SR-IOV网卡
(1) 配置虚拟机SR-IOV网卡IP地址。
a. 在Windows虚拟机操作系统内,配置SR-IOV网卡IP地址为192.168.100.101。
图5-10 配置虚拟机网卡IP地址
b. 在Red Hat Enterprise Linux虚拟机操作系统内,配置SR-IOV网卡IP地址为192.168.100.102。
图5-11 配置虚拟机网卡IP地址
(2) 在VM1操作系统内命令行窗口,Ping VM2的IP地址,观察是否能Ping通。
图5-12 验证虚拟机之间的IP互通性