VM克隆之后启动eth0找不到eth0:unknown interface:no such device
VM克隆之后启动eth0找不到eth0:unknown interface:no such device
用 ifconfig eth0 up 提示一下错误信息:
eth0: unknown interface: No such device
解决方法一
- 删除70-persistent-net.rules 文件
> rm -rf /etc/udev/rules.d/70-persistent-net.rules
# 重启系统
> sudo shutdown -r now
- 编辑MAC地址一致性:
1、查看 /etc/udev/rules.d/70-persistent-net.rules
> vi /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 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:91:d0:e1", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
#--------------------------------------------
2、进入/etc/sysconfig/network-scripts/目录,查看 ifcfg-eth0 配置信息:
> vi ifcfg-eth0
#--------------------------------------------
DEVICE=eth0 #这个要与/etc/udev/rules.d/70-persistent-net.rules文件内容NAME匹配一致
#下面的HWADDR地址要与/etc/udev/rules.d/70-persistent-net.rules文件内容ATTR{address}匹配一致
HWADDR=00:0C:29:91:d0:e1
TYPE=Ethernet
UUID=52a3b2b1-fbee-4a39-b5ac-baef1ba3dc28
ONBOOT=yes #将no改为yes,表示开机自动启动
NM_CONTROLLED=yes
BOOTPROTO=dhcp
#--------------------------------------------
3、最后,重启网络:service network restart,问题解决。
右不行的话就重新启动系统后执行 ifup eth0 试试
> sudo shutdown -r now
> ifup eth0
> ifconfig
# 若每次开机时网卡不自动分配,可以将上面的命令添加到开机启动脚本里:
> vim /etc/rc.local
# 在最后一行里加入
ifup eth0
# 退出保存(ESC->:wq)
二、另一种方法
造成这样的原因,是因为在虚拟机(Vmware)中移动了Centos系统对应的文件,导致重新配置时,网卡的MAC地址变了,输入ifconfig -a,找不到eth0
安装完一个centos虚拟机,又拷贝一份,开机后网卡无法正常启动,报错:Device eth0 does not seem to be present,
delaying initialization
解决:
> mv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
> vim /etc/sysconfig/network-scripts/ifcfg-eth1
修改DEVICE="eth0" 为 DEVICE="eth1"
可删掉uuid、物理地址。然后重启启动网卡尝试下。
三、比第一种更深入一点
故障前的操作:
DELL刀片装的是CentOS6.3的操作系统,网卡识别的是em1和em2,由于工作需要做了槽位调整,并启动了刀片。
故障现象:
启动后网络不通,通过iDRAC登录后route查看缺省路由正常;
# 重启网络服务:
> service network restart
Shutting down loopback insterface: [ OK ]
Bringing up loopback insterface: [ OK ]
Bringing up interface em1: Device em1 does not seem to be present,delaying initialization. [FAILED]
分析问题和解决:
之前在别的文章中我们提过70-persistent-net.rules文件,所以看了一下:
> vi /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:0x163a (bnx2) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:b6:fd:ab:76:1e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x14e4:0x163a (bnx2) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:b6:fd:ab:76:1c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
发现NAME的名称不正确,依次将上述红色字体中的eth0改为em1,eth1改为em2;
*切记:网卡编号由MAC地址大小决定,MAC越小网卡编号越小;
如下:
# PCI device 0x14e4:0x163a (bnx2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:b6:fd:ab:76:1e", ATTR{type}=="1", KERNEL=="eth*", NAME="em2"
# PCI device 0x14e4:0x163a (bnx2) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:b6:fd:ab:76:1c", ATTR{type}=="1", KERNEL=="eth*", NAME="em1"
# 保存退出~!
> reboot