分類
網摘

在 Debian 8 Jessie 中升級 Linux Kernel 到 4.9 以上,支援 Google BBR

 

Pre-processing

稼働しているアプリケーションを停止
Hyper-V 上の仮想マシンにチェックポイントを作成
カーネルのバージョンを確認

# uname -a

Linux debian8 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux

 

 

 

Update sources.list

パッケージの取得元に backports リポジトリを追加します。

# sudo vi /etc/apt/sources.list

deb http://http.debian.net/debian jessie-backports main
deb-src http://http.debian.net/debian jessie-backports main

 

 

Update package

パッケージリストを更新し、各種パッケージ(ディストリビューション)もついでに最新にしておきます。

# sudo apt-get update
# sudo apt-get dist-upgrade

 

 

Install the kernel

最新版のカーネルをインストールします。

# sudo apt-cache search linux-image
linux-headers-3.16.0-4-amd64 – Linux 3.16.0-4-amd64 用ヘッダファイル
linux-image-3.16.0-4-amd64 – 64 ビット PC 用 Linux 3.16
linux-image-3.16.0-4-amd64-dbg – Linux 3.16.0-4-amd64 のデバッグシンボル
linux-image-amd64 – 64 ビットマシン用 Linux (メタパッケージ)
linux-image-amd64-dbg – Linux amd64 構成向けデバッグシンボル (メタパッケージ)
linux-headers-4.2.0-0.bpo.1-amd64 – Header files for Linux 4.2.0-0.bpo.1-amd64
linux-image-4.2.0-0.bpo.1-amd64 – Linux 4.2 for 64-bit PCs
linux-image-4.2.0-0.bpo.1-amd64-dbg – Debugging symbols for Linux 4.2.0-0.bpo.1-amd64
# sudo apt-get install -t jessie-backports linux-image-amd64

 

 

Clean-up and reboot

インストールに使用したアーカイブファイルを削除し、OS を再起動します。

# sudo apt-get clean
# sudo reboot

 

 

Check the kernel version

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

# uname -a

Linux debian8 4.2.0-0.bpo.1-amd64 #1 SMP Debian 4.2.6-1~bpo8+1 (2015-11-18) x86_64 GNU/Linux

 

 

https://gist.github.com/minazou67/4bf63b463347558f3f01

 

============================================

 

開啟TCP BBR

只要Linux 發行版的Kernel 即內核版本大於等於4.9 即可開啟,開啟方法是通用的,如何升級至Kernel 將在下面介紹。

 

 

修改系統變量:


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

 

保存生效
sysctl -p
執行


sysctl net.ipv4.tcp_available_congestion_control

如果結果是這樣


”root@debian-512mb-sgp1-01:~# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr cubic reno

就開啟了。

行 lsmod | grep bbr,以檢測BBR是否開啟。

分類
網摘

Linux 升级内核开启 TCP BBR 实现高效单边加速 | 米饭粑

前言

自从锐速发布以来,这款牛逼的单边加速神器的确为一些线路不太优秀的服务器带来了更优秀的体验。但是呢,过高的价格和不再低端售卖。导致了我们并无法实现一个免费好用的单边加速功能。

但是捏,谷歌为我们带来了干货 新的 TCP 拥塞控制算法 BBR (Bottleneck Bandwidth and RTT)。 目前在 Linux Kernel 4.9 中加入了该算法,所以我们只要升级内核就可以爽一波了。

难懂的文言文,我们也不说了,TCP BBR 的目的就是要尽量跑满带宽,并且尽量不要有排队的情况。

下面介绍一下如何在 RHEL、CentOS、Debian 和 Ubuntu 还有其他系统开启 TCP BBR。

注: 更新内核有一定风险,请注意备份。

开启 TCP BBR

只要 Linux 发行版的 Kernel 即内核版本大于等于 4.9 即可开启,开启方法是通用的,如何升级至 Kernel 将在下面介绍。

修改系统变量:

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

保存生效

sysctl -p

执行

sysctl net.ipv4.tcp_available_congestion_control
如果结果是这样

“root@debian-512mb-sgp1-01:~# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr cubic reno

就开启了。

执行 lsmod | grep bbr,以检测 BBR 是否开启。

Debian、Ubuntu 升级内核至 4.9rc

内核下载地址:

Debian 64位:
http://mirrors.kernel.org/debian/pool/main/l/linux/linux-image-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.deb

Debian 32位:http://mirrors.kernel.org/debian/pool/main/l/linux/linux-image-4.9.0-rc8-686-unsigned_4.9~rc8-1~exp1_i386.deb

Ubuntu 64位:http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9-rc8/linux-image-4.9.0-040900rc8-generic_4.9.0-040900rc8.201612051443_amd64.deb

Ubuntu 32位: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9-rc8/linux-image-4.9.0-040900rc8-generic_4.9.0-040900rc8.201612051443_i386.deb

这里以 Debian 8 amd64 为例,其他 32bit 或者 Ubuntu 系统只要修改内核 deb 软件名称即可。

一、下载内核

wget http://mirrors.kernel.org/debian/pool/main/l/linux/linux-image-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.deb

二、安装内核

dpkg -i linux-image-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.deb

三、查看已经安装的内核

dpkg -l|grep linux-image

会反馈如下:

ii linux-image-3.16.0-4-amd64 3.16.36-1+deb8u2 amd64 Linux 3.16 for 64-bit PCs
ii linux-image-4.9.0-rc8-amd64-unsigned 4.9~rc8-1~exp1 amd64 Linux 4.9-rc8 for 64-bit PCs
ii linux-image-amd64 3.16+63 amd64 Linux for 64-bit PCs (meta-package)

四、卸载旧内核

apt-get remove `内核名`

五、更新引导并重启

update-grub #更新引导
reboot #重启
然后我们可以查看一下目前的内核版本:

root@debian-512mb-sgp1-01:~# uname -r
4.9.0-rc8-amd64

可见已经是最新的了。

RHEL、CentOS 升级内核至 4.9rc

因为 elrepo 方面并没有推出已经封装好的内核,所以我们这里借用 Debian 的内核为例。
这里以 CentOS 7 64bit 为例,教程需要系统最少 CentOS6

一、下载内核二进制包

wget http://mirrors.kernel.org/debian/pool/main/l/linux/linux-image-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.deb

二、解压安装

ar x linux-image-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.deb
tar -Jxf data.tar.xz
install -m644 boot/vmlinuz-4.9.0-rc8-amd64 /boot/vmlinuz-4.9.0-rc8-amd64
cp -Rav lib/modules/4.9.0-rc8-amd64 /lib/modules/
depmod -a 4.9.0-rc8-amd64

三、加入引导

dracut -f -v –hostonly -k ‘/lib/modules/4.9.0-rc8-amd64’ /boot/initramfs-4.9.0-rc8-amd64.img 4.9.0-rc8-amd64
grub2-mkconfig -o /boot/grub2/grub.cfg

四、修改引导顺序

1. 查看引导内有哪些内核

cat /boot/grub2/grub.cfg |grep menuentry
输入结果:

[root@centos-512mb-sgp1-01 ~]# cat /boot/grub2/grub.cfg |grep menuentry
if [ x”${feature_menuentry_id}” = xy ]; then
menuentry_id_option=”–id”
menuentry_id_option=””
export menuentry_id_option
menuentry ‘CentOS Linux (4.9.0-rc8-amd64) 7 (Core)’ –class centos –class gnu-linux –class gnu –class os –unrestricted $menuentry_id_option ‘gnulinux-4.9.0-rc8-amd64-advanced-508f0c60-8ce4-48fa-a00e-8db45fa56da8’ {
menuentry ‘CentOS Linux (3.10.0-327.36.3.el7.x86_64) 7 (Core)’ –class centos –class gnu-linux –class gnu –class os –unrestricted $menuentry_id_option ‘gnulinux-3.10.0-327.36.3.el7.x86_64-advanced-508f0c60-8ce4-48fa-a00e-8db45fa56da8’ {
menuentry ‘CentOS Linux (0-rescue-d45b6a27fe9641bd8979101342a4f20b) 7 (Core)’ –class centos –class gnu-linux –class gnu –class os –unrestricted $menuentry_id_option ‘gnulinux-0-rescue-d45b6a27fe9641bd8979101342a4f20b-advanced-508f0c60-8ce4-48fa-a00e-8db45fa56da8’ {

2.配置从默认内核启动,下面命令的内核名称根据系统内部查到的实际名称来替换:

grub2-set-default ‘CentOS Linux (4.9.0-rc8-amd64) 7 (Core)’

3.验证是否配置成功:

grub2-editenv list

输入结果:

saved_entry=CentOS Linux (4.9.0-rc8-amd64) 7 (Core)
重启就可以完成更新内核了!

原创文章转载请注明:转载自:Linux 升级内核开启 TCP BBR 实现高效单边加速

前言 自从锐速发布以来,这款牛逼的单边加速神器的确为一些线路不太优秀的服务器带来了更优秀的体验。但是呢,过高的价格和不再低端售卖。导致了我们并无法实现一个免费好用的单边加速功能。 但是捏,谷歌为我们带…

來源: Linux 升级内核开启 TCP BBR 实现高效单边加速 | 米饭粑

分類
網摘

開啟 TCP BBR 擁塞控制算法

BBR目的是要盡量跑滿帶寬,並且盡量不要有排隊的情況,效果並不比速銳差

Linux kernel 4.9已支持tcp_bbr下面簡單講述基於KVM架構VPS如何開啟

更新:
OpenVZ架構VPS開啟BBR

Debian 8 / Ubuntu 14

下載最新內核,最新內核查看這裡

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10/linux-image-4.10.0-041000-generic_4.10.0-041000.201702191831_amd64.deb

安裝內核
dpkg -i linux-image-4.10.0*.deb

刪除舊內核(可選)
dpkg -l|grep linux-image

apt-get purge 旧内核

更新grub系統引導文件並重啟

update-grub
reboot

CentOS 6

更換下載內核
最新內核查看這裡
rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
yum –enablerepo=elrepo-kernel install kernel-ml -y
查看內核是否安裝成功
rpm -qa | grep kernel
刪除舊內核(可選)
rpm -ev 旧内核
更新grub系統引導文件並重啟
sed -i ‘s:default=.*:default=0:g’ /etc/grub.conf
reboot
開不了機的打開vps後台控制面板的vnc,開機卡在grub引導,只需要手動選擇內核就可以了

CentOS 7

更換下載內核
最新內核查看這裡
rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum –enablerepo=elrepo-kernel install kernel-ml -y
查看內核是否安裝成功
rpm -qa | grep kernel
刪除舊內核(可選)
rpm -ev 旧内核
更新grub系統引導文件並重啟
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \’
grub2-set-default 0 #default 0表示第一个内核设置为默认运行, 选择最新内核就对了
reboot
注意,某些服務商(如Digital Ocean)可能需要首先將VPS配置為可自定義內核,然後grub2的配置才會生效。
開啟bbr

開機後uname -r 看看是不是內核4.9

執行

echo “net.core.default_qdisc=fq” >> /etc/sysctl.conf
echo “net.ipv4.tcp_congestion_control=bbr” >> /etc/sysctl.conf
保存生效
sysctl -p

執行

sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
如果結果都有bbr,則證明你的內核已開啟bbr

執行
lsmod | grep bbr
看到有tcp_bbr模塊即說明bbr已啟動
聯繫GitHub API 訓練 店 博客 關於

https://github.com/iMeiji/shadowsocks_install/wiki/%E5%BC%80%E5%90%AFTCP-BBR%E6%8B%A5%E5%A1%9E%E6%8E%A7%E5%88%B6%E7%AE%97%E6%B3%95

分類
網摘

Vultr VPS安装开启TCP BBR提速工具 附安装BBR前后速度对比 – Vultr中文网

最近,我们很多网友应该都看到Google开源TCP BBR拥塞控制算法(简称BBR),我们可以应用到常规的KVM和XEN架构的VPS、服务器中,用来提升服务器的速度。因为要涉及到内核的修改,Vultr中文网建议我们使用在一些非网站环境中的项目,比如搭建的上网工具据说有可以较大的提高速度。

來源: Vultr VPS安装开启TCP BBR提速工具 附安装BBR前后速度对比 – Vultr中文网

分類
網摘

Linux Kernel 4.9 中的 BBR 算法与之前的 TCP 拥塞控制相比有什么优势? – 知乎

少调整自己的速度,路况差,电驴多了免不了大量出事故,但BBR认为事故率在20%以下都是路况差而不是自己发车太多导致的追尾。两种一起发车时,大卡车总是撞到翻车的小电驴,总是没法加速,开在最慢速度慢慢爬。接下来会怎么样呢?很有可能是大卡车争先恐后地全改小电驴了。但是人家微软家,苹果家都没有小电驴生产线啊 。相反Google坐拥全球最多的大卡车生产厂,又发明了小电驴,分分钟全改小电驴厂了。按Google的体量,如果他率先大规模换BBR,按BBR打得cubic寸步难行的特性,其他厂要被逼着换BBR了,互联网交通规则就真的会被改写了。现在在我看来最说不清楚的就是那个丢包20%的cutoff,这意味着BBR理论上会产生20%的垃圾数据。无论如何,大规模的BBR实践将会带来一场灾难。

來源: Linux Kernel 4.9 中的 BBR 算法与之前的 TCP 拥塞控制相比有什么优势? – 知乎