linux服务器更换主板后无法识别网卡(网卡启动失败)解决办法
在我的超算集群里,有台服务器故障报修,主板坏了,更换主板后,无法识别网卡,用命令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服务器更换主板后无法识别网卡(网卡启动失败)解决办法的更多相关文章
- linux 服务器更主板后无法识别网卡处理过程
linux 服务器更主板后无法识别网卡处理过程 服务器故障报修,主板坏,更换主板后无法识别网卡,ifconfig 查看只显示:lo loopback 127.0.0.1. 系统加载网卡驱动后会去读 ...
- Linux服务器更换主板后,网卡识别失败的处理方法
1)现象说明公司IDC机房里的一台线上服务器硬件报警,最后排查发现服务器主板坏了,随即联系厂商进行更换主板,最后更换后,登录服务器,发现网卡绑定及ip信息都在,但是ip却ping不通了,进一步排查,重 ...
- Linux中安装Oracle11g后出现监听的问题及解决办法
软件安装: 参考文章: linux安装Oracle11G 错误如下: [oracle@iz2f570bi1k56uz admin]$ lsnrctl start LSNRCTL for Linux: ...
- xampp搭建开源项目iwebshop后,服务器重启后再启动xampp显示组件都启动ok,但是实际启动失败解决办法
最近用xampp搭建了开源商城项目iwebshop,刚搭建完没问题,可是周一来因为服务器重启了,我再启动xampp,显示组件都启动ok了,但是用linux命令查看相关组件的进程时,发现实际没启动起来, ...
- HP服务器更换主板前后的注意事项
问题 X86服务器免不了会出现故障,以我们实验室使用的HP服务器为例,已经有几台因为各种故障更换过主板了,更换主板前后有些事情需要我们应该注意或处理, 这里记录如下,其中第二.三点是针对我们所使用的C ...
- Linux服务器被入侵后的处理过程(转发阿良)
Linux服务器被入侵后的处理过程 突然,频繁收到一组服务器 ping 监控不可达邮件,赶紧登陆 zabbix 监控系统查看流量状况. 可见流量已经达到了 800M 左右,这肯定不正常了,马上尝试 ...
- WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转)
WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转) Windows Communication Foundation (WCF)是Microsoft为构建面向服务的应用提供的分布式通信 ...
- Linux下Oracle中SqlPlus时上下左右键乱码问题的解决办法
window下的sqlplus可以通过箭头键,来回看历史命令,用起来非常的方便. 但是在Linux下,会出现各种乱码,非常不方便,如下图所示,每次打错一个字符就需要重新打一遍. 解决办法:rlwrap ...
- redhat图形界面启动后出现桌面但是没有登录界面解决办法
redhat图形界面启动后出现桌面但是没有登录界面解决办法 2014年07月11日 10:50:10 阅读数:7931 redhat Linux一直用着好好地,今天打开只有图像界面背景,没有出现登陆界 ...
- 关于hasNextInt判断后无限循环输出else项的解决办法
话不多说,上来就是干! import java.util.Scanner; public class Test_hasNextInt { /** * @param args */ public sta ...
随机推荐
- ISCTF的MISC复现
1. 小蓝鲨的签到02 随波逐流 识别问题加上IS即可 2. 数字迷雾:在像素中寻找线索 还是随波逐流 加个} 3. 小蓝鲨的签到01 关注公众号发送ISCTF2024即可 4. 小蓝鲨的问卷 答完得 ...
- Special Binary String——LeetCode进阶路
原题链接https://leetcode.com/problems/special-binary-string/ 题目描述 Special binary strings are binary stri ...
- excel/wps, 转code128字体宏, 部分字符串出现空格, 导致条码断裂无法扫描的解决方案
原宏是网上抄的, 传播比较广的那个. 后来发现, 部分条码出现空格断裂, 导致PDA无法扫描, 经搜索在一个帖子里, 发现是因为: 宏计算条码时, 会出现校验位刚好是空格的情况, 而空格在code12 ...
- AtCoder Beginner Contest 370 补题记录
A - Raise Both Hands 题意: 给出Snuke举的左右手情况,如果只举左手,输出Yes,如果只举右手,输出No,否则输出Invalid 思路: 举左手:(l == 1 &&a ...
- 关于dpnet项目
关于dpnet项目 dpnet是我开源的一个轻量异步框架,主要用于利用多核优势执行异步任务,处理异步IO. 起初并没有独立的dpnet项目,所有功能集成在另一个项目dplua中. 提到异步,实现方案必 ...
- fabric peer节点账本验证器相关代码解读
账本验证器相关代码 fabric/core/commiter/txvalidator/v20/validator.go // Semaphore provides to the validator m ...
- redis的常见面试题
为什么要用redis 减少了mysql数据库的压力, 在这之前mysql一个人承受,然后要承受大量的数据请求, 大部分都是读操作.而且经常都是重复查一个东西,浪费了很多时间进行磁盘io redis将数 ...
- UFT send email
- Java 开发者无痛迁移到 Cursor 开启AI编程新生涯
习惯了IntelliJ IDEA的Java开发者,想尝试Cursor.Windsurf或Trae这类新兴的AI IDE,却担心迁移成本? 本文分享我的实战经验,帮助你高效切换开发环境,保留核心效率.效 ...
- JQ I 竖杆作用 中单竖杠(|) 的作用
https://blog.csdn.net/u012857153/article/details/61922729 相信一定有很多跟我一样刚入前端的小菜,会在前辈的代码中看到 单竖杠(|)参考文章ht ...