2019年6月25日星期二

Google BBR加速一键安装包 支持CentOS/Debian/Ubuntu系统


之前介绍过使用锐速无限制版一键安装包为自己的VPS网络提速(锐速ServerSpeeder无限带宽无限制版Linux一键自动安装包安装教程),其实Google的TCP BBR也是通过优化Linux内核TCP协议从而达到提速的目的,和锐速一样它并不能改变网络的实际线路、增大带宽,只是起到优化的作用。另外部署BBR需更新内核,所以OpenVZ虚拟技术架构的VPS无法部署BBR,在KVM、Xen、VMware等虚拟技术中可以正常部署,推荐在KVM VPS中使用。
下面为大家介绍一个来自@秋水逸冰制作的一键部署BBR脚本,支持一键更换VPS内核及部署BBR。此脚本支持在CentOS 6+、Debian 7+、Ubuntu 12+系统中一键部署,内存要求128M以上,不支持OpenVZ虚拟技术,支持KVM、Xen、VMware等虚拟技术。
2017.10.28更新:
1、更新:自动判断内核版本。如果内核版本已经大于或等于 4.9 且没有开启 BBR,脚本会直接设置好 BBR;
2、新增:脚本执行时会在当前目录下创建日志(install_bbr.log),方便查看及排错。

使用教程

1、首先请使用【远程桌面助手】优秀的服务器远程管理工具连接你的VPS,然后依次执行下面命令进行安装。
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
2、一键包部署过程比较简短,很快就完成了,如果显示如下图表示部署已经完成,需要重启VPS。请输入“Y”确认重启。
3、重启之后检测内核是否替换为4.12版及BBR是否部署成功。
uname -r #查看内核版本,是否含4.10
lsmod | grep bbr #查看BBR是否启动,返回值有 tcp_bbr表示已启动
sysctl net.ipv4.tcp_available_congestion_control
返回值一般为:
net.ipv4.tcp_available_congestion_control = bbr cubic reno
sysctl net.ipv4.tcp_congestion_control
返回值一般为:
net.ipv4.tcp_congestion_control = bbr
sysctl net.core.default_qdisc
返回值一般为:
net.core.default_qdisc = fq
4、CentOS 下最新版内核 headers 安装方法
本来打算在脚本里直接安装 kernel-ml-headers,但会出现和原版内核 headers 冲突的问题。因此在这里添加一个脚本执行完后,手动安装最新版内核 headers 之教程。
执行以下命令
yum --enablerepo=elrepo-kernel -y install kernel-ml-headers
根据 CentOS 版本的不同,此时一般会出现类似于以下的错误提示:
Error: kernel-ml-headers conflicts with kernel-headers-2.6.32-696.20.1.el6.x86_64
Error: kernel-ml-headers conflicts with kernel-headers-3.10.0-693.17.1.el7.x86_64
因此需要先卸载原版内核 headers ,然后再安装最新版内核 headers。执行命令:
yum remove kernel-headers
确认无误后,输入 y,回车开始卸载。注意,有时候这么操作还会卸载一些对内核 headers 依赖的安装包,比如 gcc、gcc-c++ 之类的。不过不要紧,我们可以在安装完最新版内核 headers 后再重新安装回来即可。
卸载完成后,再次执行上面给出的安装命令。
yum --enablerepo=elrepo-kernel -y install kernel-ml-headers
成功安装后,再把那些之前对内核 headers 依赖的安装包,比如 gcc、gcc-c++ 之类的再安装一次即可。
为什么要安装最新版内核 headers 呢?
这是因为 shadowsocks-libev 版有个 tcp fast open 功能,如果不安装的话,这个功能是无法开启的。
5、内核升级方法
如果是 CentOS 系统,执行如下命令即可升级内核:
yum -y install kernel-ml kernel-ml-devel
CentOS 6 的话,执行命令:
sed -i 's/^default=.*/default=0/g' /boot/grub/grub.conf
CentOS 7 的话,执行命令:
grub2-set-default 0
如果是 Debian/Ubuntu 系统,则需要手动下载最新版内核来安装升级。
这里下载最新版的内核 deb 安装包。
如果系统是 64 位,则下载 amd64 的 linux-image 中含有 generic 这个 deb 包;
如果系统是 32 位,则下载 i386 的 linux-image 中含有 generic 这个 deb 包;
安装的命令如下(以最新版的 64 位 4.12.4 举例而已,请替换为下载好的 deb 包):
dpkg -i linux-image-4.12.4-041204-generic_4.12.4-041204.201707271932_amd64.deb
安装完成后,再执行命令:
/usr/sbin/update-grub
最后,重启 VPS 即可。
6、特别说明
如果你使用的是 Google Cloud Platform (GCP)更换内核,有时会遇到重启后,整个磁盘变为只读的情况。只需执行以下命令即可恢复:
mount -o remount rw /

部署小结:

1、使用一键部署BBR脚本能快速为自己VPS替换支持BBR的内核,并部署启动BBR实现VPS提速。蜗牛在Vultr VPS和阿里云中都测试成功了。
安装BBR之前:
安装BBR之后:

没有评论:

发表评论