在我的超算集群里,有台服务器故障报修,主板坏了,更换主板后,无法识别网卡,用命令ifconfig -a 查看只显示lo loopback 127.0.0.1,以及eth7,eth8,eth9等没有网卡的信息,如此的话,导致服务器和集群别的节点服务器都无法ping通

原因和解决办法:

系统加载网卡驱动后会去读一个文件,这个文件是一个缓冲文件,包含了网卡的mac地址,因为更换了主板,网卡的mac地址也变了,但是这个文件的mac地址还没变,还是之前坏了的主板的上面的网卡的MAC地址,这样系统在加载网卡,读取这个文件的时候读取的是之前网卡的mac地址,和现在更换后主板后的网卡mac地址不一致导致混乱,所以就识别不了当前网卡;

这个文件就是:/etc/udev/rules.d/70-persistent-net.rules,把这个文件删除后(或者把这个文件重新命名)重启服务器就可以解决了,重启后会重新生成这个文件;

注意:有时候重启后还是出现以上情况,对比之前的文件,新的文件mac地址和name已经改变,name=eth0,和之前name=em1的名字不同;

操作:ifconfig eth0 down

然后编辑:vi /etc/sysconfig/network-scripts/ifcfg-eth0

重启网卡:service network restart

注意:更换主板后,ipmi的信息也变了,要在开机bios的BMC 网络管理模块更改成之前的ipmi地址

主机网卡启动失败的原理:

CentOS系统启动的时候,会探测网卡MAC地址并写入/etc/udev/rules.d/70-persistent-net.rules,例如前文的就是 "00:50:56:8c:19:a6", 它对应的网卡接口是eth0. 网卡文件/etc/sysconfig/network-scripts/ifcfg-eth0 , DEVICE=eth0 对应的同样是 00:50:56:8C:19:A6 .所以 ifcfg-eth0 和 70-persistent-net.rules 两个文件中的eth0和MAC地址映射关系是一样的.

vmware或vSphere克隆操作系统,会给网卡分配一个新MAC地址,比如新MAC是 01:50:56:8C:19:A6. 那么原来的"00:50:56:8c:19:a6"已经不复存在了. 操作系统启动以后探测到这个MAC地址后继续写入70-persistent-net.rules文件中,并按照eth0,eth1,eth2的顺序依次来命名. 原来已经存在eth0. 所以新MAC地址 01:50:56:8C:19:A6 则会对应eth1. 但是 ifcfg-eth0 对应的是HWADDR地址 00:50:56:8C:19:A6 (旧). 这是导致网卡启动失败原因, 因为MAC地址和eth0的对应关系就错乱了. 因此, 70-persistent-net.rules的MAC和eth0的对应关系和 ifcfg-eth0文件中的HWADDR 和eth0的对应文件保持一致, 那么网络启动就没有问题. 需要注意的一点就是MAC地址要以70-persistent-net.rules文件的为基准, ifcfg-eth0的 HWADDR 只是方便人查看的.

所以, 注释 70-persistent-net.rules 的内容是为了系统在启动的时候探测到新MAC地址并对应eth*时, 保持从eth0起始命名的顺序. 而注释 ifcfg-eth0 的 HWADDR 是为了使ifcfg-eth0 可以映射任意的新MAC而并非固定一个. 所以 系统启动后的, 新MAC -> eth0 -> ifcfg-eth0 .

VMware/vSphere中新安装好的虚拟机把以下两个文件添加注释后,即可转换为虚拟机模板

添加注释

[root]# cat /etc/udev/rules.d/70-persistent-net.rules

# SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:8c:19:a6", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# 注释此行 SUBSYSTEM

[root]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

# HWADDR=00:50:56:8C:19:A6

# 注释此行 HWADDR

# 注释 UUID

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static/dhcp

IPADDR=192.168.83.127

NETMASK=255.255.255.0

GATEWAY=192.168.92.254

