未分类 · 2019年10月17日 0

Centos7开启BBR加速教程

用了下甲骨文的免费VPS,习惯性选了Centos7.7系统。想着优化下开启BBR。

首先uname -r查看当前Linux内核版本,开启 BBR 要求4.10以上Linux内核,我的是3.10.0-1062.1.1.el7.x86_64,需要更新内核。

首先安装elrepo,命令如下。
rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
(第二行可以到elrepo官网https://www.elrepo.org查看最新版本号以及对应自己的Centos版本)

然后是更新内核
yum –enablerepo=elrepo-kernel install kernel-ml -y
这里将是漫长的等待,反正我等了好久。

查看内核是否安装成功
rpm -qa | grep kernel
这时候会列出所有内核,前面查到正在用的是3.10.0,这会应该出现了一个比较新的版本。我就不删除旧内核了。直接设置新的作为启动内核。

网上的教程都是写着用命令egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \’,然后使用grub2-set-default 0设置启动的内核。
可是实操中我输入第一条命令后就提示grep: /etc/grub2.cfg: No such file or directory导致我无法操作。原因我也不知道。
找了半天都没有找到解决办法,最后一生气,直接用命令查看当前启动的格式
grub2-editenv list
此时输出saved_entry=CentOS Linux (3.10.0-1062.1.1.el7.x86_64) 7 (Core)
比如我的最新内核是kernel-ml-5.3.6-1.el7.elrepo.x86_64,所以我直接用下面命令
grub2-set-default ‘CentOS Linux (5.3.6-1.el7.elrepo.x86_64) 7 (Core)’
引号里的格式就是参考前面查到的,应该是固定格式。含着忐忑的心情直接reboot。之后uname -r,恩。不错。成功了。其实在重新连接上的时候我就觉得应该是成功了。

之后就开启BBR吧。 执行以下三条命令:
echo “net.core.default_qdisc=fq” >> /etc/sysctl.conf
echo “net.ipv4.tcp_congestion_control=bbr” >> /etc/sysctl.conf
sysctl -p
观察BBR是否开启成功,执行以下代码:
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
如果结果都有bbr, 则证明你的内核已开启BBR。