2021-05-12 14:32:11
Linux解決Device eth0 does not seem to be present,delaying initialization問題
問題前提:
在VirtualBox中克隆Linux伺服器,如下,由CentOS6.5_Base克隆得到node01伺服器,採用的是完全克隆的方式,克隆時重新初始化MAC地址。
原伺服器Centos6.5_Base的IP地址是192.168.137.10,原本打算是:將克隆得到的伺服器node01的IP地址設定成192.168.137.31。
那麼很自然的,當我啟動node01之後,自然而然想到的就是要去修改/etc/sysconfig/network-script目錄下的網路介面組態檔ifcfg-ethXXX,將檔案中的IP修改為192.168.137.31。
如上圖,除了ifcfg-lo回環網路組態檔之外就是ifcfg-eth0了,則我修改ifcfg-eth0檔案,將其中IP修改如下:
註:其實mac地址也是影響設定的一個重要點,為了更清楚第闡述現在這個問題,這裡我把組態檔中mac地址設定給注釋掉了(沒關係的,檔案中不設定mac地址也可以)。
接著使用service network restart命令重新啟動網路:
於是,就出現了Device eth0 does not seem to be present的問題。
解決方法:
針對這個問題,有兩種解決方法。其實這兩種方法的最終解決手段是一樣的,只不過過程不同而已。
方法一:
使用ifconfig -a命令。
如上圖,可以看到目前伺服器所擁有的是eth1這個網絡卡(且對應的mac地址是08:00:27:93:B8:C2),而我們的組態檔ifcfg-eth0中給網絡卡設定的名稱卻是eth0。這是不對的,下面我們改過來。
註:如果你願意的話,這裡同時也可以將HWADDR的井號註釋去掉,並把等號後面修改為正確的mac地址08:00:27:93:B8:C2。
接著重新啟動網路。
可以看到,網絡卡啟動成功了。
方法二:
該方法參考自《CentOS Linux解決Device eth0 does not seem to be present》
下面簡單總結一下它的步驟:
檢視/etc/udev/rules.d/70-persistent-net.rules檔案
看到最後一行,裝置是eth1,對應的mac地址是08:00:27:93:b8:c2。記錄下來,然後像上面一樣,把這兩項修改到組態檔ifcfg-eth0檔案中,然後重新啟動網路即可。
小結:
1)其實方法二中的/etc/udev/rules.d/70-persistent-net.rules檔案才是根源,因為該檔案中給網絡卡設定的名稱是eth1,所以在第一種方法中使用ifconfig -a命令檢視到的才是eth1,假如這裡寫的是eth3,那麼用ifconfig -a命令檢視到的也將是eth3。
2)最後,到這裡,其實已經解決了Device eth0 does not seem to be present的問題了,不過我們也注意到了,我們在ifcfg-eth0檔案中設定eth1的資訊,感覺有點擰巴對不對……我們大部分人想要的應該是——我的ifcfg-eth0介面組態檔中,對應的設定就應該是網絡卡eth0的資訊,至於網絡卡eth1,則應該是在ifcfg-eth1檔案中進行設定。關於這個問題,可以參考《Linux系統修改網絡卡名稱(eth1修改為eth0)》。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址:https://www.linuxidc.com/Linux/2018-08/153408.htm
相關文章