CentOS 7 升级 5.4 内核

MatrixOne 推荐部署使用的操作系统为 Debian 11+、Ubuntu 20.04+、CentOS 9+ 等 Kernel 内核版本高于 5.0 的操作系统。随着 CentOS 7 的支持周期接近尾声,社区不少小伙伴都在讨论用以替换的 Linux 操作系统,经过问卷调查,我们发现小伙伴们的操作系统大都仍为 CentOS 7,并且由于种种原因无法在短期内进行更新替换。

MatrixOne 使用 Golang 语言开发,而 Golang 程序在低 Kernel 内核的 Linux 系统中有概率会触发 Bug 导致应用 Crash。CentOS 7 使用的内核版本为较为陈旧的 Kernel 3.10.0,为了让小伙伴们更加稳定的使用 MatrixOne,经过测试小哥哥多轮回归测试验证,社区为大家整理了 CentOS 7 内核升级至 5.0+ 的简易方案。

Linux 内核是操作系统的基础组件,负责管理硬件资源和提供基本操作系统功能。对于 Linux 内核版本,我们通常只关注最新稳定版和长期维护版:

Stable

最新稳定版,每个主线内核被发布后,即被认为是"stable"。任何对 stable 内核的 BUG 修复都会从 Mainline 主线树中回溯并由指定的 stable 内核维护人员使用。在下一个主线内核可用之前,通常只有几个 BUG 修复内核版本 - 除非它被指定为"longterm maintenance kernel(长期维护内核)"。stable 内核更新按需发布,通常每月 2-3 次。

Longterm

长期维护版,通常会提供几个"longterm maintenance"内核版本,用于修复旧版内核的 BUG。这些内核只会修复重大 BUG,并且不会频繁发布版本。通常情况下,我们较推荐使用长期维护版的内核。

目前 Linux Kernel Organization 长期维护的内核版本列表如下。由于 CentOS 7 原始内核版本较低,我们建议选择升级至 5.4 版本的内核:

ELRepo 是 CentOS 可靠的第三方仓库,该软件源主要包含文件系统驱动以及网络摄像头驱动程序等等。ELRepo 提供的内核稳定性一向很好,本次我们演示使用该仓库提供的 rpm 内核包进行 CentOS 7 的快速内核升级,整个内核升级操作仅需要 4 步:

1内核 rpm 包获取

首先,访问仓库下的 CentOS 7 内核目录,下载 5.4 版本的最新小版本内核,ELRepo 只会保留大版本内核最新的两个小版本,例如下载当前最新的 5.4.272 版本,普通升级通常只需要下载如下 2 个 rpm 文件:

wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-5.4.272-1.el7.elrepo.x86_64.rpm
wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.272-1.el7.elrepo.x86_64.rpm

说明:kernel-lt(lt=long-term),表示长期维护版。

2内核安装

查看系统当前的内核版本,CentOS 7.9 默认的内核版本如下:

[root@matrixone ~]# uname -r
3.10.0-1160.el7.x86_64

在 Linux 系统中通过 rpm 命令快速安装下载的内核 rpm 包:

@matrixone ~]# rpm -ivh kernel-lt-5.4.272-1.el7.elrepo.x86_64.rpm
[root@matrixone ~]# rpm -ivh kernel-lt-devel-5.4.272-1.el7.elrepo.x86_64.rpm

3设置 grub2

内核安装好后,需要设置为默认启动选项并重启后才会生效。查看系统启动项的命令为:

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg

返回值如下,新安装的内核通常的编号为 0:

[root@matrixone ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg
0 : CentOS Linux (5.4.272-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.108.1.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
3 : CentOS Linux (0-rescue-b098c1cb796f4ebe8878b57bb1ddadca) 7 (Core)

设置对应内核的序号,指定为 0,表示使用上文 awk 命令显示的编号为 0 的内核作为默认内核:

[root@matrixone ~]# grub2-set-default 0

4重启验证

Linux 内核升级可能会导致系统稳定性问题或兼容性问题,建议您重启前备份重要的文件和数据,并在测试环境中验证变更。

备份测试后,重启操作系统,来确认内核已完成更新:

重启命令

[root@matrixone ~]# reboot

内核版本查看,可以看到内核已升级至 5.4 版本

[root@matrixone ~]# uname -r
5.4.272-1.el7.elrepo.x86_64

通常来说,CentOS 中各个版本的内核不会互相影响,若您在后续使用中需要切换会默认内核,仍可通过修改默认启动项序号来重启切换。

在确认新内核已正确启用后,您就可以愉快的部署使用 MatrixOne 啦,在使用过程中有任何问题,欢迎小伙伴们随时在社区交流。

About MatrixOne

MatrixOne 是一款基于云原生技术,可同时在公有云和私有云部署的多模数据库。该产品使用存算分离、读写分离、冷热分离的原创技术架构,能够在一套存储和计算系统下同时支持事务、分析、流、时序和向量等多种负载,并能够实时、按需的隔离或共享存储和计算资源。云原生数据库MatrixOne能够帮助用户大幅简化日益复杂的IT架构,提供极简、极灵活、高性价比和高性能的数据服务。

MatrixOne企业版和MatrixOne云服务自发布以来,已经在互联网、金融、能源、制造、教育、医疗等多个行业得到应用。得益于其独特的架构设计,用户可以降低多达70%的硬件和运维成本,增加3-5倍的开发效率,同时更加灵活的响应市场需求变化和更加高效的抓住创新机会。在相同硬件投入时,MatrixOne可获得数倍以上的性能提升。

关键词:超融合数据库、多模数据库、云原生数据库、国产数据库。

相关推荐
processflow流程图4 分钟前
分布式kettle调度平台v6.4.0新功能介绍
分布式
全栈开发圈12 分钟前
干货分享|分布式数据科学工具 Xorbits 的使用
分布式
tatasix13 分钟前
MySQL UPDATE语句执行链路解析
数据库·mysql
南城花随雪。26 分钟前
硬盘(HDD)与固态硬盘(SSD)详细解读
数据库
儿时可乖了27 分钟前
使用 Java 操作 SQLite 数据库
java·数据库·sqlite
懒是一种态度29 分钟前
Golang 调用 mongodb 的函数
数据库·mongodb·golang
天海华兮31 分钟前
mysql 去重 补全 取出重复 变量 函数 和存储过程
数据库·mysql
梅见十柒1 小时前
wsl2中kali linux下的docker使用教程(教程总结)
linux·经验分享·docker·云原生
gma9991 小时前
Etcd 框架
数据库·etcd
爱吃青椒不爱吃西红柿‍️1 小时前
华为ASP与CSP是什么?
服务器·前端·数据库