3086  
   0
Centos7安装万兆网卡驱动
作者:黄玉蓉于 2019年07月16日 发布在分类 下,并于 2019年07月16日 编辑
网卡驱动安装;linux


一、组网图


不涉及

二、问题描述

DELL服务器安装完Centos7后发现无法识别到10G的万兆网卡

1、下图为实际插卡槽位

2、在以下目录没有查看到对应槽位的网口信息


三、过程分析

初步定位为没有安装对应的网卡驱动。

四、解决方法

1、搜索需要下载驱动对应的网卡型号

[root@localhost ~]# lspci|grep10G

05:00.0 Ethernet controller: Intel Corporation Ethernet 10G 2P X520 Adapter (rev 01)

05:00.1 Ethernet controller: Intel Corporation Ethernet 10G 2P X520 Adapter (rev 01)

[root@localhost ~]#


2、官网搜索对应的驱动程序并下载到本地

https://downloadcenter.intel.com/zh-cn/download/14687/Ethernet--PCIe-Linux-10-


3、该驱动需要安装kernel-headers,gcc,kernel-devel依赖包,可以先使用命令查看是否安装,若没有,则需要挂载ISO镜像,配置yum源,安装依赖包。若存在,可跳过步骤4-8,直接执行步骤9进行驱动安装。

[root@localhost ~]# rpm -qa |grep kernel* gcc*

gcc-4.8.2-16.el7.x86_64

kernel-tools-libs-3.10.0-123.el7.x86_64

grep-2.16-1.el7.x86_64

kernel-3.10.0-123.el7.x86_64

kernel-tools-3.10.0-123.el7.x86_64

kernel-headers-3.10.0-123.el7.x86_64

kernel-devel-3.10.0-123.el7.x86_64


4、可将对应操作系统的ISO通过光盘,U盘,或者直接上传到对应服务器的方式进行挂载,以下步骤以直接上传ISO镜像文件到服务器为例,其他方式挂载步骤与此类似。

先将ISO文件上传到服务器。

注意:该ISO镜像一定要是对应安装操作系统的镜像源,否则安装的kernel-headers和kernel-devel的版本与实际的kernel版本不一致,会导致后续网卡驱动程序安装失败的问题。实际安装的kernel版本可用uname –a查看。


5、使用mount命令将镜像挂载到/mnt目录,命令执行完后可用df –h命令查看是否挂载成功。


[root@localhost ISO]# mount CentOS-7.0-1406-x86_64-DVD.iso /mnt

mount: /dev/loop0 写保护,将以只读方式挂载

[root@localhost ISO]# df-h

文件系统 容量 已用 可用 已用% 挂载点

/dev/mapper/centos-root 50G 12G 39G 23% /

devtmpfs 24G 0 24G 0% /dev

tmpfs 24G 80K 24G 1% /dev/shm

tmpfs 24G 9.6M 24G 1% /run

tmpfs 24G 0 24G 0% /sys/fs/cgroup

/dev/mapper/centos-home 1.8T 37M 1.8T 1% /home

/dev/sda1 497M 121M 377M 25% /boot

/dev/loop0 3.9G 3.9G 0 100% /mnt

[root@localhost ISO]#


6、配置yum源,进入/etc/yum.repos.d/目录,将原来的yum源配置文件保存一份,修改原来的配置文件,替换成以下标红内容。


[root@localhost ISO]# cd/etc/yum.repos.d/

[root@localhost yum.repos.d]# cp CentOS-Base.repo BASE.BAK

[root@localhost yum.repos.d]# vi CentOS-Base.repo

[base]

name=CentOS-$releasever- Base

baseurl=file:///mnt

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7


7、清除yum缓存,并重新加载

[root@localhost yum.repos.d]# yum clean all

已加载插件:fastestmirror, langpacks

正在清理软件源: base

Cleaning up everything

Cleaning up list of fastest mirrors

[root@localhost yum.repos.d]#yum list

已加载插件:fastestmirror, langpacks

base | 3.6 kB 00:00:00

(1/2): base/group_gz | 157 kB 00:00:00

(2/2): base/primary_db | 2.7 MB 00:00:00

Determining fastest mirrors

已安装的软件包

GConf2.x86_64 3.2.6-8.el7 @anaconda

