CentOS升级linux内核导致板载网卡不工作

本文记录了在CentOS系统中从3.10升级到4.20内核后,板载Realtek8111B网卡无法工作的问题及解决方案。通过替换r8169模块为r8168驱动,成功恢复网卡功能。

CentOS升级linux内核导致板载网卡不工作

升级内核前环境

CentOS7 原linux内核 3.10
新linux内核 4.20
板载网卡 Realtek 8111B

故障现象

系统成功升级到4.20内核后,板载网卡不工作,网线灯不亮。判断是新的网卡驱动模块 r8169有问题。

解决过程

下载 r8168网卡驱动替换4.20内核的 r8169模块。
https://github.com/bfanger/r8168dl/tree/master/files
解压后运行 ./autorun.sh,安装程序自动移除 r8169模块,并且把编译好的 r8168
模块加载到内核。网线灯又欢快的闪起来了,至此问题解决。

### 升级 CentOS 内核的方法与最佳实践 在 CentOS 系统上升级内核是一项需要谨慎操作的任务,尤其是在生产环境中。以下是详细的步骤和最佳实践: #### 1. 更新 YUM 源 确保系统的 YUM 软件源是最新的,这是升级内核的第一步。使用以下命令更新 YUM 源: ```bash yum update -y ``` 此步骤有助于确保系统中所有软件包处于最新状态[^2]。 #### 2. 安装 ELRepo 仓库 ELRepo 是一个第三方仓库,提供了最新的稳定版内核。通过以下命令安装 ELRepo: ```bash rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm ``` 此步骤为系统添加了支持最新内核的仓库[^2]。 #### 3. 安装最新内核 安装最新的长期支持(LTS)内核版本。运行以下命令以安装 `ml`(Mainline Stable)内核: ```bash yum --enablerepo=elrepo-kernel install kernel-ml -y ``` 如果需要安装实时内核,可以替换为 `kernel-ml-rt`[^2]。 #### 4. 配置 GRUB 引导加载程序 安装新内核后,需要配置 GRUB 引导加载程序以确保系统能够正确引导到新内核。运行以下命令更新 GRUB: ```bash grub2-mkconfig -o /boot/grub2/grub.cfg ``` 检查默认引导项是否设置为最新内核: ```bash grep menuentry /boot/grub2/grub.cfg ``` 确保默认引导项指向最新安装的内核版本[^2]。 #### 5. 测试新内核 重启系统以测试新内核: ```bash reboot ``` 登录系统后,验证当前运行的内核版本: ```bash uname -r ``` 如果发现任何问题,可以通过 GRUB 选择旧内核版本进行回滚[^1]。 #### 6. 回滚方案 在升级内核前,准备统一的回滚方案。如果新内核出现问题,可以通过以下步骤回滚到旧内核: - 在 GRUB 引导菜单中选择旧内核版本。 - 登录系统后卸载新内核: ```bash yum remove kernel-ml -y ``` - 确保系统恢复到正常状态后再继续其他操作[^1]。 #### 7. 注意事项 - 在云服务器环境中,升级内核前需先卸载 Tools,否则可能导致网卡无法识别或数据盘挂载异常[^4]。 - 生产环境建议分阶段滚动升级:从测试环境开始,逐步扩展到非关键生产环境,最后升级核心系统,并在每个阶段设置足够的观察期[^1]。 ### 示例代码 以下是一个使用 Ansible 自动化批量升级内核的示例剧本: ```yaml --- - name: Upgrade CentOS Kernel hosts: all become: yes tasks: - name: Update YUM packages yum: name: "*" state: latest - name: Install ELRepo repository rpm_key: key: https://www.elrepo.org/RPM-GPG-KEY-elrepo.org yum_repository: name: elrepo description: ELRepo.org Community Enterprise Linux Repository baseurl: http://elrepo.org/linux/elrepo/el$releasever/$basearch/ enabled: yes gpgcheck: yes - name: Install latest mainline kernel yum: name: kernel-ml state: present - name: Update GRUB configuration command: grub2-mkconfig -o /boot/grub2/grub.cfg - name: Reboot server reboot: timeout: 300 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值