linux服务器更换主板后无法识别网卡(网卡启动失败)解决办法的更多相关文章

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

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

  2. Linux服务器更换主板后,网卡识别失败的处理方法

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

  3. Linux中安装Oracle11g后出现监听的问题及解决办法

    软件安装: 参考文章: linux安装Oracle11G 错误如下: [oracle@iz2f570bi1k56uz admin]$ lsnrctl start LSNRCTL for Linux: ...

  4. xampp搭建开源项目iwebshop后,服务器重启后再启动xampp显示组件都启动ok,但是实际启动失败解决办法

    最近用xampp搭建了开源商城项目iwebshop,刚搭建完没问题,可是周一来因为服务器重启了,我再启动xampp,显示组件都启动ok了,但是用linux命令查看相关组件的进程时,发现实际没启动起来, ...

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

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

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

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

  7. WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转)

    WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转) Windows Communication Foundation (WCF)是Microsoft为构建面向服务的应用提供的分布式通信 ...

  8. Linux下Oracle中SqlPlus时上下左右键乱码问题的解决办法

    window下的sqlplus可以通过箭头键,来回看历史命令,用起来非常的方便. 但是在Linux下,会出现各种乱码,非常不方便,如下图所示,每次打错一个字符就需要重新打一遍. 解决办法:rlwrap ...

  9. redhat图形界面启动后出现桌面但是没有登录界面解决办法

    redhat图形界面启动后出现桌面但是没有登录界面解决办法 2014年07月11日 10:50:10 阅读数:7931 redhat Linux一直用着好好地,今天打开只有图像界面背景,没有出现登陆界 ...

  10. 关于hasNextInt判断后无限循环输出else项的解决办法

    话不多说,上来就是干! import java.util.Scanner; public class Test_hasNextInt { /** * @param args */ public sta ...

随机推荐

  1. codeup之解密

    Description 有一行电文,已按如下规律译成密码: A–>Z a–>z B–>Y b–>y C–>X c–>x - - 即第一个字母变成第26个字母,第i个 ...

  2. OpenDeepWiki:让您的代码仓库拥有MCP变成Agents的一部分!!

    想象一下,如果您的代码仓库突然有了生命,能够自己介绍自己.回答问题.甚至还能生成漂亮的文档,那会是什么样的场景?别以为这是科幻小说,OpenDeepWiki就是这样一个神奇的"代码翻译官&q ...

  3. WPF 使用CompositionTarget.Rendering实现平滑流畅滚动的ScrollViewer,支持滚轮、触控板、触摸屏和笔

    之前的文章中用WPF自带的动画库实现了一个简陋的平滑滚动ScrollViewer,它在只使用鼠标滚轮的情况下表现良好,但仍然有明显的设计缺陷和不足: 没有实现真正的动画衔接,只是单纯结束掉上一个动画, ...

  4. TemplatesImpl结合cc6在Shiro中的利用

    TemplatesImpl结合cc6在Shiro中的利用 这个文章也是参考p牛的文章;但其中许多细节,就比如为什么普通的Transformer[]数组链不能再shiro中使用; 但其中大致原理还是说一 ...

  5. 重新认识Clientset

    重新认识Clientset 1.介绍 Clientset 是调用 Kubernetes 资源对象最常用的客户端,可以操作所有的资源对象. 那么在 Clientset 中使如何用这些资源的呢? 因为在 ...

  6. idea里面怎么把自己项目添加maven

    首先你要清楚什么是maven: maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件.Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具 ...

  7. USB工程应用基础概念简介

    USB 是一种串行传输总线,使用差分信号传输数据,USB 设备支持热插拔. USB 规格及接口 USB 传输速率 USB 标准的不同版本有不同的传输速率和电压电流特性. 标准版本 发布日期 速率代码 ...

  8. HyperWorks汽车B-柱网格变形

    在这一节,将练习如何使用变形域,实现汽车 B-柱有限元模型的网格变形. 图 7-13 网格变形前后的 B 柱模型 Step01:读取并查看模型. 打开模型文件 Exercise_7c.hm. Step ...

  9. 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-21- 操作鼠标拖拽 - 中篇(详细教程)

    1.简介 上一篇中,主要是介绍了拖拽的各种方法的理论知识以及实践,今天宏哥讲解和分享一下划取字段操作.例如:需要在一堆log字符中随机划取一段文字,然后右键选择摘取功能. 2.划取字段操作 划取字段操 ...

  10. Blazor学习之旅 (14) Blazor WebAssembly

    在上一篇我们学习了如何创建和使用Razor类库,这一篇我们了解下WebAssembly是什么,以及创建第一个Blazor WebAssembly应用. 什么是WebAssembly? WebAssem ...