vultr安装谷歌BBR单边TCP拥塞控制算法

4月 22, 201815:09:29 评论 1,279

BBR拥塞控制算法是Google最新研发的单边TCP拥塞控制算法,目前的vps使用上需要引入linux 高内核,目前适配与linux 4.9内核版本。适用于kvm系统的各家VPS。比如常见的vultr linode dogitalocean 等。本站推荐的搬瓦工VPS的KVM系统,搬瓦工已经非常贴心的配置安装好了centos的BBR,所以我们无需安装选择配置好BBR的系统使用即可。

这个算法目前比较适合尝鲜适用,适合会折腾的同学参考使用。

2016.12.12更新linux 4.9内核正式版

具体适用步骤如下(以vultr ubuntu 14.04 X64版本为例,Debian 8系统也可以使用 ,centos7的在下面?),新手用户可能需要参考这个putty的适用方法简介:

putty及winscp初级使用方法

ubuntu14.04 and debian 8

首先查看内核命令:

uname -a

vultr默认内核版本是3.16 ,我们需要修改到4.9版本

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb

开始安装

dpkg -i linux-image-4.9.0*.deb

删除其余内核,注意vultr是3.16 如果你是linode或者其他的参考  uname -a 获得的结果

dpkg -l|grep linux-image

sudo apt-get remove linux-image-3.16

更新 grub 系统引导文件并重启

update-grub

去管理后台重启你的vps或者直接reboot,完了再看看内核:uname -a

开启bbr

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

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

保存生效

sysctl -p

执行 sysctl net.ipv4.tcp_available_congestion_control

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

执行 lsmod | grep bbr , 看到有 tcp_bbr 模块即说明bbr已启动。观察如下图1到7

centos 7

命令行需要一行一行运行

wget http://mirrors.kernel.org/debian/pool/main/l/linux/linux-image-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.deb

 

ar x linux-image-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.deb

 

tar -Jxf data.tar.xz

 

install -m644 boot/vmlinuz-4.9.0-rc8-amd64 /boot/vmlinuz-4.9.0-rc8-amd64

 

cp -Rav lib/modules/4.9.0-rc8-amd64 /lib/modules/

 

depmod -a 4.9.0-rc8-amd64

 

dracut -f -v --hostonly -k '/lib/modules/4.9.0-rc8-amd64'/boot/initramfs-4.9.0-rc8-amd64.img 4.9.0-rc8-amd64

 

cat /boot/grub2/grub.cfg | grep?kernel-4.9.0-rc8

 

grub2-set-default "kernel-4.9.0-rc8"

 

grub2-editenv list

 

grub2-mkconfig -o /boot/grub2/grub.cfg

开启bbr

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

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

保存生效

sysctl -p

执行 sysctl net.ipv4.tcp_available_congestion_control

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

执行lsmod | grep bbr, 看到有 tcp_bbr 模块即说明bbr已启动。如下图所示:

centos 7安装谷歌BBR

一键安装命令

使用root用户登录,运行以下命令:

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

安装完成后,脚本会提示需要重启 VPS,输入 y 并回车后重启。

重启完成后,进入 VPS,验证一下是否成功安装最新内核并开启 TCP BBR,输入以下命令:

uname -r

查看内核版本,含有 4.10 就表示 OK 了

sysctl net.ipv4.tcp_available_congestion_control

返回值一般为:

net.ipv4.tcp_available_congestion_control = bbr cubic reno

sysctl net.ipv4.tcp_congestion_control

返回值一般为:

net.ipv4.tcp_congestion_control = bbr

sysctl net.core.default_qdisc

返回值一般为:net.core.default_qdisc = fq

lsmod | grep bbr

返回值有 tcp_bbr 模块即说明bbr已启动。

PS:谷歌BBR和锐速算法暂时是不能共用的,如要安装锐速,我们必须要重装系统,内核还原。