• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

H3C服务器 GPU虚拟化模式典型配置-6W102

手册下载

H3C服务器 GPU虚拟化模式典型配置-6W102-整本手册.pdf  (2.38 MB)

  • 发布时间:2024/2/23 0:10:04
  • 浏览量:
  • 下载量:

H3C服务器

GPU虚拟化模式典型配置

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2024 新华三技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。

本文档中的信息可能变动,恕不另行通知。

 

1 简介··· 1

1.1 虚拟化模式介绍·· 1

1.2 适配机型·· 1

1.3 适配GPU· 1

2 GPU 虚拟化模式··· 2

2.1 组网需求·· 2

2.2 配置思路·· 2

2.3 使用版本·· 3

2.4 配置注意事项·· 3

2.5 配置步骤·· 3

2.5.1 配置BIOS参数·· 3

2.5.2 修改Linux kernel启动参数·· 5

2.5.3 Host安装和基础配置·· 7

2.5.4 vGPU配置·· 9

2.5.5 创建虚拟机·· 12

2.5.6 添加vGPU设备到虚拟机·· 16

2.6 验证配置·· 19

 


1 简介

本文档介绍H3C服务器的GPU虚拟化模式典型配置举例。

1.1  虚拟化模式介绍

1-1所示,Nvidia GPU虚拟化模式凭借NVIDIA GRID vGPU技术,每个虚拟机的图形命令被直接传递至GPU,不用Hypervisor来译码。让GPU硬件能够实现时间分片,为虚拟化图形提供高性能。

图1-1 虚拟化模式示意图

绘图1

 

1.2  适配机型

本文中介绍的典型配置,适用于以下机型:

·     H3C Uniserver R5300 G6

·     H3C Uniserver R5350 G6

·     H3C Uniserver R5500 G5

·     H3C Uniserver R5300 G5

1.3  适配GPU

本文中介绍的典型配置,适用于以下GPU

·     GPU-A30-24G

·     GPU-A100-40G

·     GPU-A100-80G

·     GPU-A30-24GB-NoCEC

·     GPU-A100-80GB-NoCEC

·     GPU-HGX A100 4-GPU-40GB

·     GPU-HGX A100 4-GPU-80GB

·     GPU-HGX A100 8-GPU-40GB

·     GPU-HGX A100 8-GPU-80GB

2 GPU 虚拟化模式

2.1  组网需求

2-1所示,R5300 G5服务器上安装了CentOS 8.2系统,并配置了2NVIDIA PCIe A100-40G GPU。现基于SRIOV进行GPU虚拟化的配置,使能系统和GPUSRIOV配置,在VF设备下创建vGPU实例,将vGPU实例添加至虚拟机进行使用。

图2-1 虚拟化模式组网图

绘图2

 

2.2  配置思路

(1)     为了提升虚拟机的性能,允许虚拟机直接访问I/O设备,需要使能服务器的虚拟化技术和ACS

(2)     BIOS中开启IOMMU功能,使操作系统支持虚拟化。

(3)     物理显卡必须支持NVIDIA GRID vGPU解决方案。

(4)     创建虚拟机并将GPU设备添加到虚拟机。

(5)     为了使虚拟机可以正常使用GPU,需要在虚拟机系统中安装GPU驱动。

2.3  使用版本

本举例使用如下版本进行配置和验证:

表2-1 使用的机型和版本

项目

型号或版本

机型

R5300 G5

HDM版本

2.80

BIOS版本

5.34

服务器GPU配置方案

8GPU-HPC

GPU 类型

NVIDIA PCIe A100-40G

vGPU驱动版本

510.47.03

物理机操作系统

CentOS 8.2

虚拟机操作系统

CentOS 8.2

 

2.4  配置注意事项

·     由于需要在CentOS系统中管理虚拟机,请确保系统已安装“virt-manager”管理器,一般推荐在安装OS时选择全包安装。

·     正在以直通模式使用的物理GPU不能再用来创建vGPU设备。

2.5  配置步骤

2.5.1  配置BIOS参数

(1)     登录服务器的BIOS Setup界面。

(2)     使能虚拟化技术:Intel平台使能VT-dAMD平台使能IOMMU

·     Intel平台使能方法:在BIOSAdvanced > Socket Configuration > IIO Configuration界面中,将Intel® VT for Directed I/O设置为Enable,如2-2所示。

图2-2 VT-d选项

 

·     AMD平台的使能方法:在BIOSAdvanced > AMD CBS > NBIO Common Options界面中,将IOMMU设置为Enable,如2-3所示。

图2-3 IOMMU选项

 

(3)     使能ACS

a.     BIOSAdvanced > Socket Configuration > IIO Configuration界面中,Ctrl+Shift+F8,打开BIOS下的隐藏项。

b.     IIO Configuration下的PCIe Access Control Services选项设置Enable

图2-4 使能ACS

 

2.5.2  修改Linux kernel启动参数

1. 一次性配置方法

注意

使用这种方法进行设置仅生效一次,重启系统后需要重新设置。

 

(1)     在系统启动阶段,按E进入2-5所示界面,然后按方向键进行翻页,并在指定位置加入“intel_iommu=on iommu=pt”来开启IOMMU支持功能。

(2)     设置完成后按Ctrl-x继续启动系统。

图2-5 修改启动项

 

2. 持久配置方法

说明

·     此配置为持久配置,只需执行一次,重启系统后仍然有效。

·     本方法会直接修改系统的配置文件,如果写入的配置内容出错可能导致系统启动文件损坏,从而无法正常开机,请谨慎使用此方法。

 

(1)     修改系统下的grubenv配置文件,在2-6所示位置增加“intel_iommu=on iommu=pt配置文件地址通常位于/boot/grub2/grubenv路径。

图2-6 修改grubenv配置文件

 

(2)     执行grub2-mkconfig -o /boot/grub2/grubenv命令,重新生成grubenv配置文件。

图2-7 生成grubenv配置文件

 

(3)     重启操作系统使配置生效。

2.5.3  Host安装和基础配置

1. 安装Linux系统

安装操作系统的具体步骤,请参见《H3C服务器 操作系统安装指导》。

2. 进入多用户模式

(1)     在系统中执行systemctl set-default multi-user.target命令,进入多用户模式。

图2-8 进入多用户模式

01-拉黑操作-多用户模式

 

(2)     执行reboot命令,重启操作系统使配置生效。

3. 禁用自带驱动

(1)     依次执行如下命令,对自带驱动进行禁用操作。

echo "blacklist nouveau" >>/etc/modprobe.d/blacklist-nouveau.conf

echo "options nouveau modeset=0" >>/etc/modprobe.d/blacklist-nouveau.conf

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

图2-9 禁用自带驱动

02-拉黑操作-拉黑自带驱动

 

(2)     执行reboot命令,重启操作系统使配置生效。

4. 安装vGPUHost驱动

(1)     在系统中执行rpm -ivh NVIDIA-vGPU-rhel-8.2-510.47.03.x86_64.rpm命令,安装vGPU驱动

图2-10 安装vGPU驱动

 

(2)     执行reboot命令,重启操作系统使配置生效。

5. 查看GPU状态

驱动安装成功后,查看GPU状态。执行命令nvidia-smi,查看A100 GPU默认状态MIG为禁用状态。记录下A100 GPUBus ID,以备下一步启用SRIOV时使用,本例中为:0:3D:00.0

图2-11 确认GPU状态

 

6. 启用SRIOV

提示

若执行使能SRIOV时发生错误,请检查kernel参数中的iommu选项是否生效,或服务器BIOS中的相关选项是否使能。

 

(1)     在启用SRIOV前,请确保物理GPU未被任何其他进程使用,例如:CUDA、其他监控程序或nvidia-smi命令。仅使用随NVIDIA vGPU软件提供的自定义脚本sriov-manage。不要尝试通过其他方式使能SRIOV

(2)     执行命令/user/lib/nvidia/sriov-manage –e BusID,本例中Bus ID为:0:3D:00.0,所以执行命令/user/lib/nvidia/sriov-manage –e 0000:3D:00.0

图2-12 启用SRIOV

 

(3)     执行lspci –s 0:3D:00.0 -vv命令,查看Bus ID0:3D:00.0A100 GPU支持的SRIOV属性。查看属性可以看出A100 GPU最大可分配16VF

图2-13 查看GPU支持的SRIOV属性

 

(4)     使能SRIOV后,在/sys/class/mdev_bus/目录中可以查看所有可用于创建vGPUVF设备的BDFA10000:3D:*VF目录一共是16个。

图2-14 查看可创建vGPUVF设备

 

2.5.4  vGPU配置

1. 基于SRIOV vGPU特性

创建SRIOV类型的vGPU,遵循以下方法:

(1)     每个vGPU实例占用一个VF设备,一旦VF已经被分配,该VF上不可再创建vGPU

(2)     每个物理GPUVF总数>=GPU上可创建的vGPU最大实例数,例如A100 GPU单卡的Total VF数量是16,而最大A100 GPU单卡的vGPU实例数为40GB/4GB4C类型vGPU Size=10。因此,VF总数并不是该GPU的可创建最大vGPU数量。

图2-15 查看VF设备

 

(3)     最大可创建的vGPU实例数可以查询该vGPU类型目录中的description文件中描述的max_instances的值。

图2-16 查看vGPU类型目录属性

 

