ホーム 経験・テクニック共有 標準記事

標準記事

CentOS7に新しいカーネルをインストールし、BBR加速を有効にするチュートリアル_BBR2ワンクリックパッケージ

BBRはGoogleがオープンソース化したTCPネットワーク輻輳最適化アルゴリズムで、訪問者のサーバーへのアクセス速度を向上させることができます。特に海外サーバーでは、BBRアルゴリズムを有効にすることでサイトの最適化に役立ちます。ここではNaibaがCentOS7システムを使用して、新しいカーネル(BBRにはカーネル4.9以上が必要)をインストールし、BBRを有効にする方法を説明します…

2019年12月7日更新 約 9 分で読めます
CentOS7安装新版内核和开启BBR加速教程_BBR2一键包

BBRはGoogleがオープンソースで公開しているTCPネットワーク輻輳最適化アルゴリズムで、訪問者からサーバーへのアクセス速度を向上させることができます。特に海外サーバーの場合、bbrアルゴリズムを有効にすると、サイト最適化一定の役に立ちます。

ここではNaibaがCentOS7システムを使用して、新しいカーネル(BBRにはカーネル4.9以上が必要)をインストールし、BBRアクセラレーションを有効にする方法を説明します。

CentOS7に新しいカーネルをインストールする手順

まず、現在のサーバーのカーネルバージョンを確認します。

uname -sr

unameコマンドは、現在のシステム関連情報(カーネルバージョン、ハードウェアアーキテクチャ、ホスト名、OSタイプなど)を表示するために使用されます。

-a或--all:显示全部的信息;
-m或--machine:显示电脑类型;
-n或-nodename:显示在网络上的主机名称;
-r或--release:显示操作系统的发行编号;
-s或--sysname:显示操作系统名称;
-v:显示操作系统的版本;
-p或--processor:输出处理器类型或"unknown";
-i或--hardware-platform:输出硬件平台或"unknown";
-o或--operating-system:输出操作系统名称;
--help:显示帮助;
--version:显示版本信息。

BBRのカーネル要件は4.9+です。通常、上記のコマンドで表示されるカーネルバージョンは3.xです。

次にELRepoリポジトリを有効にします

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

ELRepo 仓库

次に、新しい安定版カーネルをインストールします。

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

インストール完了後、以下のコマンドを使用してインストールが成功したかどうかを確認します。

rpm -qa | grep kernel

私の表示は以下の通りです:

kernel-3.10.0-862.14.4.el7.x86_64
kernel-ml-5.3.8-1.el7.elrepo.x86_64
kernel-3.10.0-1062.4.1.el7.x86_64
kernel-headers-3.10.0-1062.4.1.el7.x86_64
kernel-3.10.0-957.5.1.el7.x86_64
kernel-3.10.0-1062.1.2.el7.x86_64
kernel-tools-3.10.0-1062.4.1.el7.x86_64
kernel-tools-libs-3.10.0-1062.4.1.el7.x86_64
kernel-3.10.0-957.1.3.el7.x86_64

kernel-ml-5.3.8-1.el7.elrepo.x86_64がインストールされた新しいカーネルバージョンです(このチュートリアルを読んでいる時点でカーネルバージョンが変わっている可能性があるので、臨機応変に対応してください)

次に、システムの起動順序を設定する必要があります。以下のコマンドを使用します。

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

私の表示は以下の通りです:

CentOS Linux (5.3.8-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1062.4.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1062.1.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.5.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.1.3.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-862.14.4.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-618ca2de6e204efbb013b592564ef36a) 7 (Core)

最初に表示されるのはCentOS Linux (5.3.8-1.el7.elrepo.x86_64) 7 (Core)です。最初の行を0として、0、1、2、3と数え、新しいカーネルが何番目かを確認します。
次に以下のコマンドを入力します(コマンド例は1行目の場合)

sudo grub2-set-default 0

次にサーバーを再起動します。

reboot

再度カーネルバージョンを確認します。

uname -r

カーネルバージョンが4.9以上であることを確認します。この記事の更新時点では新しいバージョンは5.3.8で、インストール成功です。

カーネル設定を再構築

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

システムを再起動して確認し、問題なければ完了です。

 

CentOS7の新しいカーネルでBBRを有効にする

新しくインストールしたCentOS7で新しいカーネルを有効にするには、以下のコードをコピーして実行するだけです。

echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

次に、以下のコマンドを入力してBBRが正常に有効になったかどうかを確認します。

sudo sysctl net.ipv4.tcp_available_congestion_control

成功した場合、以下のような出力が表示されるはずです。

net.ipv4.tcp_available_congestion_control = bbr cubic reno

さらに検証を続けます。

