年更鸽子探头.jpg
距离上次更新小知识好像已经过去很久了,划水的时光总是快乐且短暂(
总之趁着自己实验部署BBR先水一篇再说(
BBR算法介绍
BBR算法是Google在Linux Kernel 4.9内核上加入的TCP拥塞控制算法。在BBR之前可以理解TCP的控制算法都为被动的拥塞控制算法,而BBR控制算法可以认为是一种主动拥塞控制算法。BBR通过避免排队来尽量的跑满带宽,以此达到加速的目的。
更换Linux内核
Ubuntu
在Kernel 4.9内核开启BBR算法,首先需要将服务器内核更新为4.9以上。输入uname -r
查看当前系统内核版本号验证内核版本。
下载最新内核
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.14.12/linux-image-4.14.12-041412-generic_4.14.12-041412.201801051649_amd64.deb
安装内核
dpkg -i linux-image-4.*.deb
删除旧内核(可选)
dpkg -l | grep linux-image
apt-get purge 旧内核
更新grub系统引导文件并重启
update-grub
reboot
CentOS
1、输入以下命令:
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
yum –enablerepo=elrepo-kernel install kernel-ml -y
2、执行完成之后,内核就安装好了,但默认不是最新的,需要自己修改。
首先执行以下命令,看看有哪些内核:
cat /boot/grub2/grub.cfg |grep menuentry
执行命令:
grub2-set-default ‘CentOS Linux 7 Rescue f162c5663d6044ba8d784979acd61b44 (5.4.2-1.el7.elrepo.x86_64)’
PS:CentOS Linux 7 Rescue f162c5663d6044ba8d784979acd61b44 (5.4.2-1.el7.elrepo.x86_64) 这个可以替换成你自己想要安装的内核版本。
3、安装完成之后执行reboot
命令重启。
4、重启完成之后执行以下命令确认是否使用了正确的内核:
uname -r
得到如下结果则升级成功:
5.4.2-1.el7.elrepo.x86_64
开启BBR加速
开机后输入uname -r
再次确认内核版本
执行 lsmod | grep bbr
,如果结果中没有 tcp_bbr则:
执行
modprobe tcp_bbr
echo "tcp_bbr" >> /etc/modules-load.d/modules.conf
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
保存生效
sysctl -p
执行
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
如果结果都有 bbr, 则证明你的内核已开启 bbr
执行 lsmod | grep bbr
, 看到有 tcp_bbr 模块即说明 bbr 已启动。