• 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

  • 相关阅读:
    SD卡测试
    测试人员可能会遇到的问题
    HDU 1024 Max Sum Plus Plus
    HDU 1176 免费馅饼
    HDU 1257 最少拦截系统
    HDU 1087 Super Jumping! Jumping! Jumping!
    poj 1328 Radar Installation
    poj 1753 Flip Game
    HDU 1003 Max Sum
    HDU 5592 ZYB's Premutation(BestCoder Round #65 C)
  • 原文地址:https://www.cnblogs.com/wangnengwu/p/5738695.html
Copyright © 2020-2023  润新知