海天无影Blog

手动开启原版BBR

/ 603阅 / 0评 / 0

之前海天的服务器就使用一键脚本安装了魔改的bbr,但是魔改版只是和centos6的系统,现在最起码都是centos7,甚至centos8了,所以之前的一键脚本不能使用,需要手动开启BBR了,并且市面上也没有特别好的魔改版本,有的还会降低效率,那么就安装原版的BBR就可以了。

Google BBR (Bottleneck Bandwidth and RTT) 是一种新的TCP拥塞控制算法,可以高效增加吞吐和降低网络延迟,并且Linux Kernel4.9+已经集成该算法。BBR只需要在发送端开启,网络其他节点和接收端不需要任何改变。

在centos7和centos8下手动开启原版BBR的步骤:

升级系统内核

安装 ELRepo 仓库

导入公钥:

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

针对不同系统安装最新版的ELRepo

RHEL-8 or CentOS-8

yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

RHEL-7, SL-7 or CentOS-7

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

安装最新版kernel

yum --enablerepo=elrepo-kernel install kernel-ml -y

确认是否安装成功,输入代码 rpm -qa | grep kernel ,如果输出类似如下,包含kernel-ml-4.13.10-1.el7.elrepo.x86_64或更高版本内核,则表示安装成功。

kernel-3.10.0-693.el7.x86_64
kernel-tools-3.10.0-693.el7.x86_64
kernel-ml-4.13.10-1.el7.elrepo.x86_64
kernel-tools-libs-3.10.0-693.el7.x86_64

设置开机默认启动项

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

查看目前启动项,一般结果类似如下:

CentOS Linux 7 Rescue f212d2d7754a4a6bb2b98950c20cc0b5 (4.13.10-1.el7.elrepo.x86_64)
CentOS Linux (4.10.0-693.el7.x86_64) 7 (Core)
CentOS Linux (5.13.10-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (0-rescue-d1f142097d497f24c021d7de9b81cab4) 7 (Core)

找到包含el7.elrepod的那一行,从0开始往下数,比如上面的例子,是2,那么执行: grub2-set-default 2 

查看内核版本

reboot 重启

重启后,uname -r查看内核版本,如果输出类似 :5.13.10-1.el7.elrepo.x86_64,则表示内核更新成功。

开启BBR

修改sysctl配置

echo 'net.core.default_qdisc=fq' | tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | tee -a /etc/sysctl.conf
sysctl -p

检查是否加载BBR

lsmod | grep bbr 

如果输出结果包含tcp_bbr,则表示开启成功

发表回复

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