BBR魔改版安装教程(转载)
最近大佬 @Yankee 更新了一份 BBR魔改方案,使得BBR加速效果更明显了。
目前还没有关于CentOS 和 Ubuntu 14 详细安装说明。本文解决这一个空白。
由于本人技术太渣,暂时不提供一键安装方案。
源码对比
左侧为原BBR 右侧为魔改BBR (能看懂的可以瞅瞅)
源码地址:
1 | https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/plain/net/ipv4/tcp_bbr.c |
大佬特别提醒:编译时系统必须安装4.10以上版本的kernel及对应的linux-header,gcc版本应在4.9以上
鉴于之前的那篇文章内核是 4.9的,所以再水一篇文章吧!!
特别提醒:OpenVZ虚拟不能直接升级。升级内核可能会造成服务器无法启动。请酌情使用。
CentOS 6 X64
CentOS系统本文演示使用 4.11.8 内核。如果下面代码中的内核地址失效,请自行搜索最新的内核地址即可。
内核地址:http://elrepo.org/linux/kernel
升级系统内核
依次执行以下代码。
1 | rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org |
设置启动引导
修改启动引导,修改配置文件即可。
执行命令:
1 | vi /etc/grub.conf |
红框可看见我们新安装的内核。修改 default=0 即可。然后保存。重启服务器。
编译安装
依次执行以下脚本
1 | yum install -y make gcc |
执行完之后 重启一下服务器。
1 | reboot |
重启成功后,执行以下命令。如果有显示内容说明启动成功。
1 | lsmod | grep tsunami |
>> tcp_tsunami 6053 5
CentOS 7 X64
由于手头暂时没有CentOS7 系统的服务器。以下代码并没有测试。
升级系统内核,请执行以下代码。其他的请参考 CentOS 6 X64!!
1 | rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org |
Debian 8/Ubuntu 14
升级系统内核
分别安装 headers
和 images
即可。
内核地址:http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.9/
你可以选择更高版本的内核试一试,注意自己替换命令中的 v4.10.9
1 | wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.9/linux-headers-4.10.9-041009_4.10.9-041009.201704080516_all.deb |
设置启动引导
查看系统内核列表,执行以下命令
1 | dpkg -l|grep linux-image |
执行命令后,可见多个内核如下:
1 | ii linux-image-3.16.0-4-amd64 3.16.7-ckt9-3~deb8u1 amd64 Linux 3.16 for 64-bit PCs |
上面显示的我们需要将 linux-image-3.16.0
这个删除掉。
PS : 如果你显示的是其他的内核版本,那么就删掉它。只保留 4.10.9
。
删除内核。
1 | apt-get remove linux-image-3.16.0-4-amd64 |
注意:Debian8 系统会弹出一个提示,直接【Tab】选择 【NO】然后回车。
重新生成启动引导。
1 | update-grub |
重启系统。
1 | reboot |
安装gcc
根据大佬的要求 gcc
版本必须 >= 4.9
,否则无法编译。
我在 Ubuntu 14上安装gcc的时候竟然是 4.8
版本,可能是由于 Ubuntu 14
版本的问题。
1)查看 gcc
版本 。如果 版本 >= 4.9
可跳过这个步骤了。
1 | gcc -v |
执行以下命令来安装 gcc-4.9
1 | apt-get install build-essential |
编译安装
请依次执行以下脚本。执行完重启服务器。
1 | apt-get install make gcc-4.9 |
重启成功后,执行以下命令。如果有显示内容 说明启动成功。
1 | lsmod | grep tsunami |
>> tcp_tsunami 6053 5
一键安装脚本
对于小白用户,以上手动安装可能有点复杂。那么就推荐你使用大佬的一键脚本吧。
提醒一下几位大佬的一键暂不支持 CentOS
系统。大佬们的一键脚本可能在 Ubuntu14
下执行可能出问题。
如果一键出错,那么只能上面的内容手动安装了。
谢谢@Leonn
的博客 收集以下内容。
落雨无声版本
原文地址:https://ylws.me/tech/68.html
注意只支持 Debian8 / Ubuntu16 +
1 | wget -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/YankeeBBR/master/bbr.sh && bash bbr.sh install |
Vicer版本
原文地址:https://moeclub.org/2017/06/24/278/
注意只支持 Debian8 / Ubuntu16 +
1 | wget --no-check-certificate -qO 'BBR_POWERED.sh' 'https://moeclub.org/attachment/LinuxShell/BBR_POWERED.sh' && chmod a+x BBR_POWERED.sh && bash BBR_POWERED.sh |
91Yun版本
原文地址:https://www.91yun.org/archives/16781
注意只支持 Debian8 / Ubuntu16 +
1 | wget https://raw.githubusercontent.com/singhigh/502newbbr/master/502newbbr.sh |
特别鸣谢
感谢 Hostloc众多大佬
参考文献: