GPU裸金属服务器使用EulerOS 内核误升级解决方案
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.cn/blogs/401230
- 点赞
- 收藏
- 关注作者
评论(0)