…#省略剩余安装包


8、执行命令安装依赖包

[root@localhost yum.repos.d]# yum install -y kernel-devel kernel-headers gcc


9、通过xftp等工具将网卡驱动上传到服务器。

10、使用命令解压驱动压缩包到当前目录

[root@localhost ~]#tar -zxvf ixgbe-5.6.1.tar.gz

ixgbe-5.6.1/

ixgbe-5.6.1/src/

…省略

ixgbe-5.6.1/ixgbe.7

ixgbe-5.6.1/ixgbe.spec

ixgbe-5.6.1/SUMS

[root@localhost ~]#


11、解压后进入对应的/src目录进行安装,此时发现还是报以下错误。

root@localhost yum.repos.d]# cd /root/ixgbe-5.6.1/src/

[root@localhost src]# make install

common.mk:84: *** Kernel header files not in any of the expected locations.

common.mk:85: *** Install the appropriate kernel development package, e.g.

common.mk:86: *** kernel-devel, for building kernel modules and try again。 停止。



12、打开 common.mk 发现编译时需要 /usr/src/linux 目录,但是系统并没有此目录,手动创建 /usr/src/kernels/3.10.0-123.el7.x86_64/ 到 /usr/src/linux 的链接即可。

[root@localhost linux]# ln -s /usr/src/linux/3.10.0-123.el7.x86_64 /usr/src/linux/

注意:示例中标红的kernel版本号以实际安装的版本号为准


13、再次进入安装目录进行编译,安装成功

[root@localhost src]#make install

make[1]: 进入目录“/usr/src/kernels/3.10.0-123.el7.x86_64”

CC [M] /root/ixgbevf-4.6.1/src/ixgbevf_main.o

CC [M] /root/ixgbevf-4.6.1/src/ixgbevf_ethtool.o

CC [M] /root/ixgbevf-4.6.1/src/ixgbe_vf.o

CC [M] /root/ixgbevf-4.6.1/src/ixgbe_mbx.o

CC [M] /root/ixgbevf-4.6.1/src/kcompat.o

LD [M] /root/ixgbevf-4.6.1/src/ixgbevf.o

Building modules, stage 2.

MODPOST 1 modules

CC /root/ixgbevf-4.6.1/src/ixgbevf.mod.o

LD [M] /root/ixgbevf-4.6.1/src/ixgbevf.ko

make[1]: 离开目录“/usr/src/kernels/3.10.0-123.el7.x86_64”

Copying manpages...

Installing modules...

make[1]: 进入目录“/usr/src/kernels/3.10.0-123.el7.x86_64”

INSTALL /root/ixgbevf-4.6.1/src/ixgbevf.ko

Can't read private key

DEPMOD 3.10.0-123.el7.x86_64

make[1]: 离开目录“/usr/src/kernels/3.10.0-123.el7.x86_64”

Running depmod...

[root@localhost src]#


14、导入驱动模块

如果之前存在旧版本的网卡驱动模块,可以先移除,再重新导入新版本的模块

[root@localhost linux]# modprobe -r ixgbe                #移除驱动模块

[root@localhost linux]#modprobe ixgbe                #导入驱动模块


15、用命令可以查看到驱动模块已经成功导入

[root@localhost linux]#lsmod |grep ixgbe

ixgbe334497 0

vxlan 37584 1 ixgbe

dca 15130 2 igb,ixgbe

ptp 18933 3 igb,tg3,ixgbe


16、在/sys/class/net下已经能识别到对应的网口信息

[root@localhost linux]#ls/sys/class/net/

em1 em2 em3 em4 lo p5p1 p5p2 p5p3 p5p4 p6p1 p6p2



 知识评论当前评论数0

 推荐知识


 访问权限

创建人 黄玉蓉
工作小组 宏杉成员
文档编辑权限 创建者私有
文档阅读权限 来自分类
分类阅读权限 所有人
分类编辑权限 所有人
分类审核权限 无需审核
分类预览权限 无限制
分类下载权限 无限制
 历史版本

修改日期 修改人 备注
2019-07-16 18:19:42[当前版本] 黄玉蓉 CREAT

 附件

附件类型

PNGPNG

 目录
    宏杉案例知识库-V4.0.1