vmware虛擬機器網路卡裝置名與配置檔案不符的故障處理

junsansi發表於2011-10-19
Vmware Server中建立虛擬機器node1,安裝了最新的centos6,而後採用複製虛擬機器檔案的方式快速建立了node2,啟動node2系統時vmware提示檢測到系統變動,選擇I copied,以便其能重新配置網路卡,之前的諸多rhel4/5系統均如何操作並正常。
複製出的node2啟動後,按照之前的經驗也是首先去修改網路卡的配置,但進入到/etc/sysconfig/network-script目錄,看到ifcfg-eth[N]與ifconfig中顯示的裝置並不匹配。
Ifcfg中配置了eth0,但ifconfig命令顯示當前裝置的網路卡為eth1:
[root@node2 ~]# ifconfig
eth1      Link encap:Ethernet  HWaddr 00:0C:29:BB:E2:19  
         inet addr:10.0.14.88  Bcast:10.0.15.255  Mask:255.255.240.0
         inet6 addr: fe80::20c:29ff:fedd:f7cf/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:59751 errors:0 dropped:0 overruns:0 frame.:0
         TX packets:259 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:4128373 (3.9 MiB)  TX bytes:43361 (42.3 KiB)
初始以為是複製時配置有誤,或者系統識別的問題,於是在vmware的管理介面刪除了網路卡,而後再重新新增,再次檢視ifconfig,這下發現eth1也不見了,網路卡裝置名變成了eth2:
[root@node2 ~]# ifconfig
eth1      Link encap:Ethernet  HWaddr 00:0C:29:DD:F7:CF  
         inet addr:10.0.14.88  Bcast:10.0.15.255  Mask:255.255.240.0
         inet6 addr: fe80::20c:29ff:fedd:f7cf/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:16454 errors:0 dropped:0 overruns:0 frame.:0
         TX packets:4159 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:4128373 (2.1 MiB)  TX bytes:43361 (451.3 KiB)
Vmware的虛擬機器也配置過很多個,從未遇到過這種問題,懷疑應該是跟centos6的系統有關係,但面對這種無頭緒問題真不知道該從何處下手,趕緊向成師傅(http://blog.sina.com.cn/winpub)請教,大師出馬果然不同反響,很快就定位到了/etc/udev/rules.d/70-persistent-net.rules:
[root@node2 rules.d]# more /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) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:68:cf:fd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:bb:e2:19", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:dd:f7:cf", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
# PCI device 0x8086:0x100f (e1000) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:dd:f7:cf", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
經過大師的分析,認為應該是系統啟動時對裝置名的識別紊亂導致,解決起來也很簡單,刪除檔案中的無用配置,僅保留最後一條eth0的配置即可,而後重啟機器,問題解決。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-709339/,如需轉載,請註明出處,否則將追究法律責任。

相關文章