文档首页/ AI开发平台ModelArts/ 故障排除/ Lite Server/ GPU裸金属服务器使用EulerOS内核误升级如何解决
更新时间:2024-09-07 GMT+08:00
分享

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

问题现象

GP Vnt1裸金属服务器,操作系统为EulerOS 2.9(基于CentOS制作的Linux发行版),经常遇到服务器重启后,操作系统内核无故升级,导致系统上原安装的nvidia-driver等软件无法使用,只能卸载重新安装。

原因分析

分析EulerOS内核是如何在不知情的情况下升级的:

  1. 首先查看当前操作系统内核。
    [root@Server-ddff ~]# uname -r
    4.18.0-147.5.1.6.h934.eulerosv2r9.x86_64
  2. 一般执行如下升级命令,就会导致自动下载和安装高级内核版本。
    yum update -y
    执行后查看当前可用内核,发现已经新增了内核h998:
    [root@Server-ddff ~]#
    [root@Server-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@Server-ddff ~]#
  3. 查看假如reboot(尚未reboot)后默认选择的内核版本:
    [root@Server-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@Server-ddff ~]# 

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

处理方法

下文中假设当前服务器的内核版本是为4.18.0-147.5.1.6.h934.eulerosv2r9.x86_64,介绍如何避免操作系统内核自动升级。

  1. 操作系统内核升级生效,必然需要服务器重启, 因此重启reboot前需要查看当前默认选择的内核版本:
    [root@Server-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@Server-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)'
  3. 执行后查看默认启动的内核版本是否和上述设置的相同:
    [root@Server-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@Server-ddff ~]# 

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

若希望升级指定的操作系统内核,也可以执行grub2-set-default进行设置默认启动内核版本。但操作系统内核升级可能带来的问题。例如在操作系统内核4.18.0-147.5.1.6.h934.eulerosv2r9.x86_64 下安装的nvidia-driver-515,由于执行了yum update并reboot服务器, 发现再次执行nvidia命令时报错:

[root@Server-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@Server-ddff ~]#

此时只能安裝nvidia-driver-515以及配套的cuda版本,安装方法可以参考GP Vnt1裸金属服务器EulerOS 2.9安装NVIDIA 515+CUDA 11.7

相关文档