最近搭建K8S集群,由于给物理机升级内核,机器重启后所有网卡down掉了,由于线下测试环境也进行过相关升级,没有出现相关报错,所以怀疑是线上物理机使用万兆网卡的原因,过程如下:

1  原系统为Centos7.7,首先安装yum源的key

 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org    

2  安装yum源码     

 如果是CentOS6 rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm  

 如果是CentOS7 rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

3 寻找想要的内核版本

Centos6 x64下载地址

Centos7 x64下载地址

4 升级内核

yum install -y kernel-ml-5.6.6-1.el7.elrepo.x86_64.rpm

rpm -qa|grep kernel|grep 3.10|xargs yum remove -y //需要删除老的内核以及内核工具才能安装,ml-tools-libs

yum install kernel-ml-tools-libs-5.6.6-1.el7.elrepo.x86_64.rpm

yum install kernel-ml-tools-5.6.6-1.el7.elrepo.x86_64.rpm

awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg  //过滤一下确定内核的引导次序

grub2-set-default 0 //设置从索引0开始引导5.6.6的内核

reboot 重启系统 //就在这里,重启后网卡全部挂掉了(可能只会是万兆网卡挂掉,因为我只接了这两个业务)

 

5 故障现象

上面四步完成后,就发现机器的两个万兆网卡挂掉了,ifup也起不来,但是由于没升内核前是没问题的,Google了一下发现可能是相关网卡驱动有问题,通过dmesg -d 发现有一行报错,经过查找后发现是少了相应的网卡硬件驱动...

Can't load firmware file bnx2x/bnx2x-e2-7.13.15.0.f

6 下载驱动

bnx2x 的驱动包地址:http://anduin.linuxfromscratch.org/sources/linux-firmware/bnx2x/

根据日志信息下载相应的驱动包放在/lib/firmware/bnx2x 下重启解决。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