GPU裸金属服务器使用EulerOS 内核误升级解决方案

举报
modelarts-dev-server 发表于 2023/06/07 14:15:06 2023/06/07
【摘要】 在华为云裸金属服务器GPU V100, 操作系统为EulerOS 2.9环境下,经常遇到服务器重启后,操作系统内核莫名其妙升级,导致系统上原安装的nvidia-driver等软件无法使用,只能卸载重新安装。针对这些内核升级带来的困扰, 本文给出详细的避免重启误升级内核的解决方案。

1. 场景和问题描述

华为云裸金属服务器: GPU V100 

操作系统: EulerOS 2.9(基于CentOS制作的Linux发行版)

笔者在使用如上环境裸金属服务器时,经常遇到服务器重启后,操作系统内核莫名其妙升级,导致系统上原安装的nvidia-driver等软件无法使用,只能卸载重新安装。

针对这些内核升级带来的困扰, 本文给出详细的解决方案。

2. EulerOS 内核是如何在不知情的情况下升级的?

(1) 首先查看当前操作系统内核.

[root@devserver-ddff ~]# uname -r                                                                                                                                                                                  
4.18.0-147.5.1.6.h934.eulerosv2r9.x86_64 

(2) 通常执行如下升级命令, 就会导致自动下载和安装高级内核版本

yum update -y

执行后查看当前可用内核, 发现已经新增了内核h998:

[root@devserver-ddff ~]#                                                                                                                                                                           
[root@devserver-ddff ~]# cat /boot/grub2/grub.cfg |grep "menuentry "                                                                                                                               
menuentry 'EulerOS (4.18.0-147.5.1.6.h998.eulerosv2r9.x86_64) 2.0 (SP9x86_64)' --class euleros --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.18.0-147.5.
1.6.h934.eulerosv2r9.x86_64-advanced-f6aefacb-f2d3-4809-b708-6ad0357037f5' {                                                                                                                       
menuentry 'EulerOS (4.18.0-147.5.1.6.h934.eulerosv2r9.x86_64) 2.0 (SP9x86_64)' --class euleros --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.18.0-147.5.
1.6.h934.eulerosv2r9.x86_64-advanced-f6aefacb-f2d3-4809-b708-6ad0357037f5' {                                                                                                                       
menuentry 'EulerOS (0-rescue) 2.0 (SP9x86_64)' --class euleros --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-advanced-f6aefacb-f2d3-4809-b708-6ad
0357037f5' {                                                                                                                                                                                       
[root@devserver-ddff ~]#   

(3) 查看假如reboot(尚未reboot)后默认选择的内核版本:

[root@devserver-ddff ~]# grub2-editenv list 
saved_entry=EulerOS (4.18.0-147.5.1.6.h998.eulerosv2r9.x86_64) 2.0 (SP9x86_64)
boot_success=0
[root@devserver-ddff ~]# 

发现默认系统内核已经变为h998, reboot后就会生效。 此时若重启那么内核版本就被升级了.

3. 如何避免操作系统内核自动升级

(0) 前置条件-当前服务器的内核版本是- 4.18.0-147.5.1.6.h934.eulerosv2r9.x86_64 

(1) 操作系统内核升级生效,必然需要服务器重启, 因此重启reboot前需要查看当前默认选择的内核版本:

[root@devserver-ddff ~]# grub2-editenv list 
saved_entry=EulerOS (4.18.0-147.5.1.6.h998.eulerosv2r9.x86_64) 2.0 (SP9x86_64)
boot_success=0
[root@devserver-ddff ~]# 


如上图发现reboot后内核为4.18.0-147.5.1.6.h998.eulerosv2r9.x86_64, 和当前内核版本h934不一致; 需要重新设置内核版本与当前版本一致.

(2)  查看当前内核版本,并且锁定reboot后默认启动的内核版本,执行如下命令:

grub2-set-default 'EulerOS (4.18.0-147.5.1.6.h934.eulerosv2r9.x86_64) 2.0 (SP9x86_64)'

执行后查看默认启动的内核版本是否和上述设置的相同:

[root@devserver-ddff ~]# grub2-editenv list 
saved_entry=EulerOS (4.18.0-147.5.1.6.h934.eulerosv2r9.x86_64) 2.0 (SP9x86_64)
boot_success=0
[root@devserver-ddff ~]# 

和当前内核一致因此, 即使reboot也不会更改服务器的内核版本。

当然如果你目的就是升级指定的操作系统内核,那么也可以执行grub2-set-default进行设置默认启动内核版本。

附. 操作系统内核升级可能带来的问题

笔者在操作系统内核4.18.0-147.5.1.6.h934.eulerosv2r9.x86_64 下安装的nvidia-driver-515, 

由于不经意间的yum update并reboot服务器,  发现再次执行nvidia命令时报错:

[root@devserver-ddff ~]# nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
[root@devserver-ddff ~]#

只能安裝nvidia-driver-515以及配套的cuda版本. 安装方法可以参考: https://bbs.huaweicloud.com/blogs/401230

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。