BBR(瓶颈带宽和往返传播时间)是谷歌开发的一种新的拥塞控制算法。 连接到网络的每台计算机、手机或平板电脑中运行的拥塞控制算法决定了数据发送的速度。 前面在Ubuntu 22.04 上启用了BBR,如果我们购买的VPS已经安装了CentOS7, 那Centos 7上如何开启BBR呢?由于BBR对Linux内核版本有要求, CentOS7 内核版本比较低,并不能直接开启,需要先升级内核。
第一步:安装更新的内核
由于 CentOS 7 附带 3.10.x 内核,默认情况下不包含 BBR,因此我们需要在您的机器上升级到更新的内核版本才能使用 BBR。
为此,我们安装 ELRepo 存储库,
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
输出
[root@vps ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
[root@vps ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
Retrieving http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
Retrieving http://elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
Preparing... ################################# [100%]
Updating / installing...
1:elrepo-release-7.0-4.el7.elrepo ################################# [100%]
[root@vps ~]#
要使用 ELRepo 存储库安装内核,
yum --enablerepo=elrepo-kernel install kernel-ml -y
输出
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
kernel-ml x86_64 5.12.9-1.el7.elrepo elrepo-kernel 53 M
Transaction Summary
================================================================================
Install 1 Package
.
.
.
Installed:
kernel-ml.x86_64 0:5.12.9-1.el7.elrepo
Complete!
现在使用以下命令检查稳定的内核安装,
rpm -qa | grep kernel
注意:如果安装成功,您应该在输出列表中看到 kernel-ml-5.xx.xx.elrepo.x86_64:
输出
[root@vps ~]# rpm -qa | grep kernel
kernel-3.10.0-1160.el7.x86_64
kernel-tools-3.10.0-1160.el7.x86_64
kernel-ml-5.12.9-1.el7.elrepo.x86_64
kernel-tools-libs-3.10.0-1160.el7.x86_64
[root@vps ~]#
第二步:启动到较新的内核
接下来,您需要通过将其设置为默认的 grub2 引导条目来引导至最新的内核。
显示 grub2 菜单中所有条目的命令,
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
输出
[root@vps ~]# egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
CentOS Linux 7 Rescue 13f95ded0c4147935ac6afed832cfb0a (5.12.9-1.el7.elrepo.x86_64)
CentOS Linux (5.12.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-dd1973a114f84ea8bbf37b494513d3f7) 7 (Core)
使用以下命令设置默认启动项,
注意:计数从 0 开始,最新的稳定内核在第二行,因此我们将其设置为 1
[root@vps ~]# egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
CentOS Linux 7 Rescue 13f95ded0c4147935ac6afed832cfb0a (5.12.9-1.el7.elrepo.x86_64) <-- 0
CentOS Linux (5.12.9-1.el7.elrepo.x86_64) 7 (Core) <-- 1
CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core) <-- 2
CentOS Linux (0-rescue-dd1973a114f84ea8bbf37b494513d3f7) 7 (Core) <-- 3
grub2-set-default 1
重启服务器
shutdown -r now
服务器重新联机后,确认您使用的是正确的内核。
uname -r
输出
[root@vps ~]# uname -r
5.12.9-1.el7.elrepo.x86_64
第三步:启用谷歌 BBR。
您需要如下修改 systctl 以启用 Google BBR 算法。
echo 'net.core.default_qdisc=fq' | tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | tee -a /etc/sysctl.conf
sysctl -p
输出
[root@vps ~]# echo 'net.core.default_qdisc=fq' | tee -a /etc/sysctl.conf
net.core.default_qdisc=fq
[root@vps ~]# echo 'net.ipv4.tcp_congestion_control=bbr' | tee -a /etc/sysctl.conf
net.ipv4.tcp_congestion_control=bbr
[root@vps ~]# sysctl -p
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
运行以下命令以验证 BBR 是否已启用,
sysctl net.ipv4.tcp_available_congestion_control
输出
[root@vps ~]# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic bbr
最后,执行以下命令验证Google BBR,
lsmod | grep bbr
输出
[root@vps ~]# lsmod | grep bbr
tcp_bbr 20480 1
到这里,就已经成功在Centos7 上安装了TCP BBR 拥塞控制。
原创文章,作者:zhuji001,如若转载,请注明出处:https://www.zhuji66.com/centos7-enable-google-bbr/
本站分享VPS和云服务器信息均来源于网络,如有侵权请邮箱联系zhuji66com@yeah.net。本站不销售任何产品,如遇问题请联系对应客服。