1)现象说明
公司IDC机房里的一台线上服务器硬件报警,最后排查发现服务器主板坏了,随即联系厂商进行更换主板,最后更换后,登录服务器,发现网卡绑定及ip信息都在,但是ip却ping不通了,进一步排查,重启网卡,提示之前的eth0和eth1网卡设备发现不了了,也就是说服务器主板更换后,之前的网卡设备都识别不了了!

主板更换后,重启并登陆服务器,发现之前的网卡设备(eth0、eth1、eth2、eth3)都没有了!
[root@kevin01 ~]# ifconfig -a
bond0 Link encap:Ethernet HWaddr 08:94:EF:5E:AE:72
inet addr:192.168.10.20 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::a94:efff:fe5e:ae72/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:75582 errors:0 dropped:0 overruns:0 frame:0
TX packets:58537 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5890233 (5.6 MiB) TX bytes:4390537 (4.1 MiB) lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:26 errors:0 dropped:0 overruns:0 frame:0
TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1983 (1.9 KiB) TX bytes:1983 (1.9 KiB) usb0 Link encap:Ethernet HWaddr 0A:94:EF:5E:AE:79
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) 之前的网卡设备和bond绑定的配置信息都还在(bond绑定网卡操作:http://www.cnblogs.com/kevingrace/p/7966511.html)
[root@kevin ~]# cd /etc/sysconfig/network-scripts/
[root@kevin network-scripts]# ls
ifcfg-bond0 ifcfg-lo ifdown-ib ifdown-ppp ifup-aliases ifup-ipv6 ifup-ppp init.ipv6-global
ifcfg-eth0 ifcfg-usb0 ifdown-ippp ifdown-routes ifup-bnep ifup-isdn ifup-routes net.hotplug
ifcfg-eth1 ifdown ifdown-ipv6 ifdown-sit ifup-eth ifup-plip ifup-sit network-functions
ifcfg-eth2 ifdown-bnep ifdown-isdn ifdown-tunnel ifup-ib ifup-plusb ifup-tunnel network-functions-ipv6
ifcfg-eth3 ifdown-eth ifdown-post ifup ifup-ippp ifup-post ifup-wireless [root@kevin ~]# /etc/init.d/network restart
......
报错说没有发现eth0和eth1网卡 [root@kevin ~]# ipdown eth0
报错提示说没有发现eth0网卡

2)产生原因
这是因为服务器更换了主板或网卡,mac地址改变所导致的。系统加载网卡驱动后会去读一个文件(即/etc/udev/rules.d/70-persistent-net.rules),这个文件是一个缓冲文件,包含了网卡的mac地址,因为更换了主板,网卡的mac地址也变了,但是这个文件的mac地址还没变,还是之前坏了的主板的上面的网卡的MAC地址,这样系统在加载网卡,读取这个文件的时候读取的是之前网卡的mac地址,和现在更换后主板后的网卡mac地址不一致导致混乱,所以就识别不了当前网卡;

3)解决办法

