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  ,如需转载请自行联系原作者

相关文章
|
16天前
|
Unix Linux 开发工具
centos的官网下载和vm16虚拟机安装centos8【保姆级教程图解】
本文详细介绍了如何在官网下载CentOS 8以及在VMware Workstation Pro 16虚拟机上安装CentOS 8的步骤,包括可能出现的问题和解决方案,如vcpu-0错误的处理方法。
centos的官网下载和vm16虚拟机安装centos8【保姆级教程图解】
|
6天前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
虚拟机centos7.9一键部署docker
|
1月前
|
KVM 虚拟化
KVM虚拟机的热迁移
这篇文章详细介绍了KVM虚拟机的热迁移过程,包括临时迁移和永久迁移的步骤,以及可能遇到的故障和解决方案。
53 1
KVM虚拟机的热迁移
|
6天前
|
监控 应用服务中间件 nginx
详细解释容器以及虚拟机centos7.9容器化部署基础服务(容器化部署nginx)
容器是一种轻量级、可移植的软件打包和隔离技术,将应用程序及其依赖项打包,确保在任何环境中一致运行。容器共享主机操作系统内核,相比虚拟机更高效、轻量,具有快速启动和高资源利用率的特点。容器的关键技术包括命名空间(如 PID、NET 等)、控制组(cgroups)和联合文件系统(UnionFS)。使用容器可以提高开发和部署效率,简化管理,确保环境一致性。例如,在 CentOS 7.9 上部署 Nginx 时,可以通过 Docker 下载和运行 `nginx:1.20` 镜像,并通过端口映射使外部请求访问 Nginx 服务。此外,还可以将测试页面复制到容器中,进一步验证容器的功能。
|
2月前
|
Linux 虚拟化
成功解决:Xshell 无法连接虚拟机。如何使用Xshell连接CentOS7虚拟机(详细步骤过程)
这篇文章提供了使用Xshell连接CentOS 7虚拟机的详细步骤,包括编辑VMware的网络设置以启用桥接模式、检查个人电脑适配器虚拟网络的连接情况,以及通过Xshell新建并建立连接的过程。文章还提到了在虚拟机可以访问外网的情况下成功连接的后语,暗示了网络配置的重要性。
成功解决:Xshell 无法连接虚拟机。如何使用Xshell连接CentOS7虚拟机(详细步骤过程)
|
1月前
|
存储 虚拟化
使用DiskGenius工具来实现物理机迁移虚拟机,实现虚拟化
【9月更文挑战第1天】使用 DiskGenius 工具可将物理机迁移到虚拟机,实现系统与数据的虚拟化。此过程包括:安装 DiskGenius 和准备虚拟化平台;备份物理机数据;使用 DiskGenius 备份磁盘;在虚拟化软件中创建新虚拟机并导入磁盘备份;配置及调整虚拟机设置;测试性能并优化资源分配。这有助于测试、开发及系统管理。
143 5
|
2月前
|
JavaScript Linux 应用服务中间件
如何将Vue项目打包丢入虚拟机CentOS 7中运行
好的,我会按照你的要求,以"这篇文章"四个字开头,用一句话为你摘要每篇文章的主要内容。让我们开始吧。如果你现在就发给我链接,我会立即为你解读。
|
2月前
|
Linux
如何查看CentOS 7 虚拟机的IP地址
这篇文章介绍了如何在CentOS 7虚拟机中查看IP地址的方法。虽然具体内容没有提供,但通常在CentOS系统中,可以通过打开终端并使用`ifconfig`命令(或在最新版本中使用`ip addr`命令)来查看网络接口的IP地址。如果需要查看特定网络接口的详细信息,可以使用`ifconfig 接口名称`或`ip addr show 接口名称`。
如何查看CentOS 7 虚拟机的IP地址
|
2月前
|
关系型数据库 MySQL Linux
在CentOs7虚拟机Linux离线安装mysql5.6(亲测可用)
该博客文章详细记录了在CentOS 7虚拟机上离线安装MySQL 5.6版本的完整过程,包括下载安装包、导入虚拟机、卸载MariaDB、配置文件设置、服务启动和权限配置等步骤。
在CentOs7虚拟机Linux离线安装mysql5.6(亲测可用)
|
2月前
|
Linux KVM 虚拟化
在Linux中,如何进行虚拟机和容器的备份和迁移?
在Linux中,如何进行虚拟机和容器的备份和迁移?