CentOS 7.9集群升级内核(kernel-5.4.218)

记录:368

场景:对安装了CentOS 7.9操作系统的集群,升级Linux 3.10.0-1160.el7.x86_64内核到kernel-5.4.218。使用ELRepo镜像仓库中kernel包作为内核包安装源。

版本:

操作系统:CentOS 7.9

名词

GRUB:GRand Unified Bootloader的简称。GNU GRUB是一个GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

1.基础知识

1.1elrepo镜像

ELRepo: The ELRepo Project focuses on hardware related packages to enhance your experience with Enterprise Linux. This includes filesystem drivers, graphics drivers, network drivers, sound drivers, webcam and video drivers.

ELRepo:ELRepo项目专注于与硬件相关的软件包,以增强您使用Enterprise Linux的体验。这包括文件系统驱动程序、图形驱动程序、网络驱动程序、声音驱动程序、摄像头和视频驱动程序。

Elrepo:是国外的一个只对Linux操作系统的第三方免费软件资源库,支持Linux和CentOS操作系统的软件安装和升级。

1.2elrepo镜像地址

Elrepo官网:https://elrepo.org/

Elrepo镜像:http://mirrors.coreix.net/elrepo-archive-archive

阿里云开源镜像站:https://developer.aliyun.com/mirror/elrepo

1.3内核包的两个后缀

kernel-ml:ml是mainline stable 的缩写,elrepo-kernel中罗列出来的是最新的稳定主线版本。

kernel-lt:lt是 long term support的缩写,elrepo-kernel中罗列出来的长期支持版本。

1.4查看内核版本

(1)使用hostnamectl命令

命令:hostnamectl

命令:hostnamectl | grep Kernel

解析:本例版本是Kernel: Linux 3.10.0-1160.el7.x86_64。

(2)查看/proc/version

命令:cat /proc/version

(3)使用uname命令

命令:uname -srm

解析:-s,打印内核名称;-r打印内核发行版本;-m,打印机器硬件名称。

1.5查看已经安装内核软件

命令:rpm -qa | grep kernel

2.集群升级内核

集群环境:本例集群是内网环境,主机无法连接公网ELRepo镜像源。

基础条件:内网中搭建一个ELRepo镜像源。

基本思路:在外网主机hadoop200上下载完整的rpm包;把rmp包拷贝到内网主机hadoop201;在内网主机hadoop201基于httpd搭建yum源镜像仓库;内网集群内主机均配置来自内网主机hadoop201的yum源。

集群主机:app161、app162、app163、app164、app165。

2.1在公网下载ELRepo镜像源

在外网主机hadoop200操作。

使用reposync下载阿里云开源镜像站的elrepo镜像仓库的rpm包。

步骤一:配置外网elrepo镜像源

编辑文件:vi /etc/yum.repos.d/elrepo.repo

编辑内容:

[elrepo]
name=elrepo
baseurl=https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64
gpgcheck=0
enabled=1

步骤二:下载rpm包

下载:reposync -r elrepo -p /home/mirror

2.2制作内网的ELRepo镜像源

在外网主机hadoop201操作。

步骤一: 安装httpd软件并启动httpd服务

步骤二: 把下载的rpm包拷贝到内网主机的/var/www/html/elrepo/目录

步骤三: createrepo生成镜像仓库元数据

命令:createrepo -v /var/www/html/elrepo

步骤四:配置内网镜像ELRepo镜像源源

编辑文件:vi /etc/yum.repos.d/elrepo.repo

编辑内容:

[elrepo-x86_64]
name=elrepo-x86_64
baseurl=http://192.168.19.201/elrepo
enabled=1
gpgcheck=0

步骤五:使用yum命令

查看内核包:yum list --showduplicate kernel*

2.3分发yum源配置文件到集群主机

把elrepo.repo配置文件分发到集群的每台主机。

(1)把主机hadoop201的elrepo.repo拷贝到主机app161

命令:scp -r /etc/yum.repos.d/elrepo.repo root@192.168.19.161:/etc/yum.repos.d/elrepo.repo

(2)从主机app161拷贝到集群其它节点

在主机app161操作。

命令:for i in app162 app163 app164 app165; do scp -r /etc/yum.repos.d/elrepo.repo $i:/etc/yum.repos.d/elrepo.repo; done

解析:集群之间已经配置完成了SSH免密登录。

(3)刷新每个主机的镜像仓库元数据

命令:for i in app161 app162 app163 app164 app165; do ssh -t root@$i 'yum clean all && yum makecache'; done

2.4集群升级内核

在主机app161操作。

(1)安装内核

升级内核命令:for i in app161 app162 app163 app164 app165; do ssh -t root@$i 'yum install -y kernel-lt-5.4.218 && yum install -y kernel-lt-devel-5.4.218'; done

解析:kernel-lt-5.4.218和kernel-lt-devel-5.4.218是内核包。

(2)查看内核序号

查看命令:awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

打印信息:

0 : CentOS Linux (5.4.218-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
2 : CentOS Linux (0-rescue-2eb5357177ae46d781b26d504df8ea0c) 7 (Core)

解析:使用awk从/etc/grub2.cfg文件中找出内核序号,内核序号最小的是当前在用内核。-F\'是标识awk以单引号作为分隔符。$1=="menuentry " {print i++ " : " $2}是执行的命令,awk的分割字段中取值,$1取分割后的第一个变量值和"menuentry "做比对。{print i++ " : " $2}打印出分割后的变量2的值。

(3)设置启动内核

升级内核命令:for i in app161 app162 app163 app164 app165; do ssh -t root@$i 'grub2-set-default 0'; done

解析:把内核5.4.218设置为启动内核。

(4)重启操作系统

重启命令:for i in app162 app163 app164 app165 app161; do ssh -t root@$i 'reboot'; done

解析:重启主机,把主机app161放在最后重启。

(5)查看生效版本

查看命令:for i in app161 app162 app163 app164 app165; do ssh -t root@$i 'hostnamectl'; done

解析:查看每台主机的版本。

(6)查看已经安装的包

查看命令:for i in app161 app162 app163 app164 app165; do ssh -t root@$i 'rpm -qa | grep kernel'; done

解析:查看每台主机已经安装的包。

(7)卸载旧版本包

卸载旧版本包:for i in app161 app162 app163 app164 app165; do ssh -t root@$i 'yum remove -y kernel-3.10.0-1160.el7.x86_64'; done

以上,感谢。

2023年01月30日

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于 CentOS 7.9内核版本为 3.10.x。要将内核升级到 5.0.0-20-generic,需要进行以下步骤: 1. 确认系统架构 使用以下命令确认系统的架构: ```bash uname -m ``` 如果输出结果为 x86_64,则表示系统为 64 位操作系统。如果输出结果为 i686,则表示系统为 32 位操作系统。 2. 安装 ELRepo 仓库 ELRepo 仓库是一个第三方仓库,可以提供较新的内核版本。使用以下命令安装 ELRepo 仓库: ```bash sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org sudo rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm ``` 3. 安装新内核 使用以下命令安装新内核: 如果是 64 位操作系统: ```bash sudo yum --enablerepo=elrepo-kernel install kernel-ml -y ``` 如果是 32 位操作系统: ```bash sudo yum --enablerepo=elrepo-kernel install kernel-ml-686 -y ``` 4. 配置 Grub2 使用以下命令编辑 Grub2 配置文件: ```bash sudo vi /etc/default/grub ``` 找到以下行: ```text GRUB_TIMEOUT=5 ``` 将其修改为: ```text GRUB_TIMEOUT=10 ``` 在文件的最后添加以下行: ```text GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=true ``` 保存文件并退出编辑器。 使用以下命令更新 Grub2 配置: ```bash sudo grub2-mkconfig -o /boot/grub2/grub.cfg ``` 5. 重启系统 使用以下命令重启系统: ```bash sudo reboot ``` 重启后,系统会自动选择新内核启动。使用以下命令确认内核版本: ```bash uname -r ``` 如果输出结果为 5.0.0-20-generic,则表示内核升级成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值