安装OVS遇到的一些问题及解决办法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hang404/article/details/71107004

安装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安装模块即可。

猜你喜欢

转载自blog.csdn.net/hang404/article/details/71107004