启用Google的TCP BBR方法是我们要确保内核版本4.9.0或以上,然后安装内核,编辑sysctl.conf文件,添加BBR相关配置,然后应用更改并重启系统,最后验证系统是否启用了BBR即可。
步骤1:升级内核版本(如有必要)
鼓励在制作以下任何更改之前更新您的Linux VPS。 建议通过拍摄快照来确保备份工作良好。
内核版本4.9.0或更高版本需要使用BBR算法。 使用以下内容查看当前的内核版本:
uname -r
如果您已经拥有4.9.0或更高版本的内核,则可以跳至下面的步骤2。 或者,您也可以根据需要进行升级。
CentOS 7:
CentOS 7图像内核需要从CentOS Linux(3.10.0-693.2.2.el7.x86_64)7(核心)升级。您可以使用以下步骤升级到最新的稳定内核版本(当前kernel-ml.x86_64 0:5.4.13-1.el7.elrepo)。
安装ELRepo仓库:
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
使用ELRepo存储库安装kernel-ml.x86_64 0:5.4.13-1.el7.elrepo内核:
sudo yum --enablerepo=elrepo-kernel install kernel-ml -y
接下来,运行:
yum list installed kernel
您应该在列表上找到您的新安装的BBR兼容的内核版本。
现在,使用以下命令列出grub2菜单中的所有条目:
sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
您新安装的内核版本应该在列表的顶部。 索引中位置0的列表顶部。 如果您的内核版本在顶部列出,请在下面的命令中使用0。 如果它是第二个从顶部,请使用1等。 请参见下面的示例输出:
CentOS Linux (5.4.13-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux 7 Rescue 4dd7e2d4553149f4943676c4f1794b0a (3.10.0-1062.9.1.el7.x86_64)
CentOS Linux (3.10.0-1062.9.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-693.2.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.26.2.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-de149d15bc21de2e4cc85376c8c61208) 7 (Core)
设置默认启动项:
sudo grub2-set-default 0
最后,重新启动服务器:
reboot
验证结果。 运行后,您应该找到列出的新安装的内核版本:
uname -r
Ubuntu 18.04:
Ubuntu 18.04图像应在运行name -r后返回符合条件的内核版本,如下面:
4.15.0-22-generic
要升级到最新的稳定内核版本5.4.13,请分别运行以下各项:
cd /tmp/
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4.13/linux-headers-5.4.13-050413_5.4.13-050413.202001171431_all.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4.13/linux-headers-5.4.13-050413-generic_5.4.13-050413.202001171431_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4.13/linux-headers-5.4.13-050413-lowlatency_5.4.13-050413.202001171431_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4.13/linux-image-unsigned-5.4.13-050413-generic_5.4.13-050413.202001171431_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4.13/linux-image-unsigned-5.4.13-050413-lowlatency_5.4.13-050413.202001171431_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4.13/linux-modules-5.4.13-050413-generic_5.4.13-050413.202001171431_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4.13/linux-modules-5.4.13-050413-lowlatency_5.4.13-050413.202001171431_amd64.deb
sudo dpkg -i *.deb
最后,重新启动服务器:
reboot
验证结果。 运行后,您应该找到列出的新安装的内核版本:
uname -r
步骤2:启用Google的BBR算法
对于下一步,请使用您喜欢的文本编辑器编辑Sysctl.conf:
sudo vim /etc/sysctl.conf
在sysctl.conf末尾添加以下两行:
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
保存并退出Sysctl.conf,然后用新配置刷新:
sudo sysctl -p
对于最终测试,请验证您的系统正在使用哪种拥塞控制算法:
sysctl net.ipv4.tcp_congestion_control
如果您有以下输出,则已成功启用Google的BBR算法:
net.ipv4.tcp_congestion_control = bbr