一般来说,删除/etc/udev/rules.d/70-persistent-net.rules文件(或者把这个文件重新命名 或者 清空该文件内容),重启服务器就可以解决了,重启后会重新生成这个文件,
这样就顺利解决这个问题了!这里注意下,由于我的这台服务器绑定了网卡,所以重启网卡后,还需要进行modprobe命令使得网卡绑定生效,大致步骤如下:
# mv /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.bak20180307
# init 6 重启服务器后,查看/etc/udev/rules.d/70-persistent-net.rules文件,发现没有eth0、eth1、eth3、eth4的网卡信息(mac和设备名称)
[root@kevin network-scripts]# cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key. # PCI device 0x14e4:0x1657 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="****", ATTR{type}=="1", KERNEL=="eth*" # PCI device 0x14e4:0x1657 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="****", ATTR{type}=="1", KERNEL=="eth*" # PCI device 0x14e4:0x1657 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="****", ATTR{type}=="1", KERNEL=="eth*" # PCI device 0x14e4:0x1657 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="****", ATTR{type}=="1", KERNEL=="eth*" 然后重启网卡等操作
[root@kevin ~]# modprobe bonding
[root@kevin ~]# /etc/init.d/network restart
[root@kevin ~]# modprobe bonding 接着ifconfig查看,发现eth0、eth1、eth2、eth3网卡设备都能识别了
[root@kevin ~]# ifconfig -a
bond0 Link encap:Ethernet HWaddr 08:94:EF:5E:AE:72
inet addr:192.168.10.20 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::a94:efff:fe5e:ae72/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:108809 errors:0 dropped:0 overruns:0 frame:0
TX packets:84207 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8471111 (8.0 MiB) TX bytes:6322341 (6.0 MiB) eth0 Link encap:Ethernet HWaddr 08:94:EF:5E:AE:72
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:38051 errors:0 dropped:0 overruns:0 frame:0
TX packets:14301 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2869726 (2.7 MiB) TX bytes:944276 (922.1 KiB)
Interrupt:16 eth1 Link encap:Ethernet HWaddr 08:94:EF:5E:AE:72
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:69158 errors:0 dropped:0 overruns:0 frame:0
TX packets:68615 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5469647 (5.2 MiB) TX bytes:5279012 (5.0 MiB)
Interrupt:17 eth2 Link encap:Ethernet HWaddr 08:94:EF:5E:AE:74
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:16 eth3 Link encap:Ethernet HWaddr 08:94:EF:5E:AE:75
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:17 lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:26 errors:0 dropped:0 overruns:0 frame:0
TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1983 (1.9 KiB) TX bytes:1983 (1.9 KiB) usb0 Link encap:Ethernet HWaddr 0A:94:EF:5E:AE:79
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) 在查看/etc/udev/rules.d/70-persistent-net.rules文件,发现eth0、eth1、eth2、eth3网卡及其mac地址信息都有了
[root@kevin ~]# cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key. # PCI device 0x14e4:0x1657 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:94:ef:5e:ae:75", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3" # PCI device 0x14e4:0x1657 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:94:ef:5e:ae:72", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x14e4:0x1657 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:94:ef:5e:ae:73", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" # PCI device 0x14e4:0x1657 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:94:ef:5e:ae:74", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2" 接着尝试ping其他机器
[root@kevin ~]# ping 192.168.10.23
PING 192.168.10.23 (192.168.10.23) 56(84) bytes of data.
64 bytes from 192.168.10.23: icmp_seq=1 ttl=64 time=0.030 ms
64 bytes from 192.168.10.23: icmp_seq=2 ttl=64 time=0.016 ms
64 bytes from 192.168.10.23: icmp_seq=3 ttl=64 time=0.016 ms 如果ping不通的话,多执行下面命令
[root@kevin ~]# modprobe bonding

温馨提示:有时候重启后还是出现以上情况,对比之前的/etc/udev/rules.d/70-persistent-net.rules文件,新的文件mac地址和name已经改变,name=eth0,和之前name=em1的名字不同;

