能搜到这个文章的也都明白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
评论(0)