CentOS 7升级最新内核并开启Google BBR(加速ss,效果很明显)

  • 2018-11-11
  • 0
  • 0

linux内核默认的拥塞控制算法是cubic,对于中美之间链路这种延迟较高、丢包率中等的网络效果非常差。Google员工开发的BBR拥塞控制算法对网络质量提升很大,这里教大家如何在一台CentOS 7 系统的VPS上,使用BBR拥塞控制算法。

注意:此方法适用于KVM/XEN虚拟化,OpenVZ虚拟化VPS请不要操作,一般不会成功,建议不要在生产环境操作,以免出现异常

OpenVZ虚拟化VPS的等有时间我再去整一台做个教程

CentOS执行下面的命令可以查看当前使用的虚拟化技术

#安装virt-what
yum install virt-what
#查看架构
virt-what

CentOS 7升级最新内核

#导入ELRepo 公钥
wget https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm --import RPM-GPG-KEY-elrepo.org
#安装ELRepo
wget http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
rpm -Uvh elrepo-release-7.0-3.el7.elrepo.noarch.rpm
#升级最新内核
yum --enablerepo=elrepo-kernel install kernel-ml -y

内核升级完成后老的内核和新的会同时存在,CentOS 7 使用grub2引导程序,需要将最新内核优先级调整最高。先输入命令cat /boot/grub2/grub.cfg|grep menuentry查找所有内核,并找出最新内核的全名,并记录下来,如下截图。

#设置最新内核(请输入上面查询到的最新内核)
grub2-set-default "CentOS Linux (4.14.14-1.el7.elrepo.x86_64) 7 (Core)"
#设置完毕后,输入下面的命令查看是否成功
grub2-editenv list
[root@test ~]# grub2-editenv list
saved_entry=CentOS Linux (4.14.14-1.el7.elrepo.x86_64) 7 (Core)
#ok,没问题重启服务器生效
reboot

查看内核是否升级成功

输入uname -r可查看当前内核,如果大于4.9说明已经成功了,如果操作后发现你系统网络不通了,估计是升级失败挂掉了,这种情况只能从VNC控制台进入,参照上面的方式修改为原来老的内核启动。

#内核大于4.9
[root@test ~]# uname -r
4.14.14-1.el7.elrepo.x86_64

开启BBR

直接复制下面的命令即可:

#修改配置
cat >>/etc/sysctl.conf << EOF
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
EOF
#使配置生效
sysctl -p

输入下面的命令来检测,如果看到返回的结果包含bbr 说明成功了,如下。

[root@ ~]# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr cubic reno
[root@ ~]# lsmod | grep bbr
tcp_bbr                20480  0 

放两张开启加速前和加速后的测试截图,效果很显著

最后简单说下关闭bbr

找到/etc/sysctl.conf这个文件,删除或注释掉以下两行:
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

然后执行sysctl -p使配置生效,重启服务器生效

评论

还没有任何评论,你来说两句吧