HW | 安装RTXA6000的注意事项 driver不匹配PKCS#7 signature not signed with a trusted key的修复

.

背景

实验背景是在我的台式机机箱里原有一片Geforce TitanXp安装好,且各实验环境正常,大致配置如下:

Item Description
System Ubuntu 18.04
GPU 1 x Geforce TitanXp 12GB
Driver nvidia driver 460
CUDA 11.0
cuDNN 对应CUDA版本
docker nvidia-docker

现有一块新的Quadro RTXA6000的GPU,希望利用起来,整个折腾的过程如下,希望可以供大家一些参考,少踩坑,早日用上多卡好卡。

.

流程

.

解法一:单独安装

考虑到原来的Titan和A6000负载可能不均衡的问题,所以我一开始的安装策略是先将旧卡拆下,然后将机箱管脚对齐,安装新卡。

这个时候就会引入一个问题bug,新卡和原系统中的driver版本不匹配,所以无法渲染图形界面,无法进入系统界面 T T,于是我就开始了慢慢修复之路。

在开机的时候,屏幕会出现多次报错信息如下:

PKCS#7 signature not signed with a trusted key
PKCS#7 signature not signed with a trusted key
PKCS#7 signature not signed with a trusted key

谷歌之后就发现大概率是drvier不匹配导致的报错,并且无法进入系统。
ubuntu18.04 PKCS#7 signature not signed with a trusted key
how to solve ‘PKCS#7 signature not signed with a trusted key’

针对这个问题的解法就是进入ubuntu的修复模式(recovery mode)然后以root权限进入terminal的系统,然后安装驱动即可。

接下来,就是进入系统的recovery mode,谷歌之后找到解法:RecoveryMode
Boot recovery mode
how do i boot into recovery mode

节选关键步骤如下:

Booting into recovery mode: // 进入系统的修复模式

  1. Switch on your computer. // 打开电脑

  2. Wait until the UEFI/BIOS has finished loading, or has almost finished. (During this time you will probably see a logo of your computer manufacturer.) Note: UEFI fast boot may be too fast to give time to press any key. // 等UEFI/BIOS加载完毕或快加载完

  3. With BIOS, quickly press and hold the Shift key, which will bring up the GNU GRUB menu. (If you see the Ubuntu logo, you’ve missed the point where you can enter the GRUB menu.) With UEFI press (perhaps several times) the Escape key to get grub menu. // 这个时候快速地按下Shift/Esc键(有些版本是F12/F2),若进入可视化Grub菜单说明离recovery mode不远了

  4. Select the line which starts with “Advanced options”. // 选择“Advanced options”高级选项

  5. Select the line ending with “(recovery mode)”, probably the second line, something like: // 修复模式会出现在某个系统选项的尾椎,选择那个就行
    Ubuntu GNU/Linux, with Linux 3.8.0-26-generic (recovery mode)

  6. Press Return and your machine will begin the boot process. // 回车键进入recovery mode

看着这个解法感觉非常踏实,然而现实总是很不可预期。我根据上述步骤进行到第3步时,发现进入的grub界面并不是可视化界面,而是一个终端界面(程序员都懂),于是又开始搜解法。(2333333

解法如下:how to fix minimal bash like line editing is supported grub error in linux

这块我理解是重新指定了grub的root路径,以及更新grub。
注意:这步骤一定要确定是将root路径指定为ubuntu的系统盘。可以通过ls -l查看修改时间来判断,通常修改时间越近并且磁盘空间越接近系统盘的就是那个目标区域。

这步骤之后重启电脑,就可以得到grub menu了,可视化的grub菜单!得来不易啊!

然后选择进入recovery mode的系统就应该可以顺利地重新安装driver,进行等等后续操作。感兴趣的朋友们在这里可以按照之前贴的一些链接,以及谷歌的各种方法继续。

但是,我并没有这么做。

前辈同事综合考虑后,保险起见建议,最好还是在系统正常重启后,用图形界面进行driver的更新最稳妥。所以就有了解法二。(超简单快捷的解法二!)

.

解法二:同时安装

在解法一的时候,我说到因为考虑Titan和RTXA6000的负载不均衡,所以采用单独安装的策略。但实际应用中,如果我们不连接两块GPU(不采用多卡训练)的情况下,是可以同时安装的。

同时安装的好处:

  1. 图形界面系统可正常启动
  2. 在图形界面下更新driver更安全

于是,第二种方法是:

  1. 将新的GPU安装到第二卡槽里
  2. 启动系统
  3. 在ubuntu的图形界面下,找到菜单栏里的系统配置选项卡,点击更新driver。(没有截图)

这么做的好处是只需要等待进度条安装完毕就可,风险系数最低。通常手动使用指令更新driver,会先卸载原有driver,从而导致可视化系统宕机,后续安装新的driver就得进入到指令界面(如解法一的做法)。

如果同学们的机箱只支持安装一块GPU,那最好是先在使用旧的GPU的时候(我的示例中是Titan Xp)启动系统,将driver更新到新的GPU版本要求(driver 465),然后关机更换GPU。

安装好driver后通过指令:

nvidia-smi

即可看见两块GPU了!

配置CUDA cuDNN nvidia-docker

这时距离成功还差一步,就是将软件环境和硬件配对。
须对应driver 465更新安装CUDA cuDNN nvidia-docker,甚至是docker里的pytorch。最终更新后的系统配置如下:

Item Description
System Ubuntu 18.04
GPU 1 x Geforce TitanXp 12GB + 1 x Quadro RTX A6000
Driver nvidia driver 465
CUDA 11.3
cuDNN 对应CUDA版本
docker nvidia-docker2

以及我刚开始使用原有的docker image一度不成功,后来更新docker并重启docker,并尝试更新了container里的pytorch版本到最新(= =)才将所有流程跑通!祝大家都能快速用上好卡!

.

结语

本以为1小时就能安装好的事情,结果战线拉了*天233333,说明面对硬件更换,不可大意。

欢迎大家评论区讨论和补充!希望可以帮到大家!

上一篇:Flink运行架构


下一篇:Hadoop【问题记录】【hadoop-3.1.3 单机版】ResourceManager无法启动NodeManager启动后过一段时间自动关闭 javax/activation/DataSource