banner
moeyy

moeyy

一条有远大理想的咸鱼。
github
mastodon
email

OpenVZのTCPのBBR最適化改良版

前言#

BBR は Google がオープンソースで公開した TCP の輻輳制御アルゴリズムで、Ryusoku よりも使いやすいと言われています。具体的な使用方法は自己判断してください。

使用方法#

テスト済みのシステム:Ubuntu 14.04 x64、Ubuntu 16.04 x64、CentOS 6 x64、CentOS 7 x64 のみ 64 ビットシステムをサポートし、glibc バージョン 2.14 以上が必要です。インストール

wget https://down.moehu.org/shell/ovz-bbr-installer.sh
chmod +x ovz-bbr-installer.sh
./ovz-bbr-installer.sh

アンインストール

./ovz-bbr-installer.sh uninstall

glibc の更新#

CentOS 6 の glibc を更新するには、まず次のファイルをダウンロードします:

wget http://ftp.redsleeve.org/pub/steam/glibc-2.15-60.el6.x86_64.rpm
http://ftp.redsleeve.org/pub/steam/glibc-common-2.15-60.el6.x86_64.rpm
http://ftp.redsleeve.org/pub/steam/glibc-devel-2.15-60.el6.x86_64.rpm
http://ftp.redsleeve.org/pub/steam/glibc-headers-2.15-60.el6.x86_64.rpm
http://ftp.redsleeve.org/pub/steam/nscd-2.15-60.el6.x86_64.rpm

次にインストールします:

rpm -Uvh glibc-2.15-60.el6.x86_64.rpm
glibc-common-2.15-60.el6.x86_64.rpm
glibc-devel-2.15-60.el6.x86_64.rpm
glibc-headers-2.15-60.el6.x86_64.rpm
nscd-2.15-60.el6.x86_64.rpm

上記の手順で更新できない場合は、手動でコンパイルして更新することもできます(ユーザーからの方法):

wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz
wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz
tar -zxf glibc-2.15.tar.gz
tar -zxf glibc-ports-2.15.tar.gz
mv glibc-ports-2.15 glibc-2.15/ports
mkdir glibc-build-2.15
cd glibc-build-2.15
../glibc-2.15/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make all && make install

確認してください:

# ldd --version

ldd (GNU libc) 2.15
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
glibc 2.15 にアップグレードしました。
BBR が正常に動作しているかどうかを判断する

BBR が正常に起動しているかどうかを確認するために、ping 10.0.0.2 を試してみることができます。通信できれば、BBR が既に起動していることを意味します。
次に iptables のルールを確認します

iptables -t nat -nL

Chain PREROUTING (policy ACCEPT)
target prot opt source destination
LKL_IN all -- 0.0.0.0/0 0.0.0.0/0

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain LKL_IN (1 references)
target prot opt source destination
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8989 to:10.0.0.2
内部に LKL_IN というチェーンが追加され、対応するポートルールが含まれています。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。