20.03LTS SP3 部署Nvidia vGPU

环境信息

服务器型号:Dell R740

操作系统版本:20.03LTSP3

架构:x86_64

GPU型号: Nvidia A10

20.03LTS SP3 KVM HOST部署Nvidia vGPU

1. 重新编译内核,将vGPU的patch合入内核,详细操作步骤请参考《openEuler内核合入patch的编译安装流程》。

2. 修改BIOS配置,使能VT和SR-IOV

3. 安装编译依赖的软件包:

dnf install -y gcc-c++ tar make

4. 修改系统启动项,使能VT-d的iommu功能和SR-IOV。

vi /boot/efi/EFI/openeuler/grub.cfg

5. 重启机器,查看SR-IOV的使能情况,回显中应出现上一步设置的信息。

reboot

cat /proc/cmdline

6. 禁用开源驱动nouveau

rmmod nouveau

echo “blacklist nouveau” >> /etc/modprobe.d/blacklist.conf

nouveau驱动和Nvidia的vGPU驱动冲突,所以要禁用nouveau。

查看驱动,如果没有回显表示驱动已经成功禁用。

lsmod | grep nouveau

7. 从Nvidia官网下载驱动,然后安装驱动

bash NVIDIA-Linux-x86_64-510.47.03-vgpu-kvm.run

安装过程中,请使用DKMS进行自动编译(出现选项时,选择YES)

8. 重启机器, 重启完成后查看内核加载的驱动模块

reboot

lsmod | grep vfio

9. 执行nvidia-smi,如果出现以下界面,表示驱动成功安装

10. 执行以下命令启用SRIOV, 如果看到命令回显出现注册信息,表示使能SR-IOV成功。

/usr/lib/nvidia/sriov-manage -e ALL

每次重启后vGPU的SRIOV都会关闭,所以重启后需要重新执行命令使能SRIOV。

11. 使能SRIOV成功后,在/sys/class/mdev_bus/目录下会列出所有可以用于创建vGPU的VF设备的BDF。

ls /sys/class/mdev_bus/

12. 进入对应的vGPU设备下,执行以下命令可以查看每个VF目录所能创建的vGPU类型和数量。

cd /sys/class/mdev_bus/0000:3b:00.4/mdev_supported_types

for i in * ; do echo “  “ $(cat $i/name) available: $(cat $i/avai*); done

13. 执行以下命令查看当前VF支持的mdev设备名称和vGPU设备可用数量

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

14. 创建vGPU MDEV设备

uuidgen > nvidia-588/create

ls nvidia-588/devices

创建完成后查看已分配vGPU的VF可用的剩余vGPUU 实例数,全部为 0。意味着当前VF已经不能再创建新的 vGPU 设备,如果要再创建新的 vGPU,需要选择其他VF。

重启物理机后,分配的vGPU会被删除,所以重启后需要重新生成uuid分配给虚拟机。

openEuler 20.03LTS SP3 VM部署Nvidia vGPU Guest

1. 创建虚拟机,详细创建方式请参考《openEuler x86_64虚拟机创建流程》。

2. 执行virsh list –all命令查看当前机器里已创建的虚拟机。

3. 修改虚拟机的配置文件,将之前vGPU生成的uuid写入虚拟机的配置文件在devices节点下,添加以下信息:

virsh edit testVM01

4. 启动虚拟机

virsh start testVM01

5. 将vGPU的客户端驱动scp到虚拟机上

6. 进入虚拟机

virsh console testVM01

7. 查看/lib/modules/4.19.90目录下是否存在build、source 目录,如果这两个目录不存在,下载内核源码,进行编译使源码目录下存在编译好的文件,然后创建软链接指向源码目录。

dnf install -y kernel-source rpm-build openssl-devel bc rsycn gcc gcc-c++ flex bison m4 elfutils-libelf-devel

cd /usr/src/linux-4.19.90-2202.1.0.0136.oe1.x86_64/

make openeuler_defconfig

make binrpm-pkg -j{cpu_num}

ln -s /usr/src/linux-4.19.90-2202.1.0.0136.oe1.x86_64/ /lib/modules/4.19.90/build

ln -s /usr/src/linux-4.19.90-2202.1.0.0136.oe1.x86_64/ /lib/modules/4.19.90/source

8. 安装Nvidia Guest vGPU驱动

bash /opt/ NVIDIA-Linux-x86_64-510.47.03-grid.run

9. 使用nvidia-smi查看相关信息,驱动安装成功

10. 查看虚拟机挂载的显卡

dnf install pciutils

lspci | grep -i vga

11. 使用nvidia-smi查看服务端的vGPU使用情况

Agenda

1. 物理机安装Nvidia vGPU驱动失败

如果出现以下报错,表示安装驱动时缺少编译安装依赖的软件包。

请安装以下软件包:

dnf install -y gcc-c++ tar make

2. 虚拟机安装驱动失败

如果在虚拟机安装驱动出现以下报错,需要手动安装kernel-source源码包,并在/lib/modules目录下设置软链接,因为驱动安装过程中会去读取内核build、source目录下的信息。

3. 使能SRIOV出现“Kernel doesn’t support SRIOV based vGPU”的错误

如果执行SRIOV使能时出现以下错误,说明patch没有成功打入kernel,kernel不支持vGPU SRIOV。

请编译内核,将以下patch合入内核,详细流程请参考《openEuler 内核合入patch的编译安装流程》。

patch链接:

https://patchwork.kernel.org/project/kvm/patch/20190213040301.23021-8-baolu.lu@linux.intel.com/

4. nvidia-smi执行失败

如果使用nvidia-smi查看vGPU相关信息时,出现了以下的报错,表示驱动安装失败,请卸载当前安装的驱动并重新进行安装。

R740 KVM vgpu相关推荐

  1. 年年100%增长,深信服超融合企业云做对了什么?

    喧嚣过后,云计算走向成熟,有很多标志.比如,云厂商不再一味鼓励用户建云.上云,而是开始更多思考如何与用户业务相结合,层出不穷的行业.应用场景解决方案便是最好的注解:用户已经知道了云是什么,能带来什么好 ...

  2. 【远程办公】NICE DCV远程可视化连接技术要点

    NICE DCV 基于C/S架构的远程可视化显示协议,NICE DCV 为本地提供独立的或者基于Web的客户端连接远程集群或者服务器上的显示内容,NICE DCV服务安装于远程或者云上的GPU服务器中 ...

  3. NVIDIA显卡虚拟化vGPU终于支持KVM了

    (文章来自作者维护的社区微信公众号[虚拟化云计算]) ( 目前有两个微信群<kvm虚拟化>和<openstack>,扫描二维码点击"云-交流",进群交流提问 ...

  4. vGPU作为主流平台的进化之路

    针对能够并行利用数百个小核心的应用来说,GPU提供了极大的性能提升.众所周知的用例包括各种形式的图形处理,视频编辑渲染等等-科学计算以及数据流处理,包括大数据分析以及高速通信/存储数据服务. 很多用例 ...

  5. DoraCloud for Proxmox桌面云上启用NVIDIA Tesla P4的vGPU功能

    Proxmox virtualization environment,简称PVE,是一个开源免费的基于linux的企业级虚拟化方案,功能不输专业收费的VMware.简单的说,PVE是一个基于Debia ...

  6. Centos7 KVM 虚拟机加载NVIDIA驱动

    文章目录 1 Centos7.7宿主机安装NVIDIA驱动 2 KVM虚拟机安装NVIDIA 驱动 1 Centos7.7宿主机安装NVIDIA驱动 NVIDIA驱动官方下载地址 (1)关闭nouve ...

  7. CAS虚拟化平台Linux虚拟机安装vGPU显卡驱动并获取许可

    前言 在虚拟化环境中,虚拟机要使用vGPU,需要搭建显卡许可服务器License Server,虚拟机客户端通过连接许可服务器获得许可.当物理机上的显卡被拆分后,分配到虚拟机上,虚拟机需要安装相应的显 ...

  8. GPU虚拟化-Intel的KVMGT、NVIDIA的vGPU、AMD的MaxGPU

    (文章来自作者维护的社区微信公众号[虚拟化云计算]) (目前有两个微信群<kvm虚拟化>和<openstack>,扫描二维码点击"云-交流",进群交流提问) ...

  9. 新华三 VDI java,鱼和熊掌兼得:新华三vGPU云桌面方案革新VDI性能体验

    在过去的很长时间里,虚拟桌面基础架构(VDI)在企业办公环境中长短互现,其优势体现在海量部署时的可管理性.安全性.成本及能效方面,但面对一些特殊的应用场景,例如3D渲染.CAD.视频编辑等,VDI往往 ...

最新文章

  1. 在网络推广外包中企业网站排名优化在网络推广外包中如何实现?
  2. pythonurllib模块-Python urllib模块 网络资源访问安装下载
  3. Android的Activity生命周期模拟程序及解析
  4. Google Hacking语法总结
  5. ITK:二进制XOR两个图像
  6. VTK:可视化之Lorenz
  7. kafka系列九、kafka事务原理、事务API和使用场景
  8. hadoop重启后 9000端口不在
  9. Ubuntu打包发布qt程序
  10. Jetson tx2记录422测试笔记和wifi信号测试笔记
  11. 他因“上帝粒子”获诺奖,却火速搬到乡下:它毁了我的生活
  12. C语言坐标打飞机,C语言实现打飞机小游戏
  13. linux双系统无u盘安装教程视频教程,window 与Linux Mint 双系统U盘安装方法
  14. 智能家居监控移动手机组态现实生活中的应用
  15. JSR 356 WebSocket (Java WebSocket 1.0) support is not available when running on Java 6. To suppress
  16. err = Problems with launching via XPC. XPC error : Connection interrupted (0x00000005)
  17. js键盘监听事件及键盘键码对照表
  18. “百度杯”CTF比赛 十一月场Fuzz
  19. html 截取指定字符串长度,前端js截取指定长度个数字符 v2.0.0
  20. 内存对齐以及如何关闭内存对齐

热门文章

  1. Apifox和Apipost有什么区别?那个更有优势(接口工具)postman、jmeter等等、、、
  2. 题解:艾米利亚的施法
  3. 大数据和云计算(一)——神奇的打字复印店
  4. 华为鸿蒙二个重大失误,华为鸿蒙系统曝光后,比尔盖茨遗憾表示:最大失误是让安卓崛起了...
  5. 低代码开发平台有哪些 【最新】低代码开发平台排名
  6. xgboost / lightgbm for NLP 添加一些 写死的/hardcode 的比如同义词 “特征”/规则
  7. 如何在服务器上显示asp文件格式,asp文件如何打开
  8. springboot学习之注解
  9. 深度学习应用1——手势识别测试
  10. 最小二乘法与主成分分析法原理及应用详解和它们的联系