Ubuntu14.04下源码安装ONOS1.3.0



  • ONOS是由ON.Lab使用Java及Apache实现发布的首款开源的SDN网络操作系统,主要面向服务提供商和企业骨干网。近日笔者在学习ONOS的过程中写下了这篇文章,希望可以对刚接触ONOS的同学们带来一些帮助。

    1.系统环境及软件依赖说明

    本次安装在官方推荐的系统环境下进行,官方推荐:

    • Ubuntu Server 14.04 LTS 64-bit
    • 2GB or more RAM
    • 2 or more processors

    安装ONOS所依赖的软件(按官方推荐版本):

    • Java 8 JDK (Oracle Java recommended; OpenJDK is not as thoroughly tested)
    • Apache Maven 3.3.1
    • git
    • bash (for packaging & testing)
    • Apache Karaf 3.0.3

    2.安装说明

    本次安装分为以下几个步骤:

    • 安装ONOS依赖:Maven,Karaf 和Java 8 JDK
    • 从源码安装ONOS,以ONOS1.3.0为例
    • 验证ONOS安装是否成功

    3.开始安装

    3.1 目录说明

    本次安装将使用以下几个目录:

    • ~/Downloads:安装过程中下载的所有软件包都存放在这里
    • ~/Applications:ONOS依赖的Maven和Karaf都将解压到这里使用
    • ~/onos:安装好的ONOS将放在这个目录下

    注意
    目录列表中的’~'表示用户目录,不了解可查阅相关Linux说明。

    新手建议严格使用以上几个目录,这样比较方便环境变量的配置。在后面的安装过程中会逐渐创建并使用这几个目录,您读到这里时无需创建。

    3.2 下载安装Maven和Karaf,下载ONOS源码

    注意:在今后的安装过程中使用普通用户权限即可,使用ROOT权限将给以后的使用带来很多不便!

    build:~$ cd ~         #进入用户目录,准备后面的操作
    build:~$ cd; mkdir Downloads Applications         #创建存放软件和安装软件的目录
    build:~$ cd Downloads       #进入下载目录准备下载Maven和Karaf
    build:~$ wget http://archive.apache.org/dist/karaf/3.0.3/apache-karaf-3.0.3.tar.gz#下载Karaf
    build:~$ wget http://archive.apache.org/dist/maven/maven-3/3.3.1/binaries/apache-maven-3.3.1-bin.tar.gz  #下载Maven
    build:~$ tar -zxvf apache-karaf-3.0.3.tar.gz -C ../Applications/    #解压到Application目录
    build:~$ tar -zxvf apache-maven-3.3.1-bin.tar.gz -C ../Applications/  #解压到Application目录
    build:~$ git clone https://gerrit.onosproject.org/onos   #使用git下载onos源码
    build:~$ git checkout 1.3.0   #切换到要安装的版本,此处以ONOS1.3.0版本为例
    build:~$ cp -r onos ~/     #将要安装的ONOS源码复制到~/onos处
    

    关于Maven和Karaf版本的说明:此处建议使用推荐的karaf-3.0.3和Maven-3.3.1,因为这与ONOS开发者当前使用环境相同,同样是为了方便配置环境变量和减少版本不一致带来的错误。在ONOS源码的pom.xml中有对Maven最低版本的说明。如您使用了不同此处的版本,需对环境变量进行一些修改,在后文3.4节中关于会有说明。

    3.3 安装Oracle Java8

    build:~$ sudo apt-get install software-properties-common -y
    build:~$ sudo add-apt-repository ppa:webupd8team/java -y
    build:~$ sudo apt-get update
    build:~$ sudo apt-get install oracle-java8-installer oracle-java8-set-default -y
    

    请确保安装好Java8并可使用,其他版本可能会导致ONOS运行发生错误,使用java -version可查看安装好的Java版本:

    Ubuntu14.04下源码安装ONOS1.3.0 图1.png

    3.4 环境变量配置

    build:~$ echo ".  ~/onos/tools/dev/bash_profile" >> ~/.profile  #将源码中ONOS相关的环境变量导入用户环境中
    build:~$ source ~/.profile     #使环境变量生效
    

    注意:
    如果您安装的Karaf、Maven的版本或目录与上面的不同,请自行更改~/onos/tools/dev/bash_profile中环境变量的值。如果先前已安装过ONOS,Karaf或Maven,请确保清除掉先前的环境变量值对现在的影响。

    3.5 源码安装ONOS1.3.0

    build:~$ cd ~/onos
    build:~$ mvn clean install  #或者使用别名"mci",想跳过自动测试可以加上 -Dmaven.test.skip=true
    

    出现BUILD SUCCESS的提示表明安装成功

    4.运行ONOS1.3.0

    按照以下步骤进行:

    $ export ONOS_IP=本机IP    #设置ONOS所在主机的IP
    $ export ONOS_APPS=drivers,openflow,proxyarp,mobility,fwd      #设置要启动的APP
    $ ok clean               #启动ONOS
    

    如下图,启动成功。

    Ubuntu14.04下源码安装ONOS1.3.0 图2.png

    5.验证安装

    在这里我们可以通过ONOS中的Web UI来查看ONOS状态,访问WEB:
    地址:http://ONOS所在机器IP:8181/onos/ui/index.html
    默认登陆账号密码为:
    karaf
    Karaf

    如下图:

    Ubuntu14.04下源码安装ONOS1.3.0 图3.png

    Ubuntu14.04下源码安装ONOS1.3.0 图4.png

    6.运行简单的测试

    在这里笔者通过Mininet创建了一个简单的SDN网络,连接启动的ONOS作为控制器。步骤如下:
    1.使用Mininet创建虚拟网络,并指定ONOS作为控制器

    $:sudo sudo mn --controller=remote,ip=192.168.0.75,port=6633
    

    Ubuntu14.04下源码安装ONOS1.3.0 图5.png

    2.查看网络中的交换机是否成功连接至ONOS
    可以在ONOS控制台中查看,也可以通过WebUI查看,如下图:

    Ubuntu14.04下源码安装ONOS1.3.0 图6.png

    Ubuntu14.04下源码安装ONOS1.3.0 图7.png

    Ubuntu14.04下源码安装ONOS1.3.0 图8.png

    3.在Mininet中运行pingall,查看网络视图变化

    Ubuntu14.04下源码安装ONOS1.3.0 图9.png

    Ubuntu14.04下源码安装ONOS1.3.0 图10.png

    Ubuntu14.04下源码安装ONOS1.3.0 图11.png

    7.后记

    ONOS官网WIKI中的内容较为散乱,但仍是ONOS最准确的资料来源,大家在学习和使用时还应以官网中的资料为主要参照。

    作者简介:
    曹睿,2015/09-至今,北京邮电大学信息与通信工程学院未来网络理论与应用实验室(FNL实验室)攻读硕士研究生。

    转载自: http://www.sdnlab.com/14650.html


登录后回复
 

与 青云QingCloud 社区 的连接断开,我们正在尝试重连,请耐心等待