centos 7 开启bbr网络加速

  • A+
所属分类:VPS相关

BBR 是 Google 提出的一种新型拥塞控制算法,可以使 Linux 服务器显著地提高吞吐量和减少 TCP 连接的延迟。
虚拟主机开启bbr加速,效果还是非常明显的。

本文记录CentOs7下手动开启bbr加速。

1、查看当前内核

uname -r
如果内核低于4.9需要升级内核

2、导入ELRepo公钥

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

3、安装ELRepo

#现在官网提供(centos6,centos7,centos8源)我这里是centos7.x版本所以选择了7
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm -y

4、查看ELRepo提供的内核版本

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

5、安装kernel-ml内核,此步安装时间可能比较长,耐心等待并非卡住了

#kernel-lt:表示longterm,即长期支持的内核;当前为4.4.*。
#kernel-ml:表示mainline,即当前主线的内核;当前为5.2.*
yum --disablerepo='*' --enablerepo=elrepo-kernel install kernel-ml -y
这一步结束后提示
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7 error was
12: Timeout on http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7: (28, 'Connection timed out after 30001 milliseconds')
* elrepo-kernel: mirror.rackspace.com
没有可用软件包 kernel-ml。
错误:无须任何处理
这个错误表示系统尝试从 mirrors.elrepo.org 获取 elrepo-kernel 镜像列表时超时,导致无法找到 kernel-ml 软件包。这可能是由于网络问题或镜像源本身的问题导致的。
需要手动安装
库文件:https://dl.lamp.sh/kernel/el7
手动下载和安装

wget https://dl.lamp.sh/kernel/el7/kernel-ml-5.5.4-1.el7.elrepo.x86_64.rpm

sudo rpm -ivh kernel-ml-*.rpm

更新 YUM 缓存

尝试清除 yum 缓存并重新生成:

sudo yum clean all
sudo yum makecache

然后再尝试安装:

yum --disablerepo='*' --enablerepo=elrepo-kernel install kernel-ml -y

或者
sudo yum install kernel-ml
继续安装提示错误
sudo yum install kernel-ml
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrors.elrepo.org/mirrors-elrepo.el7 error was
12: Timeout on http://mirrors.elrepo.org/mirrors-elrepo.el7: (28, 'Connection timed out after 30001 milliseconds')
* elrepo: linux-mirrors.fnal.gov
你遇到的这个问题仍然是由于无法访问 elrepo 镜像源导致的。具体表现为从 mirrors.elrepo.org 获取镜像列表时出现超时错误。这通常是由于网络连接问题或镜像源临时不可用造成的。

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo

sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo

sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo

sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo

手动安装 elrepo

地址https://elrepo.org/linux/kernel/el7/x86_64/RPMS/elrepo-release-7.0-8.el7.elrepo.noarch.rpm

首先下载

wget http://elrepo.org/linux/kernel/el7/x86_64/RPMS/elrepo-release-7.0-8.el7.elrepo.noarch.rpm

然后安装内核

       sudo rpm -ivh kernel-ml-*.rpm

尝试清除 yum 缓存并重新生成:

sudo yum clean all
sudo yum makecache
安装完毕后使用下面的命令查看是否安装成功。
rpm -qa | grep kernel
显示:
kernel-3.10.0-1160.15.2.el7.x86_64
kernel-ml-5.5.4-1.el7.elrepo.x86_64
kernel-tools-libs-3.10.0-1160.15.2.el7.x86_64
kernel-tools-3.10.0-1160.15.2.el7.x86_64
等等
设置内核启动顺序默认顺序从1开始
kernel-ml-5.5.4为2

里面kernel-ml-5.5.4-1.el7.elrepo.x86_64就是安装的新版版本内核(你看到这篇教程的时候可能内核版本有变化,随机应变)

接下来需要设置系统启动顺序,使用下面的命令。

sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'

我的显示如下:

CentOS Linux (5.5.4-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.15.2.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-96820b9851c24560b5f942f2496b9aeb) 7 (Core)

 

6、设置默认启动为新内核,然后更新 GRUB 并重启:

sudo grub2-set-default 0
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot

 

查看当前内核

uname -r

7、启用BBR

