您好,登錄后才能下訂單哦!
用clone方法復(fù)制出的Ubuntu虛擬機啟動后,盡管IP等網(wǎng)絡(luò)信息不和其他虛擬機沖突,但就是無法ping通其他虛擬機。
創(chuàng)建得到的虛擬機信息:
復(fù)制得到的虛擬機信息:
通過觀察網(wǎng)絡(luò)配置文件,發(fā)現(xiàn)兩臺虛擬機的網(wǎng)卡名稱是最大的區(qū)別。按照常理,當系統(tǒng)中只有一塊網(wǎng)卡時,Linux的硬件偵測程序會把它標識為第一塊網(wǎng)卡,即在Ubuntu中應(yīng)顯示為編號0而不是1。這就意味著,復(fù)制得到的虛擬機中還應(yīng)存在一張網(wǎng)卡,只不過由于未被偵測到而未能掛載到Ubuntu系統(tǒng)中,而這張看不見的網(wǎng)卡就是編號為0的第一網(wǎng)卡。
經(jīng)查詢Ubuntu的硬件注冊機制文檔得知,/lib/udev/writenetrules會在系統(tǒng)安裝好后自動生成一個記錄當前網(wǎng)卡硬件信息的文件70-persistent-net.rules,這個文件一般存放在目錄 /etc/udev/rules.d/ 中。
它的內(nèi)容大致如下:
這個文件中記錄了網(wǎng)卡的MAC地址及對應(yīng)的設(shè)備名稱。Linux開機后,系統(tǒng)會檢查當前掛載的設(shè)備是否與配置文件中記錄的信息向一致,入不一致就不會激活相關(guān)設(shè)備。具體到此處而言就是,Ubuntu開機后,設(shè)備偵測程序發(fā)現(xiàn)當前網(wǎng)卡的MAC地址與/etc/udev/rules.d/70-persistent-net.rules 中所記載的信息不一致,因此會將編號0保留給70-persistent-net.rules已記錄的MAC地址(盡管編號0未掛載到當前系統(tǒng))、將編號1分配給當前網(wǎng)卡的MAC地址并拒絕激活當前網(wǎng)卡。
因此,在解決這類故障時有兩種思路:一是修改 70-persistent-net.rules 中的設(shè)備信息記錄,二是使已存在的記錄失效。
如果是在生產(chǎn)環(huán)境中解決此類故障,建議修改 70-persistent-net.rules 中的記錄,或者采用注釋的方式使記錄失效。如果是實驗環(huán)境或者非重要環(huán)境可以刪除文件 70-persistent-net.rules 或者以修改文件名的方式備份。
CentOS 6后,CentOS改變了設(shè)備的命名方式,采用一致性設(shè)備命名規(guī)范,同時支持biosdevname和net.ifnames規(guī)范,因此不能再依靠設(shè)備編號來識別網(wǎng)卡了,但網(wǎng)卡的MAC地址是全球唯一的,因此在CentOS中解決這類故障時,上述兩個思路依舊有效。
更換網(wǎng)卡后,新網(wǎng)卡不能被激活也是因為有這個文件的存在,刪除后重啟系統(tǒng)即可激活新網(wǎng)卡。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。