最近發現有別人寫好的一鍵安裝腳本可以一鍵安裝bbr,並且有bbr魔改,據說效果更好。
關於速度的測試文章:[小實驗] 銳速&BBR究竟哪家強?個人PC有必要上銳速嗎?
更新內核
先更新系統
$ yum update -y
安裝內核,目前CentOS已經可以通過elrepo源來更新內核,目前最新內核版本為:4.12.9
$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
$ rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
$ yum --enablerepo=elrepo-kernel install kernel-ml -y
查看內核是否安裝成功
$ awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
出現類似返回
0 : CentOS Linux 7 Rescue f16713269c69461db4addeffb3a94dc9 (4.12.9-1.el7.elrepo.x86_64)
1 : CentOS Linux (4.12.9-1.el7.elrepo.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-514.21.1.el7.x86_64) 7 (Core)
3 : CentOS Linux (0-rescue-de820036e9b44905be9e94bc0f95cdc7) 7 (Core)
把 CentOS Linux (4.12.9-1.el7.elrepo.x86_64) 設置成默認內核
# grub2-set-default 1 也可以
$ grub2-set-default 0
一般情況下,這里就應該重啟系統使使grub生效了,但由於Digital Ocean的限制,DO的用戶要先在DO的后台把內核切換到GrubLoader v0.2(相當於自定義吧),然后再重啟系統
# 在Digital Ocean后台將Kernel更換為GrubLoader v0.2
$ reboot
查看內核是否更換成功
$ uname -r
開啟BBR
編輯/etc/sysctl.conf,加入如下內容
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
保存生效
$ sysctl -p
查看當前內核TCP設置
$ sysctl net.ipv4.tcp_available_congestion_control
$ sysctl net.ipv4.tcp_congestion_control
如果結果都有bbr,則說明內核已開啟BBR算法,執行:
$ lsmod | grep bbr
顯示tcp_bbr說明BBR已正常啟動
來自 <https://www.noonme.com/post/2017/08/digital-ocean-bbr/>