1. 程式人生 > >安裝OVS遇到的一些問題及解決辦法

安裝OVS遇到的一些問題及解決辦法

安裝OVS 2.5.2時,遇到了一些問題,如下

1.在執行make的時候遇到了這樣的問題:

  No rule to make target '.travis.yml', needed by 'all-am' 

我的解決辦法是重新從壓縮包中解壓一份程式碼出來,在configure之後使用 make all 來編譯,從而解決該錯誤,然後執行make install 即可。

2.核心無法安裝上的問題:

在安裝好OVS之後,對核心層程式碼修改,使用原方法進行編譯安裝後,發現修改後的核心層並沒有被真正安裝進去。

./configure --with-linux=/lib/modules
/`uname -r`/build ##安裝到核心層的配置

遇到這個問題,可能是因為在安裝過程中核心模組openvswitch正在被佔用,所以無法修改。我解決的方法如下:

在安裝修改的程式碼後,使用make modules_install載入模組之前,先使用lsmod |grep openvswitch檢視核心模組openvswtch是否被佔用,如果被佔用,會出現openvswtich之類的字樣,並且openvswitch的第三列是一個非0的數字,如下圖:

lsmod |grep openvswitch

此時使用sudo ovs-dpctl show檢視核心,應該會有一個ovs-system的datapath,需要使用sudo ovs-dpctl del-dp ovs-system

刪除剛才看到的datapath。

接下來使用rmmod openvswitch來移除openvswitch核心模組,再使用lsmod|grep openvswitch應該就沒有openvswitch字樣。(如果之前不先使用 ovs-dpctl del-dp命令刪除datapath,則此步驟在rmmod時可能會出現 Module openvswitch is in use字樣,就無法移除掉openvswitch核心模組。所以最好先看下模組是否正在被佔用,沒有被佔用則可以直接rmmod,佔用則先刪除datapath

最後再使用make modules_install安裝模組即可。