linux-系统升级

 

一、linux系统及内核升级

yum update -y --exclude=kernel && reboot  #以yum方式升级非内核的所有包;
wget https://mirror.rackspace.com/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-5.13.0-1.el7.elrepo.x86_64.rpm  #下载指定版本内核包;
wget https://mirror.rackspace.com/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-5.13.0-1.el7.elrepo.x86_64.rpm #下载指定版本内核工具包;
yum -y localinstall kernel-ml*  #安装内核所有包;rpm -ivh kernel-ml-*  #安装内核所有包;
# yum remove -y kernel-3.10.0-957.el7.x86_64 #删除多余内核;当/boot剩余容量不足时,必须删除非运行的内核。
rpm -qa |grep kernel            #查看安装的所有内核及其工具包;
grubby --default-kernel         #查看当前默认启动内核;
uname -r                        #查看当前内核;
awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg  #查看内核启动清单及顺序;
grub2-editenv list              #查看清单中保存的启动内核名称;
grub2-set-default 0 && grub2-mkconfig -o /etc/grub2.cfg  #设置默认启动entry为0的内核,并将修改的配置写入grub2.cfg;
# sed -i "/s/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/g" /etc/default/grub;update-grub #设置默认启动内核的entry为0,并将修改的配置更新至grub2.cfg;
grubby --args="user.namespace.enable=1" --update-kernel="$(grubby --default-kernel)"

 

reboot      #重启后使内核生效;
uname -a    #查看内核是否生效;

 

 

 

二、故障排查  

问题1:内核升级后重启系统失败?

 welcome to emergency mode!

原因分析:BIOS报的IO空间太少不够分配;但如果设备没用到IO空间,也没有关系,不影响使用;sdb及sdc不能挂载导致kernel崩溃。

kernel: pci 0000:00:17.7: BAR 13: no space for [io size 0x1000]

kernel: pci 0000:00:17.7: BAR 13: failed to assign [io size 0x1000]

...

[sda] Cache data unavailable

[sda] Assuming drive cache: write through

...

 piix4_smbus 0000:00:07.3: SMBus Host Controller not enabled!

...

Failed to mount /srv/node/sdc

...

crashkernel: memory value expected.

... 

Unit srv-node-sdc.mount has failed

The result is failed.

kernel: XFS(sdc):  unknown mount option [nobarrier].

...

kdump service failed

 

解决方法:注释挂载sdb及sdc磁盘后重启即可;即升级系统成功。

 

 

 

 

 

 

 

 

 

 

  

posted on 2021-07-12 21:31  chalon  阅读(2330)  评论(0编辑  收藏  举报