Linode CentOS7开启Google TCP-BBR优化算法

  • A+
所属分类:Linux

Linux在4.9版本的内核新增了一款TCP拥塞控制技术:BBR,Linode最新内核也更新到4.9,但是没有把BBR编译进去,下面是教程是替换Linode CentOS7内核,并开启Google TCP-BBR优化算法方法。

注意:Linode、阿里云测试OK,Ucloud测试加载4.9变为只读系统。

1. 安装elrepo提供的kernel4.9

增加elrepo源

  1. cat > /etc/yum.repos.d/elrepo.repo << EOF
  2. [elrepo-kernel]
  3. name=ELRepo.org Community Enterprise Linux Kernel Repository - el7
  4. baseurl=http://elrepo.org/linux/kernel/el7/\$basearch/
  5.         http://mirrors.coreix.net/elrepo/kernel/el7/\$basearch/
  6.         http://jur-linux.org/download/elrepo/kernel/el7/\$basearch/
  7.         http://repos.lax-noc.com/elrepo/kernel/el7/\$basearch/
  8.         http://mirror.ventraip.net.au/elrepo/kernel/el7/\$basearch/
  9. enabled=1
  10. gpgcheck=0
  11. EOF

可能存在yum更新内核时候找不到升级包,请检查/etc/yum.conf是否过滤了kernel

找到改文件将exclude=kernel* centos-release*注销,再尝试安装

安装elrepo替换4.9内核及grub2

  1. yum -y install kernel-ml grub2

查看4.9内核是否安装成功

  1. [root@linode1495332 ~]# ls -l /boot/vmlinuz*
  2. -rwxr-xr-x 1 root root 6037696 Dec 22 10:16 /boot/vmlinuz-0-rescue-72863e389b584a4dab36fae7f3bffda2
  3. -rwxr-xr-x 1 root root 6037696 Dec 12 05:37 /boot/vmlinuz-4.9.0-1.el7.elrepo.x86_64

2. 替换CentOS7内核

Linode内核切换方法:

  1. [root@linode1495332 etc]# mkdir /boot/grub
  2. [root@linode1495332 etc]# grub2-mkconfig -o /boot/grub/grub.cfg
  3. Generating grub configuration file ...
  4. Found linux image: /boot/vmlinuz-4.9.0-1.el7.elrepo.x86_64
  5. Found initrd image: /boot/initramfs-4.9.0-1.el7.elrepo.x86_64.img
  6. Found linux image: /boot/vmlinuz-0-rescue-72863e389b584a4dab36fae7f3bffda2
  7. Found initrd image: /boot/initramfs-0-rescue-72863e389b584a4dab36fae7f3bffda2.img
  8. done

点击Linode后台面板Dashboard,点击Edit按钮:

在Kernel下拉菜单,选择GRUB 2启动:

非Linode切换内核方法:

  1. [root@oneinstack ~]#  awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
  2. CentOS Linux (4.9.0-1.el7.elrepo.x86_64) 7 (Core)
  3. CentOS Linux (3.10.0-514.2.2.el7.x86_64) 7 (Core)
  4. CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)
  5. CentOS Linux (0-rescue-7d26c16f128042a684ea474c9e2c240f) 7 (Core)

grub2-set-default 0,切换到新内核

  1. [root@oneinstack ~]# grub2-set-default 0

重启服务器:

  1. reboot

查看内核版本

  1. [root@linode1495332 ~]# uname -a
  2. Linux linode1495332.members.linode.com 4.9.0-1.el7.elrepo.x86_64 #1 SMP Sun Dec 11 15:43:54 EST 2016 x86_64 x86_64 x86_64 GNU/Linux

3. 开启TCP-BBR

  1. cat >>/etc/sysctl.conf << EOF
  2. net.core.default_qdisc=fq
  3. net.ipv4.tcp_congestion_control=bbr
  4. EOF

内核参数生效:

  1. sysctl -p

查看bbr是否生效:

  1. [root@linode1495332 ~]# sysctl net.ipv4.tcp_available_congestion_control
  2. net.ipv4.tcp_available_congestion_control = bbr cubic reno
  3. [root@linode1495332 ~]# lsmod | grep bbr
  4. tcp_bbr                16384  70

Thu Dec 22 11:17:53 CST 2016

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:6   其中:访客  5   博主  1

    • avatar PHP程序员雷雪松 2

      好高级的黑科技啊!

      • avatar 禅猫 3

        这有一键脚本centos 7的
        wget -O- https://soft.alphabrock.cn/Linux/scripts/bbr_centos_6_7_x86_64.sh | bash

        • avatar Klose 1

          听说比锐速厉害.但是只能KVM环境下安装 :mrgreen:

          • avatar ivmm 0

            linode,已经提供了他们编译好的4.9内核了,为何还要多一次一举用grub嘞

              • avatar yeho Admin

                @ivmm bbr参数没有编译进去

              • avatar 文雨 0

                有没有人测试效率能提高多少,或者稳定性有没有什么变化