能搜到这个文章的也都明白BBR是什么,这里就不详细说了。

对于5.10.0内核版本的BBR V2 Centos7自带的GCC编译器已经无法满足编译了,所以要先升级GCC版本,执行下方命令安装GCC V10*

yum -y install centos-release-scl
yum -y install devtoolset-10-gcc*
scl enable devtoolset-10 bash
gcc -v

上方命令依次执行后,得到下图

下边执行下方命令,安装其他编译工具

yum groups install development -y
yum install gcc bc ncurses-devel openssl-devel elfutils-libelf-devel -y

上方命令执行完毕后,开始本地化GIT仓库里的BBR V2源码

git clone -o google-bbr -b v2alpha  https://github.com/google/bbr.git

本地化完毕后执行下方命令,打开编译菜单

cd bbr && make menuconfig

进入下图界面后按 / 按键进入搜索界面,输入bbr2 回车

 

出现下图界面后,按方向键下 一直下拉直到出现 2 后,停止下拉并按键盘数字 2

 

 

出现下图界面后 ,选择BBR2 TCP ,使其前方变为 M ,使用空格键可改变状态

选择完毕后,使用键盘TAB键切换到Save选项回车,出现下图接着回车

 

 

回车完毕后,不管返回哪个按键全部TAB选择Exit,直到退回到SSH界面!然后执行下方命令看是否修改成功

grep -i bbr2 .config

成功会返回 CONFIG_TCP_CONG_BBR2=m

因为编译内核时间使用很长,有的配置差的服务器容易断线,一断线就得从头再来,所以我这里使用screen软件来把它放到后台编译!

yum -y install screen
screen -S bbr

执行命令后,会打开一个新窗口,在新窗口执行下方命令,然后内核正常编译后,执行ctrl+a+d,将其放到后台编译

time make rpm-pkg

一般到这里就可以把它切换到后台了

然后需要等待两个多小时,具体根据你服务器配置。

如果想看编译到了哪里,可以执行screen -ls得到后台pid(下图框选起来的数字),然后通过 screen -r pid返回编译界面

编译完成后,执行下方命令,进入内核文件存放位置

cd /root/rpmbuild/RPMS/x86_64
ls

得到下图具体的内核包名后,进行内核安装(PS:由于BBR V2版本随着时间更替,内核会随之变化,安装之前请自己在确认内核文件名)

 

rpm -Uvh kernel-5.10.0-1.x86_64.rpm

安装完内核后,执行下方命令

grub2-set-default 0
sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr2" >> /etc/sysctl.conf
reboot

上方命令执行完毕后,服务器会重启,重启完毕后可执行下方命令,查看是否开启成功

sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control

发表回复

您的电子邮箱地址不会被公开。