天天看點

Linux 克隆虛拟機引起的“Device eth0 does not seem to be present, delaying initialization”(親測重要)

虛拟機Vmware上克隆了一個Red Hat Enterprise Linx啟動時發現找不到網卡,如下所示,如果你在指令視窗啟動網絡服務就會遇到”Device eth0 does not seem to be present, delaying initialization“錯誤

Linux 克隆虛拟機引起的“Device eth0 does not seem to be present, delaying initialization”(親測重要)

關于這個錯誤,搜尋了一下網上的資料,發現還蠻多人遇到過這類錯誤,了解了一下錯誤産生的原因和解決方案

錯誤原因:

    克隆的Linux系統在新的機器上運作,新伺服器網卡實體位址已經改變。而/etc/udev/rules.d/70-persistent-net.rules這個檔案确定了網卡和MAC位址的資訊之間的綁定,克隆後的網卡的MAC已經發生了變化,是以導緻系統認為網絡裝置不存在,網絡不能正常啟動。另外一個就是/etc/sysconfig/network-scripts/ifcfg-eth0裡面MAC位址也是以前的舊資訊。

   關于/etc/udev/rules.d/70-persistent-net.rules這個檔案,系統在啟動時會自動監測變化,然後由/lib/udev/write_net_rules寫入到/etc/udev/rules.d/70-persistent-net.rules中一個新的配置節,網卡的的序号依次遞增(如原來為eth0,則修改第一後生成一個eth1,再次修改後生成一個eth2...),且其ATTR{address}的值為目前網卡對應的mac位址。

解決方法:

1:編輯/etc/sysconfig/network-scripts/ifcfg-eth0配置檔案,将ifcfg-eth0的配置檔案裡裡面以前的關于MAC位址這一行删除掉或修改。另外克隆的伺服器的IP設定的是靜态IP,要麼修改為一個其它的IP位址或設定為動态IP,重新開機網卡服務

2:找到/etc/udev/rules.d/70-persistent-net.rules 删除後重新開機機器,系統會自動生成一個70-persistent-net.rules檔案。

因為這個檔案綁定了網卡和MAC位址,換了網卡以後MAC位址變了,是以不能正常啟動,也可以直接編輯這個配置檔案把裡面的網卡和MAC位址修改成對應的,不過這樣多麻煩,直接删除重新開機,它會自動生成個一個新的檔案。

删除前70-persistent-net.rules的内容

Linux 克隆虛拟機引起的“Device eth0 does not seem to be present, delaying initialization”(親測重要)

重新生成的70-persistent-net.rules的内容

Linux 克隆虛拟機引起的“Device eth0 does not seem to be present, delaying initialization”(親測重要)

重新開機過後OK,但是我想将測試伺服器設定為動态IP,于是在/etc/sysconfig/network-scripts/ifcfg-eth0配置檔案裡面修改了一番,但是老是擷取不到IP位址,将位址改為靜态IP位址又沒有問題,折騰了好久,最後悲催的發現需要運作dhclient指令才能擷取動态IP位址。

來源:Linux 克隆虛拟機引起的“Device eth0 does not seem to be present, delaying initialization” - 士子 - 部落格園

繼續閱讀