前几天全新安装了BT面板, 但是发现BT的系统监控记录在最新的4.19.0-1.el7.elrepo.x86_64内核上不起作用, 今天重装了一下系统, 把CentOS 7的内核升级到4.18.16-1.el7.elrepo.x86_64, 顺便记录一下.

i2PR39.md.jpg

查看现在运行的内核

uname -r

显示

3.10.0-862.14.4.el7.x86_64

先下载内核
http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/
下载地址好多, 我是顺便找的一个

wget http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-4.18.16-1.el7.elrepo.x86_64.rpm

wget http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-headers-4.18.16-1.el7.elrepo.x86_64.rpm

wget http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-4.18.16-1.el7.elrepo.x86_64.rpm

安装

yum install kernel-ml-4.18.16-1.el7.elrepo.x86_64.rpm -y
yum install kernel-ml-headers-4.18.16-1.el7.elrepo.x86_64.rpm -y
yum install kernel-ml-devel-4.18.16-1.el7.elrepo.x86_64.rpm -y

查看一下内核启动顺序

awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

显示如下

CentOS Linux (4.18.16-1.el7.elrepo.x86_64) 7 (Core) CentOS Linux
(3.10.0-862.14.4.el7.x86_64) 7 (Core) CentOS Linux
(3.10.0-693.21.1.el7.x86_64) 7 (Core) CentOS Linux
(3.10.0-693.el7.x86_64) 7 (Core) CentOS Linux
(0-rescue-fd7a7009a3684642a9a8cda0893748d1) 7 (Core)

i2PmfH.md.png

显示刚刚安装的4.18.16-1.el7.elrepo.x86_64排第一位

修改grub配置文件

vi /etc/default/grub

GRUB_DEFAULT=saved

修改为

GRUB_DEFAULT=0

i2PZkD.md.png

更新

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

i2PETO.png

重启CentOS

reboot

查看现在的内核

uname -r

已经变成

4.18.16-1.el7.elrepo.x86_64

再快速开启BBR加速

因为内核是4.9.x或以上, 那么可以直接开启

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

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

然后使其生效

sysctl -p

查看BBR是否安装成功

sysctl net.core.default_qdisc

如果返回下面的信息

net.core.default_qdisc = fq

再输入

sysctl net.ipv4.tcp_congestion_control

返回

net.ipv4.tcp_congestion_control = bbr

就说明安装成功了.

i2PDBV.png


如果你想安装最新的内核,

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

如果是centos 6.x
http://elrepo.org/tiki/tiki-index.php
rpm -Uvh https://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm

然后查看可用的内核列表

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

再安装最新的内核

yum --enablerepo=elrepo-kernel install kernel-ml.x86_64 kernel-ml-devel.x86_64 -y


当然, 如果觉得嫌麻烦, 也可以试试一键安装最新的内核, 并启用BBR脚本

yum install wget -y &>> /dev/null && mkdir ~/cloudapps && cd ~/cloudapps && wget -q http://mirror.cloudcone.net/centos/7/apps/install-bbr.sh -O ~/cloudapps/install-bbr.sh && bash ~/cloudapps/install-bbr.sh && rm -rf ~/cloudapps && cd


其他相关命令
显示所有内核

[[email protected] ~]# rpm -qa | grep kernel

kernel-tools-3.10.0-862.14.4.el7.x86_64
abrt-addon-kerneloops-2.1.11-50.el7.centos.x86_64
kernel-headers-3.10.0-862.14.4.el7.x86_64
kernel-tools-libs-3.10.0-862.14.4.el7.x86_64
kernel-devel-3.10.0-862.14.4.el7.x86_64
kernel-ml-4.19.0-1.el7.elrepo.x86_64 kernel-3.10.0-862.14.4.el7.x86_64

删除指定内核

[[email protected] ~]# yum remove kernel-ml-4.19.0-1.el7.elrepo.x86_64