首頁 > 軟體

KVM虛擬機器不能存取閘道器問題排查

2020-06-16 16:34:56

問題的解決常常都會感覺很簡單,但是排查的過程比較複雜和漫長,有時候簡單的一個設定問題需要花費超出預期很長的時間才能定位到。本文針對之前遇到的KVM虛擬機器不能存取閘道器問題排查的過程記錄下來,供大家進行參考!

背景介紹

實驗室有個CentOS7的伺服器,上面建立了若干個虛擬機器。這些虛擬機器之前使用都很正常。虛擬機器通過網路橋接模式,可以上外網,存取同網段的其它節點。然而,當某次下電之後,噩夢就開始了。宿主機上電之後,宿主機的網路一切正常,存取外網,其它節點機器都很正常。虛擬機器啟動也很正常,但是就是虛擬機器的網路異常:

虛擬機器有時候能夠ping通宿主機,有時候ping不通宿主機;

虛擬機器ping不通閘道器地址,同樣也不能存取同網段的其它地址;

宿主機可以ping通虛擬機器,也可以在宿主機上ssh登入虛擬機器;

排查過程

因為在宿主機下電之前,所有的使用都是正常的,因此設定方面不大可能出現問題。根據現象,可以判斷是網橋的設定出現問題,但是到底是哪個部分的問題?為什麼重新啟動之後就發生變化了?

重新啟動節點或者網路

稍微檢查了一下網路之後,照例將宿主機重新啟動了一下,發現並沒有解決問題。

(實踐證明,重新啟動宿主機或者虛擬機器來解決問題的可能性不大)

檢查網橋的網路設定

因為在問題出現前後並沒有做手動設定的更改,因此這個方面的可能性幾乎不存在。為了穩妥起見,還是把宿主機上的設定檢查了一下

確認網路組態檔中沒有錯別字或者書寫錯誤;

確認宿主機上網路連線都是正常的(命令參考nmcli device 或者nmcli connection);

檢查路由的設定

在宿主機或者虛擬機器中檢查路由的資訊,設定都是正常的。

(命令參考route)

檢查網路的狀態

檢查網橋的狀態(命令參考brctl show),這個時候就看到虛擬機器啟動之後生成的那些虛擬機器網絡卡裝置(vnetx)並沒有附著在網橋上。

使用命令brctl addif brx vnety 將目前啟動的2個虛擬機器的網絡卡附著在網橋上。

奇怪的是,現在再啟動其它虛擬機器,對應網絡卡就自動附著在網橋上了,不需要手動進行新增操作。


IT145.com E-mail:sddin#qq.com