Centos7升级内核并安装bbr

Posted by dm on February 13, 2025

1. 查看当前内核

uname -r
如果内核低于4.9需要升级内核

2. 导入ELRepo公钥

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

3. 安装ELRepo

现在官网提供(centos6,centos7,centos8源)我这里是centos7.x版本所以选择了7

yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm -y

4. 查看ELRepo提供的内核版本

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

5. 安装kernel-ml内核,此步安装时间可能比较长,耐心等待并非卡住了

kernel-lt:表示longterm,即长期支持的内核;当前为4.4.

kernel–ml:表示mainline,即当前主线的内核;当前为5.2.

yum --disablerepo='*' --enablerepo=elrepo-kernel install kernel-ml -y

这一步结束后提示

已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7 error was
12:Timeout on http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7:(28,'Connection timed out after 30001 milliseconds')
elrepo-kernel:mirror.rackspace.com
没有可用软件包kernel-ml。
错误:无须任何处理

这个错误表示系统尝试从mirrors.elrepo.org获取elrepo-kernel镜像列表时超时,导致无法找到kernel-ml软件包。这可能是由于网络问题或镜像源本身的问题导致的。

需要手动安装

库文件

手动下载和安装

wget https://dl.lamp.sh/kernel/el7/kernel-ml-5.5.4-1.el7.elrepo.x86_64.rpm
sudo rpm -ivh kernel-ml-*.rpm

更新YUM缓存

尝试清除yum缓存并重新生成:

sudo yum clean all
sudo yum makecache

6. 安装完毕后使用下面的命令查看是否安装成功。

rpm -qa | grep kernel

显示:

kerne-3.10.0-1160.15.2.el7.x8664
kernel-ml-5.5.4-1.el7.elrepo.x86_64
kernel-tools-libs-3.10.0-1160.15.2.el7.x86_64
kernel-tools-3.10.0-1160.15.2.el7.x86_64

设置内核启动顺序默认顺序从1开始

kernel-ml-5.5.4为2

里面kernel-ml-5.5.4-1.el7.elrepo.x86_64就是安装的新版版本内核(你看到这篇教程的时候可能内核版本有变化,随机应变)

接下来需要设置系统启动顺序,使用下面的命令。

sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d\'

我的显示如下:

CentOS Linux(5.5.4-1.el7.elrepo.x86_64) 7(Core)
Cent0S Linux(3.10.0-1160.15.2.el7.x86_64) 7(Core)
CentOS Linux(0-rescue-96820b9851c24560b5f942f2496b9aeb) 7(Core)

7. 设置默认启动为新内核,然后更新GRUB并重启:

sudo grub2-set-default 0
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot

8. 查看当前内核

uname -r

9. 启用BBR

9.1 开启BBR

echo "net.core.default_qdisc=fq">>/etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr">>/etc/sysctl.conf

10. 使配置生效

sysctl-p

11.验证方法

sysctl -n net.ipv4.tcp_congestion_control
或
Ismod | grep bbr