Linux在4.9版本的內核新增了一款TCP擁塞控制技術:BBR,Linode最新內核也更新到4.9,但是沒有把BBR編譯進去,下面是教程是替換Linode CentOS7內核,並開啟Google TCP-BBR優化算法方法。
增加elrepo源
cat > /etc/yum.repos.d/elrepo.repo << EOF [elrepo-kernel] baseurl=http://elrepo.org/linux/kernel/el7/\$basearch/ http://mirrors.coreix.net/elrepo/kernel/el7/\$basearch/ http://jur-linux.org/download/elrepo/kernel/el7/\$basearch/ http://repos.lax-noc.com/elrepo/kernel/el7/\$basearch/ http://mirror.ventraip.net.au/elrepo/kernel/el7/\$basearch/ enabled=1 gpgcheck=0 EOF
安裝elrepo替換4.9內核及grub2
yum -y install kernel-ml grub2
查看4.9內核是否安裝成功
[root@linode1495332 ~]# ls -l /boot/vmlinuz* -rwxr-xr-x 1 root root 6037696 Dec 22 10:16 /boot/vmlinuz-0-rescue-72863e389b584a4dab36fae7f3bffda2 -rwxr-xr-x 1 root root 6037696 Dec 12 05:37 /boot/vmlinuz-4.9.0-1.el7.elrepo.x86_64
[root@linode1495332 etc]# mkdir /boot/grub [root@linode1495332 etc]# grub2-mkconfig -o /boot/grub/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-4.9.0-1.el7.elrepo.x86_64 Found initrd image: /boot/initramfs-4.9.0-1.el7.elrepo.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-72863e389b584a4dab36fae7f3bffda2 Found initrd image: /boot/initramfs-0-rescue-72863e389b584a4dab36fae7f3bffda2.img done
點擊Linode後台面板Dashboard,點擊Edit按鈕:
在Kernel下拉菜單,選擇GRUB 2啟動:
重啟服務器:
reboot
查看內核版本
[root@linode1495332 ~]# uname -a 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
cat >>/etc/sysctl.conf << EOF net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr EOF
內核參數生效:
sysctl -p
查看bbr是否生效:
[root@linode1495332 ~]# sysctl net.ipv4.tcp_available_congestion_control net.ipv4.tcp_available_congestion_control = bbr cubic reno [root@linode1495332 ~]# lsmod | grep bbr tcp_bbr 16384 70原文:https://blog.linuxeye.com/452.html