CentOS7虚拟机启动后网卡名改变

第一个问题

在CentOS7启动后,发现出现了一块名为eth1的网卡,但是网卡上并没有ip地址。eth0的网卡不见了。然后查看了一下网卡的配置文件:

cat /etc/sysconfig/network-scripts/ifcfg-eth0

发现,并没有eth1网卡的配置文件。
然后,查看/etc/udev/rules.d/70-persistent-ipoib.rules中,有两块网卡。于是怀疑可能是网卡的配置文件和实际的网卡没有绑定上。于是再次查看ifcfg-eth0的内容,发现其中网卡名称的字段,NAME=enp3s0,这应该是从别处复制过来的配置文件内容,和真实的网卡名称不匹配。
NAME字段是表示网卡的物理设备名称,如果写的名称和真实设备名称不匹配,那么那块网卡的名称就会发生变化,因为在udev/rules里面配置的是网卡名称生成的策略,会顺次变成eth1了。

在将网卡名称改好以后,重启虚拟机,发现eth0可以正常启动了,并且通过dhcp获取到了ip地址。

第二个问题

然后,我将kvm镜像拷贝了一份,重新启动了一下,发现又出现了上边出现的问题。eth0不见了,eth1出现了。于是通过

ls /sys/class/net

命令发现,现在只有一块eth1网卡,然后使用

dmesg | grep eth

发现eth1是通过eth0重命名过来的。后来发现,可能是由于重新配置了虚拟机的硬件,网卡的mac地址发生了变化,而在/etc/udev/rules.d/xxx.rules里面配置的eth0网卡的mac地址和新网卡对不上了,所以没有启动成功,就顺次添加了一个名为eth1的网卡配置。但是对应到/etc/sysconfig/network-scripts/ifcfg-eth0这个配置文件就不对了,所以出现了上边一样的问题,但是导致问题的原因又不一样了。
分析以后,感觉这个操作类似于将物理机上的原来的网卡拔掉,换了一块新的,所以原有的配置文件mac对不上了,这时候就需要将/etc/udev/rules/xxx-net-xxx.rule删掉,然后重启虚拟机就可以了。
这个问题参考了帖子:如何解决kvm网卡eth0变为eth1
如果想要做kvm镜像,到处使用,还是删除/etc/udev/rules/xxx-net-xxx.rule比较稳妥。新环境下,自动重新生成新的配置。

所以,一定一定一定要按照标准修改网卡的配置文件,不能随意复制粘贴别的服务器上的配置文件内容,否则会发生意想不到的惊喜!
网卡配置的帖子:linux 网卡配置

猜你喜欢

转载自blog.csdn.net/stpice/article/details/103648876