47

CentOS7升级内核以开启TCP BBR拥塞控制算法

 4 years ago
source link: https://www.tuicool.com/articles/vmAvUb7
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
$uname -r

输出如下:

3.10.0-514.26.2.el7.x86_64

说明当前的内核为 3.10.0

安装 ELRepo repo

$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 repo安装新版内核

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

查询安装结果

$rpm -qa | grep kernel

输出如下:

kernel-3.10.0-514.26.2.el7.x86_64
kernel-tools-libs-3.10.0-514.26.2.el7.x86_64
kernel-tools-3.10.0-514.26.2.el7.x86_64
kernel-headers-3.10.0-514.26.2.el7.x86_64
kernel-ml-5.2.4-1.el7.elrepo.x86_64
kernel-3.10.0-514.el7.x86_64

看倒数第二行 kernel-ml-5.2.4-1.el7.elrepo.x86_64 ,说明安装成功了。

将新版内核设置为grub2的启动入口

使用如下命令获取grub2的所有选项

$sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'

输出如下:

CentOS Linux (5.2.4-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.26.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-963c2c41b08343f7b063dddac6b2e486) 7 (Core)

我们需要设置的内核版本在第1行,即0号位置(下标从0开始计算)。所以我们使用如下命令设置

$grub2-set-default 0

重启机器

$reboot

检查内核版本是否已更新

$uname -r

输出如下:

5.2.4-1.el7.elrepo.x86_64

说明内核升级已完成。

开启BBR

修改sysctl的配置

$echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
$echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
$sudo sysctl -p

查看当前可用的拥塞控制算法

$sysctl net.ipv4.tcp_available_congestion_control

输出如下:

net.ipv4.tcp_available_congestion_control = reno cubic bbr

验证bbr是否开启

$sudo sysctl -n net.ipv4.tcp_congestion_control

输出如下:

bbr

验证内核模块是否被加载

$lsmod | grep bbr

输出如下:

tcp_bbr                20480  2

结束,感谢阅读~


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK