1 实验目的
在Ubuntu14.04系统下源码安装ONOS。
2 实验原理
ONOS是为了满足网络需求实现可靠性强,性能好,灵活度高等特性。此外,ONOS的北向接口抽象层和API使得应用开发变得更加简单,而通过南向接口抽象层和接口则可以管控OpenFlow或者传统设备。总而言之,ONOS将会使得SDN控制层具有电信级特征(可靠性强,性能好,灵活度高)、保证网络敏捷性、帮助服务提供商从现有网络迁移到白牌机、减少服务提供商的资本支出和运营开支。
3 实验任务
ONOS可以安装在OS X和Ubuntu14.04系统中,主要介绍在Ubuntu14.04系统下如何源码安装ONOS。
4 实验步骤
4.1 系统要求
安装ONOS对操作系统有如下要求
-
Ubuntu Server 14.04 LTS 64-bit
-
2GB or more RAM
-
2 or more processors
需要安装如下软件,如果不用git获取源码,GIT可以不需要安装。
-
Java 8 JDK (Oracle Java recommended; OpenJDK is not as thoroughly tested)
-
Apache Maven (3.0 and later)
-
git
-
bash (for packaging & testing)
-
Apache Karaf (3.0.2 and later)
以上环境准备在Ubuntu镜像中已准备好。
4.2 安装依赖
4.2.1 安装apache-karaf
apache-karaf的版本为3.0.2或以上版本,本文就是安装的3.0.2版本。创建~/Applications目录,下载apache-karaf。为什么要安装到这个目录?是因为onos源码中已经设置将apache-karaf放到~/Applications目录。当然这个目录也可以变更,但是为了避免不必要的操作,笔者姑且也这么做。
# mkdir /root/Applications
# cd /root/Applications
# wget
# tar -xzf apache-karaf-3.0.2.tar.gz
|
# mkdir /root/Applications
# cd /root/Applications
# wget
# tar -xzf apache-karaf-3.0.2.tar.gz
|
4.2.2 安装apache-maven
apache-maven的版本至少为3.0,笔者安装版本3.2.5。操作如下:
# wget
# tar -xzf apache-maven-3.2.5-bin.tar.gz
# mv apache-maven-3.2.5 /usr/local/apache-maven
|
# wget
# tar -xzf apache-maven-3.2.5-bin.tar.gz
# mv apache-maven-3.2.5 /usr/local/apache-maven
|
设置apache-maven的环境变量,编辑/etc/profile,添加如下几行命令
export M2_HOME=/usr/local/apache-maven
export PATH=$PATH:$M2_HOME/bin
|
export M2_HOME=/usr/local/apache-maven
export PATH=$PATH:$M2_HOME/bin
|
然后执行
4.2.3 安装Java 8
安装java8有多种方法,笔者就按照官网提供的方法操作。
$ sudo add-apt-repository ppa:webupd8team/java -y
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer oracle-java8-set-default -y
|
$ sudo add-apt-repository ppa:webupd8team/java -y
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer oracle-java8-set-default -y
|
执行下面的操作后,设置JAVA_HOME。编辑/etc/profile文件,添加下面一行。
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
|
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
|
然后执行
正确安装后,java -version和mvn --version打印的java版本应该一致。
4.3 安装 ONOS
4.3.1 下载ONOS源码
下载ONOS源码,目录没有要求,笔者把源码下载到/home/onos目录中
# wget
# unzip onos-1.0.zip
# ls //查看解压后的文件
onos-1.0.zip onos-onos-1.0
|
# wget
# unzip onos-1.0.zip
# ls //查看解压后的文件
onos-1.0.zip onos-onos-1.0
|
4.3.2 环境设置
安装ONOS之前,需要设置ONOS_ROOT和KARAF_ROOT的路径,连同上的操作,笔者在/etc/profile文件中设置如下:
export ONOS_ROOT=/home/onos/onos-onos-1.0
export KARAF_ROOT=/root/Applications/apache-karaf-3.0.2
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export M2_HOME=/usr/local/apache-maven
export PATH=$PATH:$M2_HOME/bin
|
export ONOS_ROOT=/home/onos/onos-onos-1.0
export KARAF_ROOT=/root/Applications/apache-karaf-3.0.2
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export M2_HOME=/usr/local/apache-maven
export PATH=$PATH:$M2_HOME/bin
|
然后再执行
# source /etc/profile
# source $ONOS_ROOT/tools/dev/bash_profile
|
# source /etc/profile
# source $ONOS_ROOT/tools/dev/bash_profile
|
4.3.3 构建ONOS
# cd onos-onos-1.0/
# mvn clean install
|
# cd onos-onos-1.0/
# mvn clean install
|
如果出现下面的提示,说明成功。
4.3.4 运行ONOS
初始化配置
需要编辑$KARAF_ROOT/etc/org.apache.karaf.features.cfg文件,本文即为/root/Applications/apache-karaf-3.0.2/etc/org.apache.karaf.features.cfg
添加下面的内容到 featuresRepositories:
mvn:org.onosproject/onos-features/1.0.0/xml/features
|
mvn:org.onosproject/onos-features/1.0.0/xml/features
|
编辑好如下
添加下面的内容到featuresBoot:
onos-api,onos-core-trivial,onos-cli,onos-openflow,onos-app-fwd,onos-app-mobility,onos-gui
|
onos-api,onos-core-trivial,onos-cli,onos-openflow,onos-app-fwd,onos-app-mobility,onos-gui
|
编辑好如下
启动ONOS
在本机机器上运行ONOS
4.3.5 验证安装
查看ONOS的WEB监听端口
查看ONOS的OF监听端口
访问WEB,地址为
5 测试ONOS
下面的主要用Mininet对安装好的ONOS进行简单的测试。
5.1 验证ONOS在OpenFlow1.0下的工作情况。
1、用Mininet创建一个网络拓扑,指定ONOS控制器,使用OpenFlow1.0协议:
# mn --topo tree,depth=2,fanout=2 --mac
--controller=remote,ip=10.0.0.9,port=6633 --switch
ovsk,protocols=OpenFlow10
|
# mn --topo tree,depth=2,fanout=2 --mac
--controller=remote,ip=10.0.0.9,port=6633 --switch
ovsk,protocols=OpenFlow10
|
2、测试Mininet的主机通信
3、查看ONOS的WEB界面。
4、以上现象说明ONOS控制器可以在OpenFlow1.0协议下正常工作。
5.2 验证ONOS在OpenFlow1.3下的工作情况。
1、用Mininet创建一个网络拓扑,指定ONOS控制器,使用OpenFlow1.3协议:
# mn --topo tree,depth=2,fanout=3 --mac --controller=remote,ip=10.0.0.9,port=6633 --switch ovsk,protocols=OpenFlow13
|
# mn --topo tree,depth=2,fanout=3 --mac --controller=remote,ip=10.0.0.9,port=6633 --switch ovsk,protocols=OpenFlow13
|
2、测试Mininet的主机通信
3、查看ONOS的WEB界面。
4、以上现象说明ONOS控制器可以在OpenFlow1.3协议下正常工作。
https://blog.csdn.net/pang_ping/article/details/80570011
https://www.cnblogs.com/coder-lzh/p/8746609.html
mvn -version报错解决方法
https://blog.csdn.net/l1028386804/article/details/77645925
CentOS之——/lib/ld-linux.so.2: bad ELF interpreter解决
阅读(3273) | 评论(0) | 转发(0) |