Linux服务器更换主板后,网卡识别失败的处理方法的更多相关文章

  1. linux 服务器更主板后无法识别网卡处理过程

    linux 服务器更主板后无法识别网卡处理过程   服务器故障报修,主板坏,更换主板后无法识别网卡,ifconfig 查看只显示:lo loopback 127.0.0.1. 系统加载网卡驱动后会去读 ...

  2. HP服务器更换主板前后的注意事项

    问题 X86服务器免不了会出现故障,以我们实验室使用的HP服务器为例,已经有几台因为各种故障更换过主板了,更换主板前后有些事情需要我们应该注意或处理, 这里记录如下,其中第二.三点是针对我们所使用的C ...

  3. Linux服务器被入侵后的处理过程(转发阿良)

    Linux服务器被入侵后的处理过程   突然,频繁收到一组服务器 ping 监控不可达邮件,赶紧登陆 zabbix 监控系统查看流量状况. 可见流量已经达到了 800M 左右,这肯定不正常了,马上尝试 ...

  4. HP Gen8,9 型号系列服务器更换主板

    更换主板前,记下如下信息,根据具体情况用于更换后的设置用.1.S/N (其实主机箱上会写有,更换后重置)2.ProductID (其实主机箱上会写有,更换后重置)3.iLO IP地址或者MAC地址(根 ...

  5. ssh连接linux服务器只显示-bash-4.1#不显示路径解决方法

    ssh连接linux服务器只显示-bash-4.1#不显示路径时,我们只需要修改  ~/.bash_profile文件,如果不存在这个文件,那么新建一个,增加内容  export PS1='[\u@\ ...

  6. Openfire 服务器更换ip后的恢复方法

    如果你的服务器名称和mysql的地址都是使用的静态ip地址配置的,更改ip后,openfire就会开启失败,这种情况下请看下面的解决方法. 比如你的ip地址由 192.168.0.111 改为192. ...

  7. linux服务器中Apache隐藏index.php失败

    可以通过URL重写隐藏应用的入口文件index.php,下面是相关服务器的配置参考: [Apache] httpd.conf配置文件中加载了mod_rewrite.so模块 AllowOverride ...

  8. [ Linux ] 服务器更换硬盘

    服务器型号:ThinkServer RD650操作系统:Red Hat 6.7业务用途:生产环境监控机 接到机房邮件通知,告知某台服务器硬盘告警,并提供了设备SN号和机柜位置.根据提供想相关信息找到对 ...

  9. Linux服务器被入侵后的处理过程

    突然,频繁收到一组服务器 ping 监控不可达邮件,赶紧登陆 zabbix 监控系统查看流量状况. 可见流量已经达到了 800M 左右,这肯定不正常了,马上尝试 SSH 登陆系统,不幸的事,由于网络堵 ...

随机推荐

  1. axure元件库导入后重启程序元件库消失问题

    把元件库文件放在我的文档里的 \Documents\Axure\元件库 就可以了,重新启动程序不会消失

  2. 鸟哥的 Linux 私房菜Shell Scripts篇(四)

    12.4 条件判断式 只要讲到『程式』的话,那么条件判断式,亦即是『 if then 』这种判别式肯定一定要学习的!因为很多时候,我们都必须要依据某些资料来判断程式该如何进行.举例来说,我们在上头的a ...

  3. Selenium 、WebDriver :Capability

    Selenium | WebDriver Capability 内容摘要: 1.WebDriver 通用配置 2.RemoteWebDriver特有配置 3.Grid特有配置 4.在使用特定浏览器时的 ...

  4. 随机生成&部门匹配

    整体概况 1.完整程序概况 (1)程序整体构架 (2)生成程序模型 (3)匹配算法模型 (4)生成结果评估 (5)命名规范 (6)先期和后期分工 2.心路历程与对全新的java认识(心得体会篇) (1 ...

  5. C#异步编程の----Threadpool( 线程池)

    简介: 一个托管线程的创建需要数千个CPU周期,并且当发生线程切换时也会带来明显的开销.考虑线程的重用,避免不断重复创建新的线程是提高系统效率的一种方式. 线程池是一种提供效率的方式,它创建好一些线程 ...

  6. Android AbsListView Abs前缀

    Android AbsListView Abs abstract:抽象

  7. 【转】wampserver2.5 apache2.4.9配置https 图文

    注: 我的wamp环境是2.5版本,apache是2.4.9 装在本地C:wamp 操作系统windows10   1.进入wamp->bin->apache->apache2.4. ...

  8. Centos 6.5配置rsync+inotify实现文件实时同步

    1.安装rsync(两台机器执行相同的步骤)yum install gcc yum install rsyncd xinetd -y因为rsync是由xinetd启动的,所以需要修改一个配置vim / ...

  9. 配置Linux下vim自动缩进等功能

    从终端打开配置文件: vim ~/.vimrc 添加如下代码: set tabstop=4 set softtabstop=4 set shiftwidth=4 set autoindent set ...

  10. shell脚本之获取CPU使用率

    今天一个同事要测试OJ项目,同时我这边也需要知道他在压测过程中, CPU的使用率怎么样,虽说可以用top实时查看,但是进程太多了,我不需要获取那么多信息,我仅仅只要知道当前压测过程中CPU实时的使用率 ...