聚沙成塔,每天进步一点点!

linux克隆虚拟机后的网卡启动失败问题

上一篇 / 下一篇  2014-10-29 12:15:03 / 个人分类:其它

现象:将在另一台电脑虚拟机上安装的linux系统文件整个拷贝到本机上,使用时发现执行网卡重启命令时出现如下错误:

[root@localhost Desktop]# service network restart

Shutting down loopback interface:                        [  OK  ]

Bringing up loopback interface:                            [  OK  ]

Bringing up interface eth0:  Error: No suitable device found: no device found for connection 'System eth0'.

                                                           [FAILED]

而且执行ifconfig显示的是eth1网卡,但/etc/sysconfig/network-script下只有eth0,没有eth1

 

产生这个问题的原因是虚拟机分配给操作系统的虚拟网卡MAC地址是不一样的。第一个系统的网卡MAC地址记录在了/etc/udev/rules.d/70-persistent-net.rules,命名为eth0。新克隆分配的系统的网卡MAC地址也记录在了该文件当中,与之前的系统一样,因此有了冲突

可以查看一下两个机子的这个70-persistent-net.rules文件的内容

第一个系统:

[root@localhost rules.d]# cat 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 0x1022:0x2000 (pcnet32)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:f4:95:e3", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

 

克隆后的系统:

[root@localhost rules.d]# cat 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 0x1022:0x2000 (pcnet32)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:f4:95:e3", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

 

我们可以看到这两个系统中的MAC地址一样。

问题解决方法:

删除克隆后这个系统中的/etc/udev/rules.d/70-persistent-net.rules文件,重启后系统会重新生成一个新的虚拟网卡MAC地址,然后把这个文件里NAME="eth1"eth1改成eth0,同时也要修改ATTR{address}里的mac地址和/etc/sysconfig/network-scripts/ifcfg-eth0文件mac地址,并与新的虚拟网卡MAC地址保持一致。

:将原文件的

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:f4:95:e3", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

 

改为SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:5c:65:b7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

 

修改/etc/sysconfig/network-scripts/ifcfg-eth0文件

DEVICE="eth0"

IPV6INIT="yes"

NM_CONTROLLED="yes"

ONBOOT="yes"

TYPE="Ethernet"

UUID="05944003-ae77-4c9d-9e58-3ec2851db71d"

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

NAME="System eth0"

HWADDR=00:0c:29:5c:65:b7

然后重启网络服务,发现一切正常了。

[root@localhost Desktop]# service network restart

Shutting down interface eth0:  Device state: 3 (disconnected)

                                                           [  OK  ]

Shutting down loopback interface:                          [  OK  ]

Bringing up loopback interface:                            [  OK  ]

Bringing up interface eth0:  Active connection state: activating

Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/1

state: activated

Connection activated          [  OK  ]


TAG:

 

评分:0

我来说两句

Open Toolbar