centos升级内核

1、为什么要升级linux内核?
在部署最新版k8s(1.33)的时候,提示内核版本太低,需要升级。
检查内核版本:

[root@mast01 soft]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@mast01 soft]# uname -r
3.10.0-1160.119.1.el7.x86_64

2、下载内核rpm包
从官网下载速度较慢,可以从其他地方下载

wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm
wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
kernel-lt-tools-5.4.278-1.el7.elrepo.x86_64.rpm
wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
kernel-lt-tools-libs-5.4.278-1.el7.elrepo.x86_64.rpm

3、通过命令安装
如果有冲突请先卸载冲突的包,然后再安装

rpm -ivh kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-tools-libs-5.4.278-1.el7.elrepo.x86_64.rpm

4、查看默认启动顺序

[root@mast01 soft]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (5.4.278-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.119.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.83.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-07ec2e8f90be4672b1408949ce92be41) 7 (Core)

5、设置默认启动

grub2-set-default 'CentOS Linux (5.4.278-1.el7.elrepo.x86_64) 7 (Core)'

6、重启服务器

reboot

7、查看内核版本

[root@mast01 ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
[root@mast01 ~]# uname -r
5.4.278-1.el7.elrepo.x86_64
### 升级 CentOS 内核的方法与最佳实践 在 CentOS 系统上升级内核是一项需要谨慎操作的任务,尤其是在生产环境中。以下是详细的步骤和最佳实践: #### 1. 更新 YUM 源 确保系统的 YUM 软件源是最新的,这是升级内核的第一步。使用以下命令更新 YUM 源: ```bash yum update -y ``` 此步骤有助于确保系统中所有软件包处于最新状态[^2]。 #### 2. 安装 ELRepo 仓库 ELRepo 是一个第三方仓库,提供了最新的稳定版内核。通过以下命令安装 ELRepo: ```bash rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm ``` 此步骤为系统添加了支持最新内核的仓库[^2]。 #### 3. 安装最新内核 安装最新的长期支持(LTS)内核版本。运行以下命令以安装 `ml`(Mainline Stable)内核: ```bash yum --enablerepo=elrepo-kernel install kernel-ml -y ``` 如果需要安装实时内核,可以替换为 `kernel-ml-rt`[^2]。 #### 4. 配置 GRUB 引导加载程序 安装新内核后,需要配置 GRUB 引导加载程序以确保系统能够正确引导到新内核。运行以下命令更新 GRUB: ```bash grub2-mkconfig -o /boot/grub2/grub.cfg ``` 检查默认引导项是否设置为最新内核: ```bash grep menuentry /boot/grub2/grub.cfg ``` 确保默认引导项指向最新安装的内核版本[^2]。 #### 5. 测试新内核 重启系统以测试新内核: ```bash reboot ``` 登录系统后,验证当前运行的内核版本: ```bash uname -r ``` 如果发现任何问题,可以通过 GRUB 选择旧内核版本进行回滚[^1]。 #### 6. 回滚方案 在升级内核前,准备统一的回滚方案。如果新内核出现问题,可以通过以下步骤回滚到旧内核: - 在 GRUB 引导菜单中选择旧内核版本。 - 登录系统后卸载新内核: ```bash yum remove kernel-ml -y ``` - 确保系统恢复到正常状态后再继续其他操作[^1]。 #### 7. 注意事项 - 在云服务器环境中,升级内核前需先卸载 Tools,否则可能导致网卡无法识别或数据盘挂载异常[^4]。 - 生产环境建议分阶段滚动升级:从测试环境开始,逐步扩展到非关键生产环境,最后升级核心系统,并在每个阶段设置足够的观察期[^1]。 ### 示例代码 以下是一个使用 Ansible 自动化批量升级内核的示例剧本: ```yaml --- - name: Upgrade CentOS Kernel hosts: all become: yes tasks: - name: Update YUM packages yum: name: "*" state: latest - name: Install ELRepo repository rpm_key: key: https://www.elrepo.org/RPM-GPG-KEY-elrepo.org yum_repository: name: elrepo description: ELRepo.org Community Enterprise Linux Repository baseurl: http://elrepo.org/linux/elrepo/el$releasever/$basearch/ enabled: yes gpgcheck: yes - name: Install latest mainline kernel yum: name: kernel-ml state: present - name: Update GRUB configuration command: grub2-mkconfig -o /boot/grub2/grub.cfg - name: Reboot server reboot: timeout: 300 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值