當你在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: activated Active 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.rules
root@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=none IPV6INIT="yes" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" IPADDR=192.168.1.120 PREFIX=24 GATEWAY=192.168.1.1 DNS1=192.168.1.1 DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME="System eth0" HWADDR=00:50:56:2A:F0:26 IPV6_PEERDNS=yes IPV6_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 restart 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 ]