BBR是谷歌开发的一款优化程序,一种TCP拥塞控制算法, 最新 4.9.0 内核已支持 tcp_bbr。
据实机测试,在部署了最新版内核并开启了 TCP BBR算法 的机器上,网速提升好几个量级。
根据目前三大发行版的最新内核,开发了一键安装最新内核并开启 TCP BBR 脚本。
BBR 系统支持:CentOS 6+,Debian 7+,Ubuntu 12+
虚拟技术:除OpenVZ 以外的,例如 KVM、Xen、VMware 等都可
内存要求:≥128M
更新日期 2017 年 07 月
此BBR脚本在 Vultr 上的 VPS 全部测试通过。
如用 OpenVZ虚拟技术vps安装 时,会提示错误,并自动退出安装。
脚本运行完成重启时若开不了机,自行到主机管理后台里控制面板打开VNC, 发现开机卡在 grub 引导, 手动选择内核即可。
由于使用了最新版系统内核,装之前备份重要数据,勿在生产环境安装,避免产生不可预料的后果。
下载最新内核 适用Debian 8 / Ubuntu 14 内核最新版本查看这里
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.17/linux-image-4.10.17-041017-generic_4.10.17-041017.201705201051_amd64.deb
安装内核
dpkg -i linux-image-4.10.17-041017-generic_4.10.17-041017.201705201051_amd64.deb
删除旧内核 ( 删除旧内核方法 链接 https://jingyan.baidu.com/article/91f5db1b23f99c1c7f05e3f7.html )
dpkg -l|grep linux-image apt-get purge 旧内核
更新 grub 系统引导文件并重启
update-grub reboot
CentOS 6下载更换内核 最新内核查看这里
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm yum --enablerepo=elrepo-kernel install kernel-ml -y
查看内核是否安装成功
rpm -qa | grep kernel
第五个4.12 即为新内核
删除旧内核(可选) 删除旧内核方法 https://www.nmbhost.com/archives/1421
rpm -ev 旧内核
更新 grub 系统引导文件并重启
sed -i 's:default=.*:default=0:g' /etc/grub.conf reboot
安装完成后不要忘记修改/boot/grub/menu.lst和/etc/grub.conf,将这两个文件中旧内核的启动项删除即可避免卡在grub界面无法重启的问题。
更新到最新内核
yum --enablerepo=elrepo-kernel update -y
CentOS 7下载更换内核 最新内核查看这里
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm yum --enablerepo=elrepo-kernel install kernel-ml -y
查看内核是否安装成功
rpm -qa | grep kernel
删除旧内核(可选) 删除旧内核方法 https://www.nmbhost.com/archives/1421
rpm -ev 旧内核
更新 grub 系统引导文件并重启(先看下面红色说明)
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \' grub2-set-default 0 reboot
执行完上面第一行代码 看你的新内核排在第几位,上图(从0开始计数,如排在第一位就是0排在第二位就是1)
新内核在第几位“grub2-set-default”后面的数字就换成几 因为我的新内核排在第一 所以 代码为 grub2-set-default 0
#default 0 表示图上第二个4.12的内核设置为默认运行, 选择最新内核就对了(记住第一行的就是0第二行的才是1 以此类推)
更新到最新版内核
yum --enablerepo=elrepo-kernel update -y
注意,某些服务商(如Digital Ocean linode )digitalocean linode 的系统只能在他自己的后台更换内核。然后grub2的配置才会生效。
重新启动后,如果出现“read-only file system” 的错误,
root 账户下执行以下代码即可
mount -o remount rw /
开启bbr步骤(先升级完内核后reboot重启后,再来执行此段BBR安装代码)
开机后
uname -r
查看内核版本 >= 4.9(debian ubuntu) / centos 4.12
执行命令
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
执行命令
sysctl net.ipv4.tcp_available_congestion_control sysctl net.ipv4.tcp_congestion_control
如输出结果都有bbr, 则证明你的内核已开启bbr
看到有 tcp_bbr 模块即说明bbr已启动 到此BBR安装部分完成!
如果你使用的是 Google Cloud Platform (GCP)更换内核,有时会遇到重启后,整个磁盘变为只读的情况。只需执行以下命令即可恢复:
mount -o remount rw /
“偷懒的”也可以使用 BBR的一键安装包
允许随意转载;但,请点赞!点赞-NMBHOST:NMB HOST » 手工开启TCP BBR拥塞控制算法 ubuntu Debian CentOS安装bbr 加速你的国外VPS