sudo sysctl -n net.ipv4.tcp_congestion_control

出力は以下のようになるはずです。

bbr

最後に、カーネルモジュールがロードされているかどうかを確認します。

lsmod | grep bbr

出力は以下のようなものになるはずです。

tcp_bbr 16384 0

BBRを有効にするメリットは何ですか?

簡単に言うと、BBRを有効にすることでサイトのアクセス速度をある程度最適化できます。例えば、NaibaのノートはWordPressを使用しており、BBRによってWordPressサイトをある程度高速化できます。もちろん、Naibaは国内サーバーを使用しているため、BBRの効果はそれほど顕著ではありません。

BBRはGoogleがオープンソース化したTCPネットワーク輻輳最適化アルゴリズムです。TCP BBRは2つの問題の解決を目指しています:ある程度のパケットロスがあるネットワークリンクで帯域幅を最大限に活用すること。ネットワークリンク上のバッファ占有率を低減し、遅延を削減すること。TCP輻輳制御の目標は、ネットワーク上のボトルネックリンクの帯域幅を最大化することです。

オープンソースアドレス:https://github.com/google/bbr

BBRおよびBBR2ワンクリックパッケージ

BBR2とは何ですか?

BBR2は現在プレビュー版であり、BBRのアップグレードバージョンですが、まだ十分に成熟しておらず、本番環境での使用は推奨されません。

BBR2の詳細については、以下を参照してください:https://github.com/google/bbr/blob/v2alpha/README.md

また、READMEファイルにはBBR2の手動インストール手順が含まれていますので、ここではコピーしません。

bbr2ワンクリックパッケージ

警告:カーネル交換にはリスクが伴います。本スクリプトを使用した後に起動不能となり損害が生じても、一切の責任を負いかねます。

推奨システム:Debian 10 x86_64。理論上はDebian 8+、Ubuntu 16.04+をサポートします。

KVM仮想アーキテクチャのVPSにのみ適用可能です。OVZ、Xen、または専用サーバーの場合は試さないでください。

64ビット(x86_64)システムのみ対応。x86は非対応です。CentOSおよびその他のシステムはサポートされません

BandwagonHostのDebian 8、9、10、Ubuntu 16.04、18.04でテスト済み(Ubuntu 14.04は失敗)。

以下の事業者のDebian 10システムでテスト済み:Oracle Public Cloud、DMIT、OLVPS、AlibabaCloud。
Debian 10でのインストール成功率は100%です。

CentOSシステムのユーザーは、bbrを使用するか、手動でbbr2をインストールすることをお勧めします。

wget --no-check-certificate -q -O bbr2.sh "https://raw.githubusercontent.com/yeyingorg/bbr2.sh/master/bbr2.sh" && chmod +x bbr2.sh && bash bbr2.sh auto

重要!BBR/ECNを有効/無効にした後は、システムを再起動してください。スクリプトにバグがあり、効果が発揮されなかったり、古いbbrなどのアクセラレーションと共存してしまう可能性があります。

BBRワンクリックパッケージ

bbrワンクリックパッケージは対応システムが多いですが、前提としてカーネルバージョンがbbrをサポートしている必要があります。カーネルバージョンが対応していない場合は、手動でカーネルを更新する必要があります。

対応システム:CentOS 6+、Debian 7+、Ubuntu 12+。
仮想化技術:OpenVZ以外(KVM、Xen、VMwareなど)。
メモリ要件:128MB以上。

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

bbr plusワンクリックパッケージ

bbr plusは、オリジナルのbbrをベースにパラメータ最適化を行ったもので、一部のマシンではオリジナルよりも高速化効果が優れています。

本記事で紹介するBBR Plusワンクリックインストールスクリプトは、ユーザーcx9208によるものです。BBR Plusの他に、オリジナルBBRワンクリックインストール、改造BBRワンクリックインストール、锐速(lotServer)ワンクリックインストールも統合された4-in-1バージョンで、4つのバージョンを切り替えて使用できます。

対応アーキテクチャ:KVM / Xen。OpenVZ(OVZ)は非対応。

対応システム:CentOS 7、Debian 8、Debian 9、Ubuntu 16.04、Ubuntu 18.04。

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
4.3/5 - (18 投票)
前の記事 robots.txtとは_WordPressの正しいrobotsの書き方と生成ツール 同じタイムラインの近くのコンテンツを読み続ける。 次の記事 Alibaba Cloud仮想ホスティングでWordPressサイトを構築する図解チュートリアル 次の関連チュートリアルや経験を表示する。

AIサイト構築アシスタント

🤖
こんにちは!私はNaibaサイト構築ノートのAIアシスタントです。何かお手伝いできることはありますか?
クイックコンサルティング: