共计 1612 个字符,预计需要花费 5 分钟才能阅读完成。
Google BBR 是一款 TCP 加速工具,但要求 Linux 内核必须大于 4.9,之前分享过文章《CentOS 一键升级内核并开启 Google BBR》,这个方法虽然方便,但是发现在 Raksmart 上升级失败了,于是尝试手动升级内核。
CentOS 7 升级最新内核
# 导入 ELRepo 公钥
wget https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm --import RPM-GPG-KEY-elrepo.org
#安装 ELRepo
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
#升级最新内核
yum --enablerepo=elrepo-kernel install kernel-ml -y
内核升级完成后老的内核和新的会同时存在,CentOS 7 使用 grub2 引导程序,需要将最新内核优先级调整最高。先输入命令 cat /boot/grub2/grub.cfg|grep menuentry
查找所有内核,并找出最新内核的全名,并记录下来,如下截图。
# 设置最新内核(请输入上面查询到的最新内核)grub2-set-default "CentOS Linux (4.14.14-1.el7.elrepo.x86_64) 7 (Core)"
#设置完毕后,输入下面的命令查看是否成功
grub2-editenv list
[root@test2018119 ~]# grub2-editenv list
saved_entry=CentOS Linux (4.14.14-1.el7.elrepo.x86_64) 7 (Core)
#ok,没问题重启服务器生效
reboot
CentOS 6 升级最新内核
# 导入 ELRepo 公钥
wget https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm --import RPM-GPG-KEY-elrepo.org
#安装 ELRepo
rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
#升级最新内核
yum --enablerepo=elrepo-kernel install kernel-ml -y
升级完毕后修改 /etc/grub.conf
将 default= 0 修改为 default=1,然后 reboot
重启服务器。
查看内核是否升级成功
输入 uname -r
可查看当前内核,如果大于 4.9 说明已经成功了,如果操作后发现你系统网络不通了,估计是升级失败挂掉了,这种情况只能从 VNC 控制台进入,参照上面的方式修改为原来老的内核启动。
# 内核大于 4.9
[root@test2018119 ~]# uname -r
4.14.14-1.el7.elrepo.x86_64
开启 BBR
直接复制下面的命令即可:
# 修改配置
cat >>/etc/sysctl.conf
输入下面的命令来检测,如果看到返回的结果包含 bbr 说明成功了,如下截图。
[root@test2018119 ~]# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr cubic reno
[root@test2018119 ~]# lsmod | grep bbr
tcp_bbr 20480 0
总结
优先推荐使用秋水逸冰的一键脚本升级内核《CentOS 一键升级内核并开启 Google BBR》,如果失败了可以尝试上述方法手动升级。此方法适用于 KVM/XEN 虚拟化,OpenVZ 虚拟化 VPS 请不要操作,一般不会成功,建议不要在生产环境操作,以免出现异常。
此文部分内容参考了:
ELRepo : HomePage
CentOS6.X 升级内核 Kernel
Centos 7 修改内核启动顺序