(4)     每一个VF设备的当前实时可创建vGPU数量应查询该VF目录下,指定类型目录中available_instances文件中的值:1表示可以在此VF设备创建指定的vGPU类型实例。0则表示不可创建此类型vGPU。可能是由于当前VF已经被占用,或当前类型不被支持。

图2-17 查看VF设备是否已被占用

 

2. 创建vGPU设备

(1)     启用SRIOV以后,选择一个未使用的VF设备目录,我们选择第一个设备目录:0000:3D:00.4,执行以下命令查看出所有支持的mdev设备名称和vGPU设备可用数量:

cd mdev_supported_types

for i in * ; do echo $i, `cat $i/name` `cat $i/ava*` ; done

执行命令后,可以查看到A100-4C类型的目录名为nvidia-468,且可用实例数量为1,所以可以在此VF上创建14C类型的vGPU实例,目录使用nvidia-468

图2-18 查看支持的mdev设备名称和vGPU设备可用数量

 

(2)     使用uuid命令创建vGPU设备。

图2-19 创建vGPU设备

 

(1)     创建成功后再次查看,可以看到已分配vGPUVF0:3D:00.4可用的剩余vGPU实例数,全部为0。此时当前VF已经不能再创建新的vGPU设备。新的vGPU只能创建在不同的VF上。若需再创建,需切换至另一个VF目录。

图2-20 查看vGPU剩余实例数

 

(2)     切换至0:5d:00.5以后,查看可用vGPU实例状态。可以查看到空闲的VF上面仍然可以创建1个相同类型的vGPU实例,直到所有VF的可用vGPU instance全部为0

图2-21 可用示例状态

 

(3)     在此VF上创建第二个vGPU设备,方法同上。

图2-22 创建第二个vGPU设备

 

(4)     通过以下命令可查看到所有生成的vGPUuuid

图2-23 查看所有生成的vGPU

 

2.5.5  创建虚拟机

(1)     CentOS 8.2操作系统中执行virt-manager命令,弹出Virtual Machine Manager,如2-24所示。

图2-24 Virtual Machine Manager

 

(2)     通过VM管理器在虚拟机上安装系统,具体步骤如下。

a.     2-25所示,开始创建一个新虚拟机,选择通过镜像文件安装。

图2-25 创建虚拟机

 

b.     2-26所示,浏览并选择待安装到虚拟机的OS镜像文件。

图2-26 选择OS镜像

 

c.     2-27所示,设置虚拟机的内存和CPU参数。

图2-27 设置内存和CPU参数

6

 

d.     2-28所示,设置虚拟机硬盘容量。

图2-28 设置虚拟机硬盘容量

7

 

e.     2-29所示,为虚拟机命名,完成虚拟机配置。

图2-29 完成虚拟机配置

8

 

f.     2-30所示,选择Install CentOS Linux 8,安装操作系统。安装操作系统的具体步骤,请参见《H3C服务器 操作系统安装指导》。

图2-30 安装操作系统

9

 

2. 虚拟机基础配置

进入虚拟机后,需设置多用户模式,禁用自带驱动,此部分可参考2.5.3  Host安装和基础配置章节相关配置方法。

2.5.6  添加vGPU设备到虚拟机

1. 添加vGPU设备到虚拟机。

(1)     将之前生成的vGPUuuid写入虚拟机文件中,执行命令virsh edit centos82,编辑虚拟机的xml配置并添加vGPU设备配置段,其中,centos82为虚拟机的名称。

 

(2)     保存退出后,启动该虚拟机,此时vGPU已经分配给此虚拟机。

2. 安装vGPU驱动

(1)     为虚拟机配置IP地址等参数,推荐使虚拟机连接到互联网。

(2)     vGPU驱动程序上传至虚拟机。

(3)     安装驱动程序,如2-31所示。

图2-31 安装驱动

 

3. (可选)安装依赖文件

(1)     如果虚拟机的系统中缺少依赖文件,安装驱动时会出现如2-32所示报错信息。

图2-32 安装驱动时报错

16-2

 

(2)     2-33所示,查看/var/log/路径中的nvidia-installer.log文件。

图2-33 查看NVIDIA安装日志

17-0

 

(3)     2-34所示,确认当前系统安装GPU驱动缺少的依赖文件。

图2-34 确认缺少的依赖文件

17

 

(4)     2-35所示,执行yum命令,依次安装缺少的依赖文件。如虚拟机已联网,系统可自动下载软件包;如虚拟机未联网,请配置本地的yum源。

图2-35 安装依赖文件

19

 

(5)     2-36所示,再次安装GPU驱动,直至安装完成。

图2-36 安装GPU驱动

22

 

2.6  验证配置

2-37所示,在虚拟机系统中执行nvidia-smi命令,查看GPU信息,能看到GPU已被虚拟机识别。

图2-37 查看GPU信息

 

新华三官网
联系我们