搬瓦工 VPS Ubuntu 16.04 手动升级内核开启 BBR 的方法

说起来你们可能不信,今天为了给昨天新买的搬瓦工的几台 VPS 安装个 BBR,折腾了一个多小时。之前的一键安装包在 Ubuntu 16.04 上突然不好使了,老是提示错误,不知道是个例还是普遍现象,在这里先分享一下手动升级内核开启 BBR 的方法。

话说回来,昨天补货我买了 5 台年付 18.79 美元的(相关链接),接下来会陆续搭建演示站点。

错误提示

当使用之前分享的一键安装包安装 BBR 时(搬瓦工安装 BBR 教程),总是提示下面的错误:

Selecting previously unselected package linux-image-4.14.36-041436-generic.
(Reading database ... 92043 files and directories currently installed.)
Preparing to unpack linux-image-4.14.36-i386.deb ...
Unpacking linux-image-4.14.36-041436-generic (4.14.36-041436.201804240906) ...
dpkg: dependency problems prevent configuration of linux-image-4.14.36-041436-generic:
 linux-image-4.14.36-041436-generic depends on linux-modules-4.14.36-041436-generic; however:
  Package linux-modules-4.14.36-041436-generic is not installed.

dpkg: error processing package linux-image-4.14.36-041436-generic (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 linux-image-4.14.36-041436-generic
removed 'linux-image-4.14.36-i386.deb'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.14.36-041436-generic
Found linux image: /boot/vmlinuz-4.4.0-121-generic
Found initrd image: /boot/initrd.img-4.4.0-121-generic
Found linux image: /boot/vmlinuz-4.4.0-62-generic
Found initrd image: /boot/initrd.img-4.4.0-62-generic
done

尝试了好几个不同版本的内核,自动安装时都提示这个错误。网上搜了下并没有搜到这个问题,如果强行重启的话就是启动不起来了。于是只能尝试手动安装。

手动升级内核

下面先手动升级一下内核,我选择的是升级到 4.14,更多版本可以自己前往:

http://kernel.ubuntu.com/~kernel-ppa/mainline/

进行挑选。

下面直接复制我安装的整个过程,重要部分用粗体加粗以及添加了注释,注意查看。

第一步下载内核就不用多说了吧?比如我选的是 4.14,那么就在 http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.14/ 挑选出 linux-image-4.14.0-041400-generic-xxxxx_amd64.deb(或者 i386,根据你操作系统是 64 位还是 32 位进行选择)。挑选完后复制链接,直接在 VPS 里 wget 即可(wget command not found?自己解决吧)。

然后开始安装。一共就两步:

安装内核:

dpkg -i linux-image-4.14.0-041400-generic_4.14.0-041400.201711122031_amd64.deb

更新 grub:

/usr/sbin/update-grub

如果提示错误,配置一下 dpkg:

dpkg --configure -a

详细步骤如下所示。

root@ubuntu:~# dpkg -i linux-image-4.14.0-041400-generic_4.14.0-041400.201711122031_amd64.deb // 换成你下载的对应的内核名称
Selecting previously unselected package linux-image-4.14.0-041400-generic.
(Reading database ... 64836 files and directories currently installed.)
Preparing to unpack linux-image-4.14.0-041400-generic_4.14.0-041400.201711122031_amd64.deb ...
Done.
Unpacking linux-image-4.14.0-041400-generic (4.14.0-041400.201711122031) ...
dpkg: dependency problems prevent configuration of linux-image-4.14.0-041400-generic:
 linux-image-4.14.0-041400-generic depends on kmod; however:
  Package kmod is not configured yet.

dpkg: error processing package linux-image-4.14.0-041400-generic (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 linux-image-4.14.0-041400-generic
root@ubuntu:~# dpkg --configure -a // 第一次安装提示失败,需要配置一下 dpkg
Setting up git-man (1:2.7.4-0ubuntu1.3) ...
 ......... 中间省略 ..........
17 added, 42 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Processing triggers for systemd (229-4ubuntu21.1) ...
Processing triggers for ureadahead (0.100.0-19) ...
Errors were encountered while processing:
 linux-generic
root@ubuntu:~# dpkg -i linux-image-4.14.0-041400-generic_4.14.0-041400.201711122031_amd64.deb // 再次尝试安装
(Reading database ... 71021 files and directories currently installed.)
Preparing to unpack linux-image-4.14.0-041400-generic_4.14.0-041400.201711122031_amd64.deb ...
Done.
Unpacking linux-image-4.14.0-041400-generic (4.14.0-041400.201711122031) over (4.14.0-041400.201711122031) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.14.0-041400-generic /boot/vmlinuz-4.14.0-041400-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.14.0-041400-generic /boot/vmlinuz-4.14.0-041400-generic
Setting up linux-image-4.14.0-041400-generic (4.14.0-041400.201711122031) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
Not updating initrd symbolic links since we are being updated/reinstalled 
(4.14.0-041400.201711122031 was configured last, according to dpkg)
Not updating image symbolic links since we are being updated/reinstalled 
(4.14.0-041400.201711122031 was configured last, according to dpkg)
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.14.0-041400-generic /boot/vmlinuz-4.14.0-041400-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.14.0-041400-generic /boot/vmlinuz-4.14.0-041400-generic
update-initramfs: Generating /boot/initrd.img-4.14.0-041400-generic
W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.14.0-041400-generic /boot/vmlinuz-4.14.0-041400-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.14.0-041400-generic /boot/vmlinuz-4.14.0-041400-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.14.0-041400-generic /boot/vmlinuz-4.14.0-041400-generic
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.14.0-041400-generic
Found initrd image: /boot/initrd.img-4.14.0-041400-generic
Found linux image: /boot/vmlinuz-4.4.0-121-generic
Found initrd image: /boot/initrd.img-4.4.0-121-generic
Found linux image: /boot/vmlinuz-4.4.0-62-generic
Found initrd image: /boot/initrd.img-4.4.0-62-generic
done
root@ubuntu:~# /usr/sbin/update-grub  //内核安装成功,更新 grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.14.0-041400-generic
Found initrd image: /boot/initrd.img-4.14.0-041400-generic
Found linux image: /boot/vmlinuz-4.4.0-121-generic
Found initrd image: /boot/initrd.img-4.4.0-121-generic
Found linux image: /boot/vmlinuz-4.4.0-62-generic
Found initrd image: /boot/initrd.img-4.4.0-62-generic
done

开启 BBR

内核升级完成后,重启一下,然后开启 BBR。

开启 BBR 一共需要这么几个命令:

sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf
sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf
echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
sysctl -p >/dev/null 2>&1

当然,如果你嫌麻烦,这时候也可以把之前那篇一键安装 BBR 的文章里的那个一键脚本拿过来运行一遍(传送门:搬瓦工 VPS 开启谷歌 BBR 教程),这时候因为已经升级完内核,那个脚本会自动帮你开启 BBR。

检查、收尾

然后就成功了,用 uname -r 检查一下内核版本,用 lsmod | grep bbr 看一下 bbr 是否已经开启,一般都没毛病。我安装完后 apt update 了一下提示我有问题,但是用 apt -f install 即可解决。

还没买年付 18.79 美元的新一代搬瓦工传家宝,就赶紧去买一台吧!直达链接:搬瓦工年付 18.79 美元传家宝方案

未经允许不得转载:Bandwagonhost中文网 » 搬瓦工 VPS Ubuntu 16.04 手动升级内核开启 BBR 的方法