替换Mininet自带Open vSwitch

warjiang

需要做些SDN相关测试,用了mininet,但是mininet自带额Open vSwitch的版本是不够高(目前是2.0.2),保证测试与部署的一致性,需要替换mininet自带的ovs。

1. 移除mininet自带的老版本ovs

apt-get remove openvswitch-common openvswitch-datapath-dkms openvswitch-controller openvswitch-pki openvswitch-switch

2. 到ovs的官网下载自己需要的ovs版本.

3. 准备对应版本的内核

下面就准备开始替换ovs了。需要注意的是ovs的版本需要和linux内核的版本对应起来。具体可以参考这篇文章

4. 替换ovs可以采用两种方式,源码编译与deb包的方式。

4.1 源码编译方式

cd openvswitch-x.y.z/
./configure --prefix=/usr --with-linux=/lib/modules/`uname -r`/build
make
make install
make modules_install
rmmod openvswitch
depmod -a

4.2 deb包的方式

这种方式属于一劳永逸的方式,把ovs提供的源码打成deb包,后面直接安装deb包就可以了,具体过程如下:

cd openvswitch-x.y.z/
apt-get install build-essential fakeroot
apt-get install debhelper autoconf automake libssl-dev pkg-config bzip2 openssl python-all procps python-qt4 python-zopeinterface python-twisted-conch
fakeroot debian/rules binary
cd ..
dpkg -i openvswitch-common*.deb openvswitch-datapath-dkms*.deb openvswitch-controller*.deb openvswitch-pki*.deb openvswitch-switch*.deb

这个时候再当前源码目录的上级目录就生成了若干deb文件,安装之。相对而言的话,个人感觉deb包的方式更加好一点。

5. 后续扫尾及验证

开机禁用openvswitch-controller,如下:

/etc/init.d/openvswitch-controller stop
update-rc.d openvswitch-controller disable

启动ovs server进程:

/etc/init.d/openvswitch-switch start

验证OVS版本,以及OVS是否被安装到内核中:

ovs-vsctl show
6fd8346d-5eaf-42c0-b72a-ca47802ccc01
ovs_version: "2.3.1"

modinfo openvswitch 
filename:       /lib/modules/3.13.0-24-generic/updates/dkms/openvswitch.ko
version:        2.3.1
license:        GPL
description:    Open vSwitch switching datapath
srcversion:     1245CFE45972A2BD66BF409
depends:        libcrc32c,vxlan,gre
vermagic:       3.13.0-24-generic SMP mod_unload modversions

6. 参考

Installing-new-version-of-Open-vSwitch

阅读 5k

warjiang
关注web全栈开发
556 声望
14 粉丝
0 条评论
556 声望
14 粉丝
文章目录
宣传栏