开发者社区> 技术小甜> 正文

CentOS6 虚拟机迁移后网卡名更改问题解决

简介:
+关注继续查看

实验过程中,我们经常需要复制虚拟机,以模仿生产过程中同等配置的条件。

但无论是初次打开,选择"我已复制该虚拟机“也好,还是在虚拟机设置>网络适配器>高级中重新生成Mac地址,开机后选择”我已移动该虚拟机“也罢。开机后查询IP时,我们都会很遗憾的发现,网卡的名字,不一样了。

这是因为原Mac地址占用旧网卡,新Mac地址只能使用新的网卡名称。复制虚拟机为了不与原虚拟机冲突,也是生成了新的Mac地址。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@centos6 ~]# ifconfig
eth2      Link encap:Ethernet  HWaddr 00:50:56:22:C9:22  
          inet addr:192.168.234.187  Bcast:192.168.234.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fe22:c922/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:806 (806.0 b)  TX bytes:1152 (1.1 KiB)
eth3      Link encap:Ethernet  HWaddr 00:50:56:3A:FD:74  
          inet addr:172.17.251.174  Bcast:172.17.255.255  Mask:255.255.0.0
          inet6 addr: fe80::250:56ff:fe3a:fd74/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2565 errors:0 dropped:0 overruns:0 frame:0
          TX packets:61 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:243027 (237.3 KiB)  TX bytes:9974 (9.7 KiB)
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:240 (240.0 b)  TX bytes:240 (240.0 b)

虽然不影响使用,但怎么看都不舒服啊。而且有些实验中网卡名不统一也只有麻烦。正所谓没有标准化就很难进行自动化管理。

那么,如何更改迁移后的虚拟机的网卡名呢?


(1).修改配置文件/etc/udev/rules.d/70-persistent-net.rules 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@centos6 ~]# vim /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:13:d6:94", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
 
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:13:d6:9e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
 
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:22:c9:22", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
 
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:3a:fd:74", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"

删除原Mac,更改NAME值,搞定。改好后是这个样子。

1
2
3
4
5
6
7
8
9
10
11
[root@centos6 rules.d]# vim /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:50:56:22:c9:22", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:3a:fd:74", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
~

(2).重启或重装网卡驱动,使配置文件生效

查看网卡驱动名:ethtool -i eth2或dmesg|grep -i eth

卸载网卡驱动:modprobe -r e1000 或rmmod e1000

装载网卡驱动:modprobe e1000

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
[root@centos6 rules.d]# dmesg|grep -i eth
e1000 0000:02:01.0: eth0: (PCI:66MHz:32-bit) 00:50:56:3a:fd:74
e1000 0000:02:01.0: eth0: Intel(R) PRO/1000 Network Connection
e1000 0000:02:02.0: eth1: (PCI:66MHz:32-bit) 00:50:56:22:c9:22
e1000 0000:02:02.0: eth1: Intel(R) PRO/1000 Network Connection
udev: renamed network interface eth1 to eth2
udev: renamed network interface eth0 to eth3
e1000: eth3 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
8021q: adding VLAN 0 to HW filter on device eth3
e1000: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
8021q: adding VLAN 0 to HW filter on device eth2
eth2: no IPv6 routers present
eth3: no IPv6 routers present
#阿拉的网卡驱动只有e1000一块,所以阿拉卸载一块就够了。有的网卡名不一样,要分别卸载
[root@centos6 rules.d]# rmmod e1000
#再用ifconfig查看会发现原网卡信息不见了。(阿拉这一步就不粘代码了)
#装载网卡驱动
[root@centos6 rules.d]# modprobe e1000
#再次查看,修改成功
[root@centos6 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:56:22:C9:22  
          inet addr:192.168.234.187  Bcast:192.168.234.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fe22:c922/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:746 (746.0 b)  TX bytes:1152 (1.1 KiB)
 
eth1      Link encap:Ethernet  HWaddr 00:50:56:3A:FD:74  
          inet addr:172.17.251.174  Bcast:172.17.255.255  Mask:255.255.0.0
          inet6 addr: fe80::250:56ff:fe3a:fd74/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:475 errors:0 dropped:0 overruns:0 frame:0
          TX packets:50 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:48665 (47.5 KiB)  TX bytes:7289 (7.1 KiB)
 
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:80 errors:0 dropped:0 overruns:0 frame:0
          TX packets:80 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:6148 (6.0 KiB)  TX bytes:6148 (6.0 KiB)



















本文转自阿拉杜美美51CTO博客,原文链接:http://blog.51cto.com/amelie/1962642 ,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
linux、centOS虚拟机出现entering emergency mode解决方案
linux、centOS虚拟机出现entering emergency mode解决方案
79 0
Linux基础,系统概叙与虚拟机搭建+CentOS系统安装(建议收藏)(三)
Linux基础,系统概叙与虚拟机搭建+CentOS系统安装(建议收藏)
40 0
Linux基础,系统概叙与虚拟机搭建+CentOS系统安装(建议收藏)(二)
Linux基础,系统概叙与虚拟机搭建+CentOS系统安装(建议收藏)
58 0
Linux基础,系统概叙与虚拟机搭建+CentOS系统安装(建议收藏)(一)
Linux基础,系统概叙与虚拟机搭建+CentOS系统安装(建议收藏)
48 0
CentOs主机能够ping通虚拟机,虚拟机无法ping通主机 解决方案
CentOs主机能够ping通虚拟机,虚拟机无法ping通主机 解决方案
35 0
Linux:1.linux文学常识+2.安装VM和Centos+3.linux三大分区+4.网络连接三模式+5.虚拟机的克隆+6.安装vmtools+7.llinux目录结构
Linux:1.linux文学常识+2.安装VM和Centos+3.linux三大分区+4.网络连接三模式+5.虚拟机的克隆+6.安装vmtools+7.llinux目录结构
50 0
KVM虚拟机管理工作二(虚拟机磁盘优化,Centos进入dracut模式,报 /dev/centos/swap does not exist,如何恢复)
KVM虚拟机管理工作二(虚拟机磁盘优化,Centos进入dracut模式,报 /dev/centos/swap does not exist,如何恢复)
155 0
五分钟学会虚拟机centos 7忘记root密码如何解决(你想要什么,不要等人送)
五分钟学会虚拟机centos 7忘记root密码如何解决(你想要什么,不要等人送)
96 0
win10 centos虚拟机搭建->vagrant+virtualbox
win10 centos虚拟机搭建->vagrant+virtualbox
55 0
使用FinalShell连接已经搭好的虚拟机(centos 7)
使用FinalShell连接已经搭好的虚拟机(centos 7)
542 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
基于英特尔 SSD 的虚拟机缓存解决SSD
立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手
立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册
立即下载