1、查看系统版本
uname -sr
如果在4.10及以上,可以直接跳到第4步
2、启用 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
3、安装最新的Linux稳定版内核
yum --enablerepo=elrepo-kernel install kernel-ml -y
执行上述命令之后,Linux内核就安装好了,为了妥当期间,我们可以在安装完毕后使用下面的命令查看确认一下是否安装成功。
rpm -qa | grep kernel
我的显示如下:
kernel-3.10.0-862.14.4.el7.x86_64
kernel-ml-5.3.8-1.el7.elrepo.x86_64
kernel-3.10.0-1062.4.1.el7.x86_64
kernel-headers-3.10.0-1062.4.1.el7.x86_64
kernel-3.10.0-957.5.1.el7.x86_64
kernel-3.10.0-1062.1.2.el7.x86_64
kernel-tools-3.10.0-1062.4.1.el7.x86_64
kernel-tools-libs-3.10.0-1062.4.1.el7.x86_64
kernel-3.10.0-957.1.3.el7.x86_64
里面kernel-ml-5.3.8-1.el7.elrepo.x86_64就是安装的新版版本内核(你看到这篇教程的时候可能内核最新版本有所变化,随机应变)。
接下来需要设置系统启动顺序,使用下面的命令。
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
我的显示如下:
CentOS Linux (5.3.8-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1062.4.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1062.1.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.5.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.1.3.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-862.14.4.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-618ca2de6e204efbb013b592564ef36a) 7 (Core)
排在第一的就是CentOS Linux (5.3.8-1.el7.elrepo.x86_64) 7 (Core),从第一行为0依次数,序号分别是0、1、2、3以此类推,看你的新内核是第几。 然后就输入下面的命令(命令例子为第1行,将下面的0改为你的最新内核的序号)
grub2-set-default 0
安装完成之后执行reboot
命令重启服务器:
重启完成之后,执行uname命令再次查看内核版本,确认是否使用了正确的内核:
uname -r
重建内核配置
grub2-mkconfig -o /boot/grub2/grub.cfg
重启系统验证,没问题就OK了。
安装好最新版Linux内核后,下面我们就正式开始开启BBR。
4、在CentOS7新内核上开启BBR
要在新安装好的CentOS7上面启用新内核,只需要依次执行下面的命令就可以了。
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
然后输入下面的命令查看是否开启BBR成功
sysctl net.ipv4.tcp_available_congestion_control
成功的话应该是下面这种输出
net.ipv4.tcp_available_congestion_control = bbr cubic reno
继续验证
sysctl -n net.ipv4.tcp_congestion_control
输出应该是
bbr
最后看内核模块是否加载
lsmod | grep bbr
输出应该是类似下面这种
tcp_bbr 16384 0
评论