CentOS 7安装bbr教程

Google 开源了其 TCP BBR 拥塞控制算法,并提交到了 Linux 内核,从 4.9 开始,Linux 内核已经用上了该算法。根据以往的传统,Google 总是先在自家的生产环境上线运用后,才会将代码开源,此次也不例外。
根据实地测试,在部署了最新版内核并开启了 TCP BBR 的机器上,网速甚至可以提升好几个数量级。

安装

CentOS 7.3

1.yum系统更新(更新到CentOS 7.3)

yum update

2.查看系统版本

cat /etc/redhat-release

输出如下(release数值大于7.3即可),则表示已升级到7.3

CentOS Linux release 7.3.1611 (Core)

3.安装elrepo并升级内核

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y

正常情况下将输出如下信息:

Transaction Summary
================================================================================
Install  1 Package

Total download size: 39 M
Installed size: 169 M
Downloading packages:
kernel-ml-4.9.0-1.el7.elrepo.x86_64.rpm                    |  39 MB   00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Installing : kernel-ml-4.9.0-1.el7.elrepo.x86_64                          1/1
  Verifying  : kernel-ml-4.9.0-1.el7.elrepo.x86_64                          1/1

Installed:
  kernel-ml.x86_64 0:4.9.0-1.el7.elrepo

Complete!

3.更新grub文件并重启(reboot后,ssh会断开,稍等一会儿重新连接)

egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
grub2-set-default 0
reboot

4.开机后查看内核是否已更换为4.9

uname -r

输出如下内容则表示内核4.9已经启动了(数值大于4.9即可)

4.9.0-1.el7.elrepo.x86_64

CentOS 7.4

导入 elrepo 软件源的 GPG 公钥

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

导入 elrepo 软件源

说明:该地址可以自动下载该源的最新的软件列表,无需修改地址。

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

下载并安装新的内核

启用软件源并下载安装最新稳定版内核

yum -y --enablerepo=elrepo-kernel install kernel-ml

设定 Grub 默认启动新内核

说明:如果手动修改过 Grub 的配置文件,以下命令可能无法执行成功。请自行修改 Grub 配置文件。

grub2-set-default 0

使用新的内核重启

reboot

检查设置 & 删除旧的内核

查看当前系统的内核版本号

uname -r

如果输出是 4.10 以上的版本,说明安装成功。

4.14.13-1.el7.elrepo.x86_64

删除旧内核

说明:删除旧内核的目的是为了防止 yum 更新旧版内核之后覆盖了 grub 默认启动项

yum -y remove kernel kernel-tools

开启bbr

vim /etc/sysctl.conf

添加如下内容

net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

加载系统参数(正常情况下会输出我们之前加入的内容)

sysctl -p

验证bbr是否已经开启

a.若

sysctl net.ipv4.tcp_available_congestion_control

返回

net.ipv4.tcp_available_congestion_control = bbr cubic reno

则成功

b.若

lsmod | grep bbr

返回形如如下形式的信息即成功。

tcp_bbr                16384  1
tcp_bbr                20480  0

评论

  1. ZjzMisaka
    3年前
    2019-2-21 15:04:18

    最后有关返回值信息, 好像写的太死了
    例如a命令返回的是: net.ipv4.tcp_available_congestion_control = reno cubic bbr
    b命令返回的是: tcp_bbr 20480 1
    实际上应该返回带bbr的返回值就代表安装成功了.
    另外谢谢大佬, 装了bbr以后速度简直起飞了~

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