OpenDaylight控制器基于JAVA语言开发,采用了OSGi(Open Service Gateway Initiative)体系结构,实现了众多网络功能的隔离,极大地增强了控制平面的可扩展性。OpenDaylight引入了SAL(Service Abstraction Layer,服务抽象层),可以自动适配包括OpenFlow交换机等底层不同的设备,使得开发者可以专注于业务应用的开发。
从Hydrogen版本总体架构图可以看出,OpenDaylight控制器主要包括:开放的北向API,控制器平面,南向接口和协议插件。整个架构包括应用层、控制层和网络设备层。应用层由控制和监控网络行为的业务和网络逻辑应用构成,此外,复杂的解决方案应用需要与云计算及网络虚拟化相结合。控制层是SDN控制器框架层,其南向协议接口可以支持不同南向协议插件,这些协议插件动态连接到SAL(Service Abstract Layer),SAL适配后再提供统一北向接口供上层应用调用。网络设备层由物理或虚拟设备构成。
一、直接启动karaf控制台
步骤1 选择主机1,单击终端图标,打开终端。执行su root命令切换到root用户,以下命令全部以root身份运行。
步骤2 安装好JAVA,可执行命令java -version检查当前环境下JAVA的安装情况。
步骤3 执行以下命令解压OpenDaylight安装包文件,并进入解压目录。
# cd openlab
# unzip lithium.zip
# cd distribution-karaf-0.3.0-Lithium
步骤4 执行以下命令启动控制器,并直接进入karaf控制台,如下图所示。
# ./bin/karaf
说明:
- 只要执行logout命令退出karaf控制台,控制器就会停止。
- 这种方式的缺点是命令终端挂了,控制器进程也会跟着挂了。
二、后台启动karaf控制台
执行以下命令以后台任务的形式启动控制器,如下图所示。
# ./bin/start
# ./bin/client -u karaf
说明:以后台任务的形式启动控制器,可以通过bin/client或SSH访问karaf控制器。利用start启动OpenDaylight以后,以karaf用户身份连接karaf控制器。以这种方式启动控制器,即使登出控制台,控制器进程依旧在后台运行。
三、在karaf控制台查看日志
执行以下命令在karaf控制台查看日志信息。由于日志信息较多,可以加上|more分页显示查询结果,如下图所示。
> log:display |more
四、安装OpenDaylight组件
步骤1 执行以下命令安装必须的OpenDaylight组件:
> feature:install odl-restconf
> feature:install odl-l2switch-switch
> feature:install odl-openflowplugin-all
> feature:install odl-dlux-all
> feature:install odl-mdsal-all
> feature:install odl-adsal-northbound
注意:务必遵循一定的顺序安装相关组件。
步骤2 执行以下命令列出所有OpenDaylight组件。
> feature:list
步骤3 执行以下命令列出已安装的OpenDaylight组件。
> feature:list -i
步骤4 执行以下命令在已安装的组件中查找某一个具体的组件,例如odl-restconf,确认该组件是否已经安装。
> feature:list -i|grep odl-restconf
五、验证OpenDaylight基本功能
步骤1 登录主机2,执行su root切换到root用户。
步骤2 执行以下命令连接控制器,并且在Mininet中进行pingall操作,测试OpenDaylight控制器的基本功能,如下图所示。
# mn --controller=remote,ip=192.168.1.3,port=6633
> pingall
其中192.168.1.3(主机1安装了opendaylight,所以此处应为主机1的IP)是OpenDaylight控制器的IP,请根据实际情况修改。
步骤3 访问OpenDaylight Web界面,url是http://[ODL_host_ip]:8080/index.html ,如下图所示。
其中:[ODL_host_ip]为安装OpenDaylight所在的主机IP地址:
说明:如果没有按照安装顺序安装OpenDaylight组件,可能会导致web界面无法访问,最好的解决方式就卸载组件,重新安装。
步骤4 输入用户名密码,单击“Login”。
说明:登录的用户名密码是admin/admin。
步骤5 单击左侧“Topology”查看拓扑,如下图所示。
六、卸载OpenDaylight组件
步骤1 在主1上执行logout命令退出karaf控制台,回到distribution-karaf-0.3.0-Lithium目录。
步骤2 执行如下命令删除data目录,清除组件并重新进入karaf控制台。
# rm -rf data
# ./bin/karaf clean
步骤3 执行以下命令查看已安装组件,确认组件是否已经删除。
$ feature:list -i