安装BBR教程,来加速VPS

闲聊 无标签
0 156
tetepay
tetepay 潜伏站长 2024-03-10 19:52:54
Lv:3级

安装BBR教程,来加速VPS
开源了其 TCP BBR 拥塞控制算法,并提交到了 Linux 内核,从 4.9 开始,Linux 内核已经用上了该算法。根据以往的传统,Google 总是先在自家的生产环境上线运用后,才会将代码开源,此次也不例外。
根据实地测试,在部署了最新版内核并开启了 TCP BBR 的机器上,网速甚至可以提升好几个数量级。

根据目前三大发行版的最新内核,一键安装最新内核并开启 TCP BBR 脚本。

个人建议最好不要使用脚本,就几行命令,手动安装不会出错,使用脚本出错概率大,当然懒人除外!

适用环境

系统支持:CentOS7.1+,Debian 7+,Ubuntu 12+

虚拟技术:OpenVZ 以外的,比如 KVM、Xen、VMware 等

内存要求:≥128M

关于脚本

1、本脚本已在 各大厂商上的 VPS 全部测试通过。

2、当脚本检测到 VPS 的虚拟方式为 OpenVZ 时,会提示错误,并自动退出安装。

3、脚本运行完重启发现开不了机的,打开 VPS 后台控制面板的 VNC, 开机卡在 grub 引导, 手动选择内核即可。

4、由于是使用最新版系统内核,最好请勿在生产环境安装,以免产生不可预测之后果。

安装方法

安装前请务必关闭 SELINUX,

使用 root 用户登录,运行以下命令

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

安装完成后,脚本会提示需要重启 VPS,输入 y 并回车后重启。重启完成后,进入 VPS,验证一下是否成功安装最新内核并开启 TCP BBR,输入以下命令:

输入:

lsmod | grep bbr

返回值有 tcp_bbr 模块即说明 bbr 已启动。注意:并不是所有的 VPS 都会有此返回值,若没有也属正常。

CentOS 7.4+ 手动安装方法
安装前请务必关闭 SELINUX,

查看系统版本

cat /etc/redhat-release

输出如下(release 数值大于 7.4 即可)

CentOS Linux release 7.6.1810 (Core)

导入 elrepo 软件源的 GPG 公钥

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

更新下配置重启

reboot

导入 elrepo 软件源(该地址可以自动下载该源的最新的软件列表,无需修改地址)

rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

在 ELRepo中有两个内核选项,一个是kernel-lt(长期支持版),一个是 kernel-ml(主线最新版本),采用长期支持版本(kernel-lt),更加稳定一些

yum -y --enablerepo=elrepo-kernel install kernel-ml //主线最新版本
yum -y --enablerepo=elrepo-kernel install kernel-lt //长期支持版


设定 Grub 默认启动新内核,查看所有的 entry:

awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

0 : CentOS Linux 7 Rescue be01194033634997b76c097ab3d668ed (4.20.0-1.el7.elrepo.x86_64)
1 : CentOS Linux (4.20.0-1.el7.elrepo.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-693.11.6.el7.x86_64) 7 (Core)
3 : CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
4 : CentOS Linux (0-rescue-00a62363617944e08db8db894ba6145e) 7 (Core)

配置方法

1、通过 grub2-set-default 命令设置
查看当前 default 的 entry

grub2-editenv list

saved_entry=CentOS Linux (3.10.0-693.11.6.el7.x86_64) 7 (Core)
修改为指定的 entry,指定最新内核,然后查看指定内核为:saved_entry=1

grub2-set-default 1
grub2-editenv list


2、编辑 /etc/default/grub 文件
(第一种方式无法修改内核再用这种方式修改)

设置 GRUB_DEFAULT=1,通过上面查询显示的编号为 1 的内核作为默认内核:

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=”( s e d ‘ s , r e l e a s e . ∗ (sed ‘s, release .*(sed‘s,release.∗,g’ /etc/system-release)”
GRUB_DEFAULT=1
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL=”serial console”
GRUB_TERMINAL_OUTPUT=”serial console”
GRUB_CMDLINE_LINUX=”crashkernel=auto console=ttyS0 console=tty0 panic=5 net.ifnames=0 biosdevname=0 intel_idle.max_cstate=1 intel_pstate=disable”
GRUB_DISABLE_RECOVERY=”true”
GRUB_SERIAL_COMMAND=”serial –speed=9600 –unit=0 –word=8 –parity=no –stop=1″

生成 grub 配置文件

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

Generating grub configuration file …
Found linux image: /boot/vmlinuz-5.8.14-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-5.8.14-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1062.18.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1062.18.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-0ea734564f9a4e2881b866b82d679dfc
Found initrd image: /boot/initramfs-0-rescue-0ea734564f9a4e2881b866b82d679dfc.img
Found linux image: /boot/vmlinuz-0-rescue-d4a7825ac1094e6a9184b6379c189521
Found initrd image: /boot/initramfs-0-rescue-d4a7825ac1094e6a9184b6379c189521.img

衔接第一、二种方式
使用新的内核重启

reboot

检查设置,删除旧的内核,查看当前系统的内核版本号

uname -r

如果输出是 4.10 以上的版本,说明安装成功。

4.20.0-1.el7.elrepo.x86_64

删除旧内核(删除旧内核的目的是为了防止 yum 更新旧版内核之后覆盖了 grub 默认启动项)

yum -y remove kernel kernel-tools

如果名称不匹配就是商家修改过内核名称,先查询一下系统已安装的内核

rpm -qa | grep kernel

然后再删除旧内核

yum remove -y 旧内核的名

开启 bbr,如果你不会用 vim 命令的话可以使用 SFTP 工具修改简单

vim /etc/sysctl.conf

添加如下内容

net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr


加载系统参数(正常情况下会输出我们之前加入的内容)

sysctl -p

验证 bbr 是否已经开启

sysctl net.ipv4.tcp_available_congestion_control

返回 :net.ipv4.tcp_available_congestion_control = bbr cubic reno 则成功

再验证 bbr

lsmod | grep bbr

返回形如有 bbr 即成功。

tcp_bbr 16384 1

tcp_bbr 20480 0

安装其他服务前重启下

reboot

提醒

提示如下报错:curl: (35) SSL connect error 解决方法:升级网络安全服务即可

yum update nss
                        
原文链接:https://blog.csdn.net/u012241616/article/details/136606703

楼主签名:9000多个源码:www.httple.net
回帖
回复列表

    遵守各国法律法规 严谨违规内容

    • QQ群:1140251126
    • Email:admin@admin.gs
    • 本站可以自由发布正规网站外链
    • 本站域名 admin.gs 其它皆为闲置域名
    本站热帖
    01 域名真的不行了,往年卖出去的又可以注册了 630
    02 携手特工、雷人组建了nice臻选 554
    03 码支付漏洞测试开源版,来测试有没有漏洞 547
    04 源支付V7版,以前150购买,需要的下载研究,拿走回复 445
    05 免费收费域名 439
    06 我还有6个域名。 439
    07 只秀不卖 437
    08 最新版弹幕播放器源码,带后台 432
    09 免费域名申请地址 392
    10 扯谈域名投资 352
    推荐主机