Centos8.2系统更换内核并启用BBR加速 – 学金融的文史哲小生

2022-11-01 13:57:55 浏览数 (1)

一、首先是查看当前服务器的内核版本。

BBR要求的内核版本为4.9以上

代码语言:javascript复制
uname -sr

二、接下来启用 ELRepo 仓库

代码语言:javascript复制
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
# 如果这两步有报错就参考《CentOS7/8换源&安装ELRepo》一文

三、然后安装新版的稳定版内核

代码语言:javascript复制
yum --enablerepo=elrepo-kernel install kernel-ml -y

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

代码语言:javascript复制
rpm -qa | grep kernel

我的显示如下:

代码语言:javascript复制
kernel-3.10.0-862.14.4.el7.x86_64
kernel-ml-5.3.8-1.el7.elrepo.x86_64
kernel-3.10.0-1062.4.1.el7.x86_64
kernel-headers-3.10.0-1062.4.1.el7.x86_64
kernel-3.10.0-957.5.1.el7.x86_64
kernel-3.10.0-1062.1.2.el7.x86_64
kernel-tools-3.10.0-1062.4.1.el7.x86_64
kernel-tools-libs-3.10.0-1062.4.1.el7.x86_64
kernel-3.10.0-957.1.3.el7.x86_64

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

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

代码语言:javascript复制
sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d '

我的显示如下:

代码语言:javascript复制
CentOS Linux (5.3.8-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1062.4.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1062.1.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.5.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.1.3.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-862.14.4.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-618ca2de6e204efbb013b592564ef36a) 7 (Core)

排在第一的就是CentOS Linux (5.3.8-1.el7.elrepo.x86_64) 7 (Core),从第一行为0依次数,0、1、2、3这样,看你的新内核是第几。

然后就输入下面的命令(命令例子为第1行)

代码语言:javascript复制
sudo grub2-set-default 0

接下来重启服务器

代码语言:javascript复制
reboot

再次查看内核版本

代码语言:javascript复制
uname -r

内核版本显示为4.9以上,本文更新的时候新版版本是5.3.8,就证明安装成功了。

六、重建内核配置

代码语言:javascript复制
grub2-mkconfig -o /boot/grub2/grub.cfg

重启系统验证,没问题就OK了。

七、在CentOS新内核上开启BBR

要在新安装好的CentOS上面启用新内核,只需要复制下面的代码执行就可以了。

代码语言:javascript复制
echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

然后输入下面的命令查看是否开启BBR成功

代码语言:javascript复制
sudo sysctl net.ipv4.tcp_available_congestion_control

成功的话应该是下面这种输出

代码语言:javascript复制
net.ipv4.tcp_available_congestion_control = bbr cubic reno

继续验证

代码语言:javascript复制
sudo sysctl -n net.ipv4.tcp_congestion_control

输出应该是

代码语言:javascript复制
bbr

最后看内核模块是否加载

代码语言:javascript复制
lsmod | grep bbr

输出应该是类似下面这种

代码语言:javascript复制
tcp_bbr 16384 0

重启VPS

代码语言:javascript复制
reboot

补充说明!

改版BBR一键安装脚本代码

BBR原版/BBR魔改/BBR Plus/锐速的改善网络拥塞的一键脚本(看下图),这个脚本千万在centos8不要安装BBR Plus(选项2)

选择安装后,必后悔,它会卸载掉centos8的内核,估计centos7可以用(但我也不敢试用它),但centos8经过它卸载一些内核,一重启,你的vps就废掉了,ssh登录不进去了,你部署好的网站也会没反应。(本人就是这样废掉一个已经部署好wordpress的网站,苦逼)。但我在Debain9,Debain10这个脚本都可以用。可以装得了BBR Plus,Debain可以装

代码语言:javascript复制
wget "https://github.com/chiakge/Linux-NetSpeed/raw/master/tcp.sh" && chmod  x tcp.sh && ./tcp.sh

调取BBR控制面板代码

代码语言:javascript复制
./tcp.sh

0 人点赞