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可获得数倍以上的性能提升。

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

相关推荐
miss writer19 分钟前
Redis分布式锁释放锁是否必须用lua脚本?
redis·分布式·lua
m0_7482548826 分钟前
DataX3.0+DataX-Web部署分布式可视化ETL系统
前端·分布式·etl
Mr.131 小时前
数据库的三范式是什么?
数据库
Cachel wood1 小时前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
Python之栈1 小时前
【无标题】
数据库·python·mysql
风_流沙1 小时前
java 对ElasticSearch数据库操作封装工具类(对你是否适用嘞)
java·数据库·elasticsearch
亽仒凣凣2 小时前
Windows安装Redis图文教程
数据库·windows·redis
字节程序员2 小时前
Jmeter分布式压力测试
分布式·jmeter·压力测试
年薪丰厚2 小时前
如何在K8S集群中查看和操作Pod内的文件?
docker·云原生·容器·kubernetes·k8s·container
zhangj11252 小时前
K8S Ingress 服务配置步骤说明
云原生·容器·kubernetes