当你在VMware Workstation Pro中,打开从别人那里克隆来的系统,或者是开启迁移后的虚拟机系统时,VMware将会提示你:此虚拟机可能已被移动或 复制。为了配置特定的管理和网络功能。VMware Workstation需要知道是否已移动或复制了此虚拟机。如果… ..
如果机器没有任何的提示就直接开机了,或者是你选择了“ 我已复制该虚拟机(P) ”,那么说明System eth0在正常开机后可能是不能使用的。造成这个问题的关键之处在于,经过复制克隆、机器迁移后,外表VMware Workstation Pro环境对于该虚拟系统而言,默认匹配了不一致的物理网卡ID,或者是不能成功识别并加载该系统本身的物理网卡ID。 所以当VMware Workstation提示我们时,一定要慎重选择!如果一个集群中拥有了或者即将存在此镜像的复品时,请选择“我已复制该虚拟机”;如果集群中不会出现复品,那我们可以直截了当地选择“我已移动该虚拟机”。
你重新将网卡服务启动的时候:
root@localhost:/]#service network restart
你就会发现,你的机器其实存在着如下的错误:
Shutting down loopback interface: [ OK ]Bringing up loopback interface: [ OK ]Bringing up interface Auto_eth1: Error: No suitable device found: no device found for connection 'Auto eth1'. [FAILED]Bringing up interface eth0: Error: No suitable device found: no device found for connection 'System eth0'. [FAILED]
如果你的目的很单纯,就是单纯要求机器能连接外网的话,你大可不必管System eth0的死活。而且由于你在刚开机的时候,选的是“ 我已复制该虚拟机(P) ”,系统将会帮你默认生成了一个新的连接点,如: Auto eth1 。以CentOS6.4机器为例,于是乎你通过编辑Network Connections 的方法,直接修改该连接点并输入固定IP等参数。但是当你需要再次重新启动网卡服务时,如下的故障依然存在:
Shutting down loopback interface: [ OK ]Bringing up loopback interface: [ OK ]Bringing up interface Auto_eth1: Active connection state: activatedActive connection path: /org/freedesktop/NetworkManager/ActiveConnection/2 [ OK ]Bringing up interface eth0: Error: No suitable device found: no device found for connection 'System eth0'. [FAILED]
甚至于,当你使用 ifconfig 命令查看联网配置信息时,你会看到以下效果,这些效果勉强让你满意吧:
root@localhost:/]#ifconfig
eth1 Link encap:Ethernet HWaddr 00:50:56:2A:F0:26 inet addr:192.168.1.120 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::250:56ff:fe2a:f026/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:61 errors:0 dropped:0 overruns:0 frame:0 TX packets:143 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5205 (5.0 KiB) TX bytes:11074 (10.8 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:16436 Metric:1 RX packets:22 errors:0 dropped:0 overruns:0 frame:0 TX packets:22 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1180 (1.1 KiB) TX bytes:1180 (1.1 KiB)
还有一个问题就是,在同一个集群当中,如果你机器的MAC地址与其它的机器相同,造成的结果有:MAC地址发生冲突,要么你的机器连不进集群,要么连进去了却把别人的给顶掉线了。不过很显然,前者的机率要大得多。但是,对于像小编这种打死了也想钻牛角尖、眼里还容不下一丝故障的人,就是要通过System eth0进行外部的网络的访问。那么对于 Error: No suitable device found: no device found for connection 'System eth0'. 的故障应该具体怎么办呢?
纠正的方法其实也很简单,就是重新将外边VMware Workstation Pro对于该系统的MAC地址映射,与该系统内部网卡注册的标识ID匹配一致即可。再在其基础之上,进行固定IP的赋予。这里所说的都存在着一个前提,那就要求确保宿主系统的网络通路没有问题。也就是说,VMware Workstation Pro所依赖的系统环境,必须要求能够连接外网。
VMware Workstation Pro对于该虚拟系统的联网方式有以下几种描述,即:桥接模式、NAT模式、仅主机模式、自定义模式和LAN区段模式。对于外网这一概念,需要使用桥接模式或者NAT模式。但其实这些联网的描述,对于CentOS6.x或RedHat Linux 6.x能否正常以固定IP的形式访问外部网络,本质上来说其实区别并不大。具体的解决步骤如下:
1、重新设置VMware Workstation Pro对该虚拟系统的联网描述
这里选择网络连接中的桥接模式,并且在高级中分配固定的MAC地址。顺便记下该MAC地址的字符码,留着备用,如:00:50:56:2A:F0:26。弄好之后重新开机。
2、同步System eth0 MAC地址的net.rules
在Network Connections中,将其它多余的连接配置删除,只剩System eth0为止。在删除70-persistent-net.rules文件之后,重启即可。
root@localhost:/]#rm -rf /etc/udev/rules.d/70-persistent-net.rulesroot@localhost:/]#reboot
等到重新开机后,编辑70-persistent-net.rules文件,将配置内容中的NAME="eth1" 改为 NAME="eth0" 。
root@localhost:/]#vi /etc/udev/rules.d/70-persistent-net.rules
3、自定义联网参数
编辑/etc/sysconfig/network-scripts目录下的ifcfg-eth0文件。注意:HWADDR就是我们刚才所记录的MAC地址,其中的字母请尽可能选择大写的形式。
root@localhost:/]#vi /etc/sysconfig/network-scripts/ifcfg-eth0
配置文件内容如下:
DEVICE="eth0"BOOTPROTO=noneIPV6INIT="yes"NM_CONTROLLED="yes"ONBOOT="yes"TYPE="Ethernet"IPADDR=192.168.1.120PREFIX=24GATEWAY=192.168.1.1DNS1=192.168.1.1DEFROUTE=yesIPV4_FAILURE_FATAL=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noNAME="System eth0"HWADDR=00:50:56:2A:F0:26IPV6_PEERDNS=yesIPV6_PEERROUTES=yes
这里需要注意的是,GATEWAY和DNS的参数需要参照VMware Workstation Pro所依赖的系统的联网配置。即在Windows操作系统上按win+r键,运行cmd,在cmd中输入ipconfig命令回车,就可以看到Windows系统的联网信息了。如果信息中没有DNS这一项,那么在Linux配置时建议与GATEWAY配置相同参数即可。
一般在完成保存配置之后,我们的System eth0就能正常使用了,如果还是不能使用的话,建议先重启网卡服务。经过service network restart之后,出现如下内容则说明我们的配置才算真正成功了:
root@localhost:/]#service network restartShutting down loopback interface: [ OK ]Bringing up loopback interface: [ OK ]Bringing up interface eth0: Active connection state: activatingActive connection path: /org/freedesktop/NetworkManager/ActiveConnection/1state: activatedConnection activated [ OK ]