因为Mininet的方便且易用,以及实验条件及真实设备的不足,它已经被越来越多的SDN学习者使用。但在Mininet使用中,安装使用的内置Open vSwitch版本都比较低,使用者无法进行发布的新版本的使用及验证。因此,本文主要是将更新升级Mininet内置的Open vSwitch版本升级,通过重新下载安装Open vSwitch并进行配置,获取并使用Open vSwitch较高版本。
1 环境准备
主要使用ubuntu-13.10 64位操作系统,Mininet版本为2.1.0,内部已使用的Open vSwitch版本是1.10.2。 在Ubuntu13.10系统中安装Mininet-2.1.0版本简单提一下。
1.1 安装Mininet
1 |
sudo apt-get install mininet |
1.2 禁止Open VSwitch Controller开机自启动
1 2 |
sudo service openvswitch-controller stop sudo update-rc.d openvswitch-controller disable |
1.3 测试Mininet安装
1 |
sudo mn --test pingall |
Mininet安装并验证成功后检验Mininet环境:
1、查看Mininet版本
1 2 |
# mn --version 2.1.0 |
2、查看Open vSwitch版本
1 2 3 |
# ovs-vsctl --version ovs-vsctl (Open vSwitch) 1.10.2 Compiled Sep 23 2013 14:53:13 |
2 操作步骤
2.1 下载Open vSwitch
我们升级Open vSwitch到目前最新的版本2.3.0(2014年8月14日发布),下载OpenvSwitch2.3.0(注:可下载自己需要安装的Open vSwitch版本)。
1 2 3 4 5 6 |
cd /home mkdir openvswitch cd openvswitch wget http://openvswitch.org/releases/openvswitch-2.3.0.tar.gz tar -xzf openvswitch-2.3.0.tar.gz cd openvswitch-2.3.0 |
注:为以防下文中生成的deb安装出现不必要的麻烦,建议新建目录openvswitch,在新建目录中下载Open vSwitch的包,以便后文生成的deb包在此目录下执行。
2.2 安装依赖
安装Open vSwitch需要如下依赖:
1 2 |
# apt-get install build-essential fakeroot # apt-get install debhelper autoconf automake libssl-dev pkg-config bzip2 openssl python-all procps python-qt4 python-zope.interface python-twisted-conch |
执行下面命令检查依赖是否已全部安装,没有安装的继续安装:
1 |
dpkg-checkbuilddeps |
2.3 编译Open vSwitch
构建Debian包:
1 |
fakeroot debian/rules binary |
执行此命令后,将生成用于安装Open vSwitch交换机的deb包。
2.4 安装Open vSwitch
(1)安装Open vSwitch:
1 2 |
cd .. #即退出到新创建的openvswitch目录 dpkg -i *.deb |
(2)禁止Open VSwitch Controller开机自启动
1 2 |
# /etc/init.d/openvswitch-controller stop # update-rc.d openvswitch-controller disable |
(3)重启Open vSwitch
1 |
/etc/init.d/openvswitch-switch restart |
2.5 验证安装
检验OVS版本,版本已经由1.10.2升到到2.3.0:
1 2 3 4 |
# ovs-vsctl --version ovs-vsctl (Open vSwitch) 2.3.0 Compiled Nov 7 2014 09:38:44 DB Schema 7.6.0 |
检验Mininet版本,Mininet版本还是2.1.0,如查看结果显示:
1 2 |
# mn --version 2.1.0 |
验证Mininet是否在正常使用:
3 后语
以上就是升级Mininet里面的Open vSwitch版本的方法,但是目前的Mininet版本还不支持OpenFlow版本的选择,有兴趣的同学可以参考本网站的技术文章《OpenDaylight氦版本支持OpenFlow1.3协议验证》中的关于Mininet的OpenFlow1.3协议进一步配置。