CentOS7开启 BBR为VPS加速详解

2020-01-30 17:11:40刘景俊

# 查看可用的启动项

cat /boot/grub2/grub.cfg |grep CentOS

执行完这条命令以后,能看到多条以 menuentry 开头的项目,每一项都是一个内核引导选项,紧跟在 menuentry 后面,以单引号包围的部分就是这一条启动项的 “title”,比如我的是:

menuentry 'CentOS Linux (4.9.0-rc8-amd64) 7 (Core)' --class rhel fedora --class gnu-linux ....

menuentry 'CentOS Linux (3.10.0-327.36.3.el7.x86_64) 7 (Core)' --class rhel fedora --class gnu-linux ...

menuentry 'CentOS Linux (0-rescue-731edbf944d54068a3249dee56ed3727) 7 (Core)' --class rhel fedora --class gnu-linux --class gnu ...

可以看到第一条单引号中的就是我们新安装的 4.9-rc8 内核,我们要使用这一项来引导。

# 设置默认 4.9-rc8 的引导项为默认引导项

grub2-set-default "CentOS Linux (4.9.0-rc8-amd64) 7 (Core)"

# 验证一下,如果上一条命令执行成功,执行下面的命令应该能看到 `saved_entry=CentOS Linux (4.9.0-rc8-amd64) 7 (Core)`

grub2-editenv list

# 重新生成 grub2 的配置文件

grub2-mkconfig -o /boot/grub2/grub.cfg

# 重启系统

reboot

修改sysctl 开启 BBR

重启系统之后,通过 uname -a 或者其它命令可以看到我们的内核已经是 4.9.0-rc8-amd64 了,接下来开启 BBR

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf

echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

# 加载 /etc/sysctl.conf 文件中的参数并显示,主要看看有没有报错的设置(显示的结果与你的配置文件内容有关)

sysctl -p

# 验证 bbr 是否开启,如果成功,应该会看到 net.ipv4.tcp_congestion_control = bbr

sysctl net.ipv4.tcp_available_congestion_control

# 依然是验证,如果成功,应该会看到类似 tcp_bbr 16384 3 这样的文字

lsmod | grep bbr