1. 开启BBR
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

2. 使配置生效 sysctl -p

3. 验证方法

sysctl -n net.ipv4.tcp_congestion_control

或:

lsmod | grep bbr

 

 

 

 

 

 

 

 

 

 

错误排查:

 

 

 

已加载插件:fastestmirror, langpacks elrepo-release-7.el7.elrepo.noarch.rpm | 8.7 kB 00:00:00 正在检查 /var/tmp/yum-root-61Zo1l/elrepo-release-7.el7.elrepo.noarch.rpm: elrepo-release-7.0-6.el7.elrepo.noarch /var/tmp/yum-root-61Zo1l/elrepo-release-7.el7.elrepo.noarch.rpm:不更新已安装的软件包。 错误:无须任何处理 怎么解决这个问题
ChatGPT 说:
ChatGPT

这个错误提示表明你尝试安装的 elrepo-release 软件包已经安装在系统中,因此无需再次安装。为了继续升级内核,你可以直接启用 elrepo-kernel 仓库并安装最新的内核,而无需重新安装 elrepo-release

你可以按照以下步骤继续:

1. 启用 elrepo-kernel 仓库

既然 elrepo-release 已经安装,那么 elrepo-kernel 仓库已经可用。你可以直接使用该仓库来安装最新的内核。

bash

sudo yum --enablerepo=elrepo-kernel install kernel-ml -y

2. 更新 GRUB 配置

安装完新内核后,设置系统启动时默认选择新内核,并更新 GRUB 配置。

bash

sudo grub2-set-default 0
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

3. 重启系统

安装完新内核后,重启系统以加载新内核。

bash

sudo reboot

4. 验证新内核

系统重启后,使用以下命令验证新内核是否成功加载:

bash

uname -r

如果显示的内核版本是 4.9 或更高版本,那么你就可以继续按照之前的步骤启用 BBR。

通过这些步骤,你应该能够成功安装新内核并启用 BBR。

 

4o

您说:
已加载插件:fastestmirror, langpacks Error getting repository data for elrepo-kernel, repository not found 如何解决
ChatGPT 说:
ChatGPT

这个错误表明系统未能找到 elrepo-kernel 仓库。以下是排查和解决这个问题的步骤:

1. 确认 elrepo-release 已正确安装

首先确认 elrepo-release 已正确安装。你可以通过以下命令查看是否安装了 elrepo-release

bash

rpm -qa | grep elrepo-release

如果输出中显示 elrepo-release,则说明已经安装。如果没有显示,则需要重新安装 elrepo-release

2. 重新安装 elrepo-release

如果 elrepo-release 没有正确安装,或者你希望确保它被正确配置,你可以尝试重新安装:

bash

sudo yum remove elrepo-release -y
sudo yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm -y

3. 检查并启用 elrepo-kernel 仓库

安装 elrepo-release 后,再次尝试启用并安装最新的内核:

bash

sudo yum --enablerepo=elrepo-kernel install kernel-ml -y

如果仍然遇到问题,请检查 elrepo 仓库配置文件是否存在,使用以下命令查看 /etc/yum.repos.d/ 目录中的 elrepo.repo 文件:

bash

ls /etc/yum.repos.d/elrepo.repo

如果文件存在,打开它并确保 [elrepo-kernel] 仓库部分未被注释并且已启用:

bash

sudo vi /etc/yum.repos.d/elrepo.repo

确保 [elrepo-kernel] 部分如下:

ini

[elrepo-kernel]
name=ELRepo.org Community Enterprise Linux Kernel Repository - el7
baseurl=http://elrepo.org/linux/kernel/el7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org

如果 enabled=0,将其改为 enabled=1

4. 清理 YUM 缓存并重试

如果仓库配置正确,但依然有问题,清理 YUM 缓存并重试:

bash

sudo yum clean all
sudo yum --enablerepo=elrepo-kernel install kernel-ml -y

通过这些步骤,你应该能够解决 elrepo-kernel 仓库找不到的问题,并成功安装最新内核。

 

4o

您说:
已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * elrepo: mirror.fcix.net * elrepo-kernel: mirror.fcix.net * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com elrepo | 3.0 kB 00:00:00 elrepo-kernel | 3.0 kB 00:00:00 没有可用软件包 kernel-ml。 错误:无须任何处理 怎么解决
ChatGPT 说:
ChatGPT

这个错误表明 elrepo-kernel 仓库已经被正确识别,但在该仓库中找不到 kernel-ml 包。这个问题可能是由于以下几个原因导致的:

  1. 镜像同步延迟或镜像不完整:你选择的镜像服务器可能尚未同步到最新的包,或者该镜像有问题。
  2. 仓库配置错误:仓库可能配置不正确,导致无法找到相应的软件包。

解决方法

1. 切换到其他镜像源

你可以尝试手动指定另一个 elrepo 镜像源,以确保可以下载到最新的 kernel-ml 包。例如:

编辑 /etc/yum.repos.d/elrepo.repo 文件:

bash

sudo vi /etc/yum.repos.d/elrepo.repo

找到 [elrepo-kernel] 部分,将 baseurl 更改为:

ini

[elrepo-kernel]
name=ELRepo.org Community Enterprise Linux Kernel Repository - el7
baseurl=http://mirrors.coreix.net/elrepo/kernel/el7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org

保存并退出,然后清理缓存并重新尝试安装:

bash

sudo yum clean all
sudo yum --enablerepo=elrepo-kernel install kernel-ml -y

2. 检查仓库元数据

如果更换镜像源仍然无法解决问题,可以尝试手动更新仓库元数据并强制刷新包列表:

bash

sudo yum clean all
sudo yum makecache --enablerepo=elrepo-kernel
sudo yum --enablerepo=elrepo-kernel list available

再尝试安装 kernel-ml

bash

sudo yum --enablerepo=elrepo-kernel install kernel-ml -y

3. 手动下载并安装内核包

如果仍然无法通过 YUM 安装 kernel-ml,你可以手动从 ELRepo 网站下载并安装最新的内核包。

  1. 访问 ELRepo kernel 下载页面
  2. 找到最新版本的 kernel-ml 包,例如:
    • kernel-ml-<version>.el7.x86_64.rpm
    • kernel-ml-devel-<version>.el7.x86_64.rpm
  3. 下载这些包并使用 rpm 命令手动安装:

    bash

    sudo rpm -ivh kernel-ml-*.rpm kernel-ml-devel-*.rpm
  4. 更新 GRUB 并重启系统:

    bash

    sudo grub2-set-default 0
    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    sudo reboot

通过这些步骤,你应该能够成功安装 kernel-ml 并启用新的内核。

 

4o

您说:
ELRepo kernel 下载页面
ChatGPT 说:
ChatGPT

你可以访问以下链接,直接浏览 ELRepo 提供的最新内核包:

ELRepo Kernel 下载页面

在这个页面上,你会找到最新的 kernel-mlkernel-ml-devel RPM 包。你可以选择适合你系统的内核版本进行下载和安装。下载后,使用 rpm 命令手动安装这些包。

 

4o

您说:
ELRepo kernel 下载页面 链接
ChatGPT 说:
ChatGPT

你可以通过以下链接访问 ELRepo 的 Kernel 下载页面:

ELRepo Kernel 下载页面

这个链接将带你到 ELRepo 提供的所有 CentOS 7 兼容内核版本的下载页面,你可以选择适合你的 kernel-ml 包进行下载和安装。

 

4o

您说:
ELRepo kernel 下载页面 链接 显示出来连接 不要加锚文本
您说:
已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * elrepo: mirror.fcix.net * elrepo-kernel: mirror.fcix.net * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com elrepo | 3.0 kB 00:00:00 elrepo-kernel | 3.0 kB 00:00:00 没有可用软件包 kernel-ml。 错误:无须任何处理
ChatGPT 说:
ChatGPT

如果你仍然无法通过 YUM 安装 kernel-ml,可以尝试以下几种方法来解决这个问题:

1. 手动下载并安装内核

你可以直接从 ELRepo 的官方网站手动下载 kernel-ml 包,然后使用 rpm 命令进行安装。以下是步骤:

  1. 访问 ELRepo Kernel 下载页面打开浏览器,访问以下链接:

    bash

    http://elrepo.org/linux/kernel/el7/x86_64/RPMS/
  2. 下载内核包在页面上找到你想要的 kernel-ml 包及其相关的 kernel-ml-devel 包。通常你需要下载以下两个包:
    • kernel-ml-<version>.el7.x86_64.rpm
    • kernel-ml-devel-<version>.el7.x86_64.rpm

    例如,假设最新版本是 kernel-ml-6.1.0,你需要下载:

    • kernel-ml-6.1.0-1.el7.x86_64.rpm
    • kernel-ml-devel-6.1.0-1.el7.x86_64.rpm
  3. 使用 rpm 命令安装内核下载完成后,通过以下命令手动安装这些包:

    bash

    sudo rpm -ivh kernel-ml-*.rpm kernel-ml-devel-*.rpm
  4. 更新 GRUB 并重启系统安装完成后,更新 GRUB 配置并重启系统以启用新内核:

    bash

    sudo grub2-set-default 0
    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    sudo reboot

2. 检查仓库配置

如果你更愿意通过 YUM 来安装内核,可以尝试以下操作:

  1. 清理缓存先清理 YUM 缓存,并重新生成缓存:

    bash

    sudo yum clean all
    sudo yum makecache
  2. 手动启用 ELRepo-Kernel 仓库并检查包强制启用 elrepo-kernel 仓库,并检查包是否可用:

    bash

    sudo yum --enablerepo=elrepo-kernel list available | grep kernel-ml

如果以上方法都无法解决问题,那么手动下载并安装内核包通常是最直接的解决方案。

 

4o

您说:
vps 远程下载文件 并且安装命令
ChatGPT 说:
ChatGPT

在远程 VPS 上下载文件并安装软件可以通过命令行工具来完成。以下是具体的步骤,假设你已经通过 SSH 登录到 VPS:

1. 使用 wgetcurl 下载文件

你可以使用 wgetcurl 命令来下载文件。这两个工具是常用的命令行下载器。

  • 使用 wget

    bash

    wget http://example.com/path/to/file
  • 使用 curl

    bash

    curl -O http://example.com/path/to/file

2. 安装下载的软件包

下载完成后,你可以使用相应的包管理器或安装工具来安装这个文件。以下是几种常见的安装方法:

安装 RPM 包

如果你下载的是 .rpm 包(适用于 CentOS/RHEL 系统),使用 rpm 命令安装:

bash

sudo rpm -ivh file.rpm

或者使用 yum 安装:

bash

sudo yum install file.rpm

安装 DEB 包

如果你下载的是 .deb 包(适用于 Debian/Ubuntu 系统),使用 dpkg 命令安装:

bash

sudo dpkg -i file.deb

或者使用 apt 安装:

bash

sudo apt install ./file.deb

安装脚本

如果你下载的是脚本文件,比如 .sh 文件,你可以先赋予它执行权限,然后运行它:

bash

chmod +x script.sh
sudo ./script.sh

3. 示例:下载并安装内核包

以下载并安装一个内核包为例:

  1. 下载内核包:

    bash

    wget http://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-ml-6.1.0-1.el7.x86_64.rpm
    wget http://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-ml-devel-6.1.0-1.el7.x86_64.rpm
  2. 安装内核包:

    bash

    sudo rpm -ivh kernel-ml-6.1.0-1.el7.x86_64.rpm kernel-ml-devel-6.1.0-1.el7.x86_64.rpm
  3. 更新 GRUB 并重启:

    bash

    sudo grub2-set-default 0
    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    sudo reboot

4. 自动化脚本

如果需要重复操作,或者你希望将下载和安装步骤自动化,可以编写一个简单的 Shell 脚本。例如:

bash

#!/bin/bash

# 下载文件
wget http://example.com/path/to/file

# 安装文件
sudo rpm -ivh file.rpm

# 更新 GRUB
sudo grub2-set-default 0
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

# 重启系统
sudo reboot

保存为 install_script.sh,然后赋予执行权限并运行:

bash

chmod +x install_script.sh
./install_script.sh

通过以上步骤,你可以轻松地在 VPS 上下载和安装文件。

 

 

 

 

 

 

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: