前言
Oracle VPS 注册了一个多月也没有时间折腾,正好昨天能够有库存创建VPS了,于是升级了内核,开启了原版BBR,记录一下流程,新手顺着命令一步步来执行即可.
重要提示
由于甲骨文 CentOS 7 系统更新频繁,请参考以下日期来使用
2021.2.2 日更新:手动安装秋水 BBRPlus 内核,并一键脚本启用 BBRPlus 加速及优化.
本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.
配置流程
升级内核
更新 yum
yum -y update
查看内核
uname -r
# 内核版本 3.10.0-1062.12.1.el7.x86_64
手动下载秋水 BBRPlus
版内核
wget https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/bbrplus/centos/7/kernel-4.14.129-bbrplus.rpm
手动安装内核
yum -y install kernel-4.14.129-bbrplus.rpm
更新引导
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
列出系统开机启动项
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/efi/EFI/centos/grub.cfg
设置新版内核默认启动项
grub2-set-default 0
重启
reboot
开启 BBRPlus 及优化
秋水一键脚本,选择7
开启BBRPlus
加速.
再次./tcp.sh
运行脚本,选择10
优化并重启完成.
wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh
历史存档 2020.3.24 日更新官方 5.3.13-1 内核及官方 BBR
2020.3.24 日更新:由于最新内核会导致无法启动,本文将手动安装
5.3.13-1
版内核.
升级内核
更新 yum
yum -y update
查看内核
uname -r
# 内核版本 3.10.0-1062.12.1.el7.x86_64
下载5.3.13-1
版内核
wget http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-5.3.13-1.el7.elrepo.x86_64.rpm
# 备选地址
wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-5.3.13-1.el7.elrepo.x86_64.rpm
安装内核
yum -y install kernel-ml-5.3.13-1.el7.elrepo.x86_64.rpm
查看新内核是否安装成功
rpm -qa | grep kernel
# 确认结果中有 kernel-ml-5.3.13-1.el7.elrepo.x86_64
禁用 yum update 升级内核
vi /etc/yum.conf
# 在[main]下添加
exclude=kernel*
更新引导
sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
列出系统开机启动项
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/efi/EFI/centos/grub.cfg
设置新版内核默认启动项
sudo grub2-set-default 0
重启
reboot
查看内核
uname -r
# 显示为 5.3.13-1.el7.elrepo.x86_64
开启BBR
查询是否安装BBR
lsmod | grep bbr
# 结果中没有 tcp_bbr 即没有安装
执行
sudo modprobe tcp_bbr
echo "tcp_bbr" | sudo tee --append /etc/modules-load.d/modules.conf
echo "net.core.default_qdisc=fq" | sudo tee --append /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee --append /etc/sysctl.conf
保存
sudo sysctl -p
检查 BBR
查看内核版本
uname -r
# 再次确认 5.3.13-1.el7.elrepo.x86_64
检查 BBR
sysctl net.ipv4.tcp_available_congestion_control
返回值一般为:net.ipv4.tcp_available_congestion_control = bbr cubic reno
或者为:net.ipv4.tcp_available_congestion_control = reno cubic bbr
sysctl net.ipv4.tcp_congestion_control
返回值一般为:net.ipv4.tcp_congestion_control = bbr
sysctl net.core.default_qdisc
返回值一般为:net.core.default_qdisc = fq
lsmod | grep bbr
返回值有 tcp_bbr
模块即说明bbr
已启动.注意:并不是所有的 VPS 都会有此返回值,若没有也属正常.
结语
关于Linux详细的技术,我也不是很懂,都是参考网上的教程跟着尝试.上文流程我亲自测试过没问题,仅供参考.
本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.
22 条评论
要是能做个一键脚步就好了,我这边更换内核看了好多教程,就这里成功了,。。
主要是前面 升级内核 这一段的内核的安装和配置启动,和常规的不同.内核安装完毕,可以用秋水的一键脚本开启BBR和优化.、
这个经过我最近的测试没问题.以下是bbrplus精简的直接一步步复制运行就可以.
wget https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/bbrplus/centos/7/kernel-4.14.129-bbrplus.rpm
yum -y install kernel-4.14.129-bbrplus.rpm
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/efi/EFI/centos/grub.cfg
grub2-set-default 0
reboot 重启
重启后一键脚本,选7启用,在运行选10优化
wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh
其实没有这么麻烦,我刚刚用的centos 7,
然后用
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
再用你发的那个BBR一键,就可以了,不需要其他操作,刚刚安装完,
我不动SH,如果你懂的话,可以把这2句加进去,。下次直接一键,
https://www.ioiox.com/archives/63.html
用了这个,然后安装酸酸乳的时候,老是提示安装不上,不是装不上GCC,就是py,各种不能安装,
然后用了你留言的这个,就可以安装了,不过我之前都是安装原版BBR,BBR Puls还没装过,。
oracle是有centos 8的,BRR可以直接装,但是装酸酸乳会报错。。那个错误我就不懂了。。
文章上的是官方内核,手动配置的BBR,我稳定用了快一年没问题,至于GCC PY编译需要的我没尝试过...
留言的其实就是秋水的一键脚本的BBR Plus专用固件,这个我也稳定用了几个月没...当然依旧没尝试 GCC 这些恶.
wget 源不行了。我找了一个合适的
wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-5.3.13-1.el7.elrepo.x86_64.rpm
谢谢,更新上去了