手册下载
H3C服务器 GPU直通模式典型配置-6W101-整本手册.pdf (1.96 MB)
H3C服务器
GPU直通模式典型配置
Copyright © 2023 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
目 录
本文档介绍H3C服务器的GPU直通模式典型配置举例。
如图1所示,GPU直通模式是将PCI插槽上的物理设备不经过宿主机的OS层,直接透传给虚拟机独占使用。该模式保存了GPU的完整性和独立性,失去了设备复用的功能,具有性能损耗小、功能兼容性好的特性。
本文中介绍的典型配置,适用于以下机型:
· H3C Uniserver R5500 G6
· H3C Uniserver R5300 G6
· H3C Uniserver R5350 G6
· H3C Uniserver R5500 G5
· H3C Uniserver R5300 G5
· H3C Uniserver R5300 G3
本文中介绍的典型配置,适用于适配机型下交付的所有GPU。
适配GPU具体型号请参见服务器兼容的部件查询工具。
如图2所示,R5300 G5服务器上安装了CentOS 8.2系统,并配置了2张NVIDIA PCIe A100-40G GPU。现希望在操作系统中安装虚拟机,该虚拟机部署CentOS 8.2系统,并将其中1张GPU分配给该虚拟机,使虚拟机可以直接使用该GPU,并独占该GPU所有资源。
(1) 为了提升虚拟机的性能,允许虚拟机直接访问I/O设备,需要使能服务器的虚拟化技术和ACS。
(2) 在BIOS中开启IOMMU功能,使操作系统支持虚拟化。
(3) 创建虚拟机并将GPU设备添加到虚拟机。
(4) 为了使虚拟机可以正常使用GPU,需要在虚拟机系统中安装GPU驱动。
本举例使用如下版本进行配置和验证:
表1 使用的机型和版本
型号或版本 |
|
机型 |
R5300 G5 |
HDM版本 |
2.80 |
BIOS版本 |
5.34 |
服务器GPU配置方案 |
8GPU-HPC |
GPU 类型 |
NVIDIA PCIe A100-40G |
GPU驱动版本 |
470.82.01 |
宿主机操作系统 |
CentOS 8.2 |
虚拟机操作系统 |
CentOS 8.2 |
由于需要在CentOS系统中管理虚拟机,请确保系统已安装“virt-manager”管理器,一般推荐在安装OS时选择全包安装。
(1) 登录服务器的BIOS Setup界面。
(2) 在BIOS的Advanced > Socket Configuration > IIO Configuration界面中,将Intel® VT for Directed I/O设置为Enable,使能虚拟化技术,如图3所示。
(3) 使能ACS。
a. 在BIOS的Advanced > Socket Configuration > IIO Configuration界面中,按Ctrl+Shift+F8,打开BIOS下的隐藏项。
b. 将IIO Configuration下的PCIe Access Control Services选项设置为Enable。
图4 使能ACS
(1) 在物理服务器系统启动阶段,按E进入图5所示界面,然后按方向键进行翻页,并在指定位置加入“intel_iommu=on iommu=pt”来开启IOMMU支持功能。
(2) 设置完成后按Ctrl-x继续启动系统。
本方法会直接修改系统的配置文件,如果写入的配置内容出错可能导致系统启动文件损坏,从而无法正常开机,请谨慎使用此方法。
(1) 修改系统下的grubenv配置文件,在图6所示位置增加“intel_iommu=on iommu=pt”。配置文件地址通常位于/boot/grub2/grubenv路径。
图6 修改grubenv配置文件
(2) 执行grub2-mkconfig -o /boot/grub2/grubenv命令,重新生成grub配置文件。
图7 生成grub配置文件
(3) 重启操作系统使配置生效。
(1) 在CentOS 8.2操作系统中执行virt-manager命令,弹出Virtual Machine Manager,如图8所示。
(2) 通过VM管理器在虚拟机上安装系统,具体步骤如下。
a. 如图9所示,开始创建一个新虚拟机,选择通过镜像文件安装。
b. 如图10所示,浏览并选择待安装虚拟机的OS镜像文件。
图10 选择OS镜像
c. 如图11所示,设置虚拟机的内存和CPU参数。
d. 如图12所示,设置虚拟机硬盘容量。
e. 如图13所示,为虚拟机命名,完成虚拟机配置。
f. 如图14所示,选择Install CentOS Linux 8,安装操作系统。安装操作系统的具体步骤,请参见《H3C服务器 操作系统安装指导》。
系统安装成功后,在VM管理器中将GPU通过直通模式挂载到虚拟机。
(1) 由于GPU不支持热插拔,所以在挂载GPU前请先将虚拟机关机,关机方法如图15所示。
(2) 如图16所示,依次单击图中的1~4选项,然后选择待添加的GPU设备,单击Finish。
(3) 弹出如图17所示提示框,单击Yes关闭提示框,然后重启虚拟机,使分配给虚拟机的GPU生效。
(1) 在虚拟机系统中执行systemctl set-default multi-user.target命令和reboot命令,进入多用户模式并重启生效。
(2) 执行vim /etc/default/grub,编辑grub文件。
(3) 在rhgb quiet中间插入modprobe.blacklist=nouveau,即修改后为:
rhgb modprobe.blacklist=nouveau quiet
(4) 执行如下命令重新生成grub配置文件:
· Legacy模式:grub2-mkconfig –o /boot/grub2/grub.cfg
· UEFI模式:grub2-mkconfig –o /boot/efi/EFI/系统名/grub.cfg
(5) 重启后执行lsmod | grep –I nouveau命令,如命令执行无内容返回即禁用成功,如图18所示。
(1) 为虚拟机配置IP地址等参数,推荐使虚拟机连接到互联网。
(2) 将GPU驱动程序上传至虚拟机。
(3) 安装驱动程序,如图19所示。
(1) 如果虚拟机的系统中缺少依赖文件,安装驱动时会出现如图20所示报错信息。
(2) 如图21所示,查看/var/log/路径中的nvidia-installer.log文件。
图21 查看NVIDIA安装日志
(3) 如图22所示,确认当前系统安装GPU驱动缺少的依赖文件。
(4) 如图23所示,执行yum命令,依次安装缺少的依赖文件。如虚拟机已联网,系统可自动下载软件包;如虚拟机未联网,请配置本地的yum源。
(5) 如图24所示,再次安装GPU驱动,直至安装完成。
如图25所示,在虚拟机系统中执行nvidia-smi命令,查看GPU信息,能看到GPU已被虚拟机识别。