CentOS 7 自己手动开启 BBR 加速教程

下载更换内核

最新内核查看这里:http://elrepo.org/linux/kernel/el7/x86_64/RPMS/

1、运行以下代码:

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

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

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

2、查看内核是否安装成功

rpm -qa | grep kernel

如下图,内核4.11已经在了,在第三个位置
CentOS 7 自己手动开启 BBR 加速教程_第1张图片

删除旧内核(可选),根据上面内容输入旧内核的前面几个字母,用tab键补全,或者直接输入全名
rpm -ev 旧内核

有时候网络问题导致
No package kernel-ml* available.
Error: Nothing to do
看第3步
3、手动下载rpm包,手动安装(安装时可能会卡住一会耐心等待几分钟,完成后删除旧内核):

wget http://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-ml-4.18.5-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-ml-4.18.5-1.el7.elrepo.x86_64.rpm

4、更新 grub 系统引导文件并重启,下面的【default 2】表示将第三个内核设置为默认运行, 选择最新内核就对了,至于你的是哪个,请运行下面的第一行代码后,自己认真观察,换成正确的数字,请务必记得,是从0开始算起。执行以下代码:

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

5、去你的vps管理面板重启你的机器。

注意,某些服务商(如ikoula Digital Ocean )可能需要首先将VPS配置为可自定义内核,然后grub2的配置才会生效。

另外,如果你是设置了默认内核后,再删除旧内核,请务必在开机前先重新设置一次默认内核,因为,位置变了,不再是原来的2了。
开启bbr

开机后 uname -r 看看是不是内核就是你刚才选的那个,如下图:
这里写图片描述
如果内核没有更改,就是删除旧内核,然后设置默认默认内核

6、执行 lsmod | grep bbr,如果结果中没有 tcp_bbr 的话就先执行以下代码

modprobe tcp_bbr

echo "tcp_bbr" >> /etc/modules-load.d/modules.conf

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf

echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

sysctl -p

如果提示 bash: /etc/sysctl.conf: Operation not permitted(文件不能被操作)
文件不能操作的原因是加了i属性,所以相应的解决方案就是把文件的i属性去除,然后对此文件内容进行修改,最好在操作完成后恢复文件的i属性。
去除i属性:chattr -i /etc/sysctl.conf
添加i属性:chattr +i /etc/sysctl.conf
观察BBR是否开启成功,执行以下代码:

sysctl net.ipv4.tcp_available_congestion_control

sysctl net.ipv4.tcp_congestion_control

如果结果都有bbr, 则证明你的内核已开启bbr

看到有 tcp_bbr 模块即说明bbr已启动

你可能感兴趣的:(CentOS 7 自己手动开启 BBR 加速教程)