小版本升级
1. 查看当前和可升级版本
[root@server-1 ~]# yum list kernel
Installed Packages
kernel.x86_64 3.10.0-957.el7 @anaconda
Available Packages
kernel.x86_64 3.10.0-957.5.1.el7 updates
2. 升级
[root@server-1 ~]# yum update kernel -y
大版本升级
1. 载入公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2. 升级安装ELRepo
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
3. 载入elrepo-kernel元数据
yum --disablerepo=\* --enablerepo=elrepo-kernel repolist
4. 查看可用的rpm包
yum --disablerepo=\* --enablerepo=elrepo-kernel list kernel*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* elrepo-kernel: ftp.ne.jp
Installed Packages
kernel.x86_64 3.10.0-1160.el7 installed
kernel.x86_64 3.10.0-1160.15.2.el7 @updates
kernel-lt.x86_64 5.4.186-1.el7.elrepo @elrepo-kernel
kernel-lt-tools.x86_64 5.4.186-1.el7.elrepo @elrepo-kernel
kernel-lt-tools-libs.x86_64 5.4.186-1.el7.elrepo @elrepo-kernel
Available Packages
kernel-lt-devel.x86_64 5.4.186-1.el7.elrepo elrepo-kernel
kernel-lt-doc.noarch 5.4.186-1.el7.elrepo elrepo-kernel
kernel-lt-headers.x86_64 5.4.186-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs-devel.x86_64 5.4.186-1.el7.elrepo elrepo-kernel
kernel-ml.x86_64 5.16.16-1.el7.elrepo elrepo-kernel
kernel-ml-devel.x86_64 5.16.16-1.el7.elrepo elrepo-kernel
kernel-ml-doc.noarch 5.16.16-1.el7.elrepo elrepo-kernel
kernel-ml-headers.x86_64 5.16.16-1.el7.elrepo elrepo-kernel
kernel-ml-tools.x86_64 5.16.16-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 5.16.16-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 5.16.16-1.el7.elrepo elrepo-kernel
说明:
lt :long term support,长期支持版本;
ml:mainline,主线版本;
5. 安装最新版本的kernel
yum --disablerepo=\* --enablerepo=elrepo-kernel install kernel-lt.x86_64 -y
6. 删除旧版本工具包
yum remove kernel-tools-libs.x86_64 kernel-tools.x86_64 -y
7. 安装新版本工具包
yum --disablerepo=\* --enablerepo=elrepo-kernel install kernel-lt-tools.x86_64 -y
安装完查看
rpm -qa | grep kernel
kernel-lt-5.4.186-1.el7.elrepo.x86_64
kernel-lt-tools-5.4.186-1.el7.elrepo.x86_64
kernel-3.10.0-1160.el7.x86_64
kernel-3.10.0-1160.15.2.el7.x86_64
kernel-lt-tools-libs-5.4.186-1.el7.elrepo.x86_64
8. 查看内核插入顺序
awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (5.4.186-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.15.2.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
3 : CentOS Linux (0-rescue-3fbdb8b24a17e67dc83d346877013e3e) 7 (Core)
4 : CentOS Linux (0-rescue-cc2c86fe566741e6a2ff6d399c5d5daa) 7 (Core)
9. 查看当前实际启动顺序
grub2-editenv list
saved_entry=CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
10. 设置默认启动
grub2-set-default 'CentOS Linux (5.4.186-1.el7.elrepo.x86_64) 7 (Core)'
grub2-editenv list
saved_entry=CentOS Linux (5.4.186-1.el7.elrepo.x86_64) 7 (Core)
运行grub2-mkconfig命令来重新创建内核配置,如下:
grub2-mkconfig -o /boot/grub2/grub.cfg
/boot/grub2/grub.cfg与/etc/grub2.cfg为同一个文件
11. 重启并检查
reboot
uname -r
更新4.9以上版本内核后,启动bbr
echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
验证
sudo sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic bbr
sudo sysctl -n net.ipv4.tcp_congestion_control
bbr
最后看内核模块是否加载
lsmod | grep bbr
tcp_bbr 20480 5
 
centos7升级内核并启动bbr:等您坐沙发呢!