centos 升级内核(离线版)
centos7升级内核(附图文超详细)_centos7升级内核版本-CSDN博客
(13 封私信 / 20 条消息) CentOS 7 升级 5.4 内核 - 知乎
Centos7离线方式升级内核_centos7 离线升级内核-CSDN博客
centos7默认的内核为3.10通常,linux是可以多内核共存的,因此不建议删除旧版本的内核,仅仅安装新版本内核后,grub选择新版本内核进入系统并使用即可,(谁也不敢保证新的内核就一定好用,毕竟留个旧的,以后想反悔也简单一点,对吧?)
查看当前内核版本
kernel-ml 安装的是主线版本,该版本比较激进,慎重选择
kernel-lt 安装的长期稳定版本,稳定可靠
这里我选择lt的版本下载选择的版本为
kernel-lt-5.4.204-1.el7.elrepo.x86_64.rpm
下载 包:
然后找到:
由于最新的阿里云的elrepo源已经没有了最新的包,所以yum升级内核比较麻烦,采用离线安装的方式升级
1、新建一个文件夹,并下载离线包
mkdir rpm && cd rpm
wget https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm \
&& wget https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64.rpm \
&& wget https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-doc-5.4.278-1.el7.elrepo.noarch.rpm \
&& wget https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-headers-5.4.278-1.el7.elrepo.x86_64.rpm \
&& wget https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-tools-5.4.278-1.el7.elrepo.x86_64.rpm \
&& wget https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-tools-libs-5.4.278-1.el7.elrepo.x86_64.rpm \
&& wget https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-tools-libs-devel-5.4.278-1.el7.elrepo.x86_64.rpm
下载完成后文件:
2、安装rpm包,分别执行下面命令
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum remove -y kernel-tools* kernel-headers*
yum install -y perl-Data-Dumper
rpm -ivh kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-doc-5.4.278-1.el7.elrepo.noarch.rpm
rpm -ivh kernel-lt-headers-5.4.278-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-tools-libs-5.4.278-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-tools-5.4.278-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-tools-libs-devel-5.4.278-1.el7.elrepo.x86_64.rpm
3、查看内核是否载入到grub2
#/etc/grub2.cfg文件是/boot/grub2/grub.cfg文件的软链接,grub.cfg文件是grub引导加载器的配置文件
#注意:如果服务器使用efi模式启动,那么可能没有/boot/grub2/grub.cfg文件,其对应的配置文件可能是/boot/efi/EFI/centos/grub.cfg
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
出现对应额版本就成功了
4、通过 grub2-set-default 0 命令设置或编辑 vim /etc/default/grub 文件来设置默认引导
grub2-set-default 0
vim /etc/default/grub
GRUB_DEFAULT=0 #这句改为GRUB_DEFAULT=0 意思是GRUB初始化页面的第一个内核将作为默认内核,保存退出
5、重新生成grub2引导文件
grub2-mkconfig -o /boot/grub2/grub.cfg
6、检查当前内核版本
grubby --default-kernel
7、重启服务,然后查看内核
reboot
uname -rs
#安装完成之后,会在/usr/src/kernels目录生成内核的源码包
ll /usr/src/kernels/5.4.278-1.el7.elrepo.x86_64/
到这里,升级内核就已经完成了!!!
要用k8s的一些功能,可以进行下面的设置
添加网桥过滤及内核转发配置文件
/etc/sysctl.d/k8s.conf中添加的内容如下:
vim /etc/sysctl.d/k8s.conf
然后:
net.bridge.bridge-nf-call-ip6tables =1
net.bridge.bridge-nf-call-iptables =1
net.ipv4.ip_forward =1
vm.swappiness =0
加载br_netfilter模块
modprobe br_netfilter
使文件生效
sysctl -p /etc/sysctl.d/k8s.conf
查看是否加载成功
lsmod | grep br_netfilter
安装ipset及ipvsadm
yum install -y ipset ipvsadm
配置ipvsadm模块加载方式,添加需要加载的模块
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack
EOF
授权、运行、检查是否加载
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack
关闭swap分区并重启系统
vim /etc/fstab
# 将下面行注释掉
#/dev/mapper/centos-swap swap swap defaults 0 0
# 重启系统
reboot
欢迎来撩 : 汇总all