OpenDaylight
一、OpenDaylight介绍
OpenDaylight—Linux基金会负责管理的开源项目,提供一套基于SDN开发的模块化、可扩展、可升级、支持多协议的控制器框架,目的是推动SDN技术的创新实施和透明化。其本质是一款使用Java开发的控制器。
作为SDN的核心组件,OpenDayLinght天赋异禀:
◆ 南向接口支持OpenFlow、Netconf、SNMP、PCEP等标准协议,同时支持私有化接口;
◆ 业务抽象层(SAL)保证上下层模块之间调用可以相互隔离,屏蔽南向协议差异,为上层功能模块提供一致性服务;
◆ 采用OSGI体系结构,解决组件之间的隔离问题;
◆ 使用YANG工具直接生成业务管理的“骨架”;
◆ OpenDaylight拥有一个开源的分布式数据网格平台,该平台不仅能实现数据的存储、查找和监听,更重要的是它使得OpenDaylight支持控制器集群。
OpenDaylight(ODL) 在架构设计的时候遵循了六个基本的原则:
1、做一个可随时变身的“变形金刚”:Runtime Modularity and Extensibility
2、南向协议多样化:Multiprotocol Southbound
3、服务抽象层:Service Abstraction Layer
4、北向应用API“收缩自如”:Open Extensible Northbound API
5、多租户、多切片:Support for Multitenancy/Slicing
6、良好的“克隆”能力:Consistent Clusterin
二、OpenDaylight(ODL)安装部署
安装ODL环境:下载安装JDK,配备Java环境变量,安装maven
一. 运行环境
◆ CentOS 7
◆ JAVA虚拟机(版本1.8)
◆ Maven (版本3.5)
二. opendaylight预编译版本安装
1.从官网上下载:
https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/distribution-karaf/0.5.3-Boron-SR3/
2.解压文件
tar -zxvf distribution-karaf-0.5.3-Boron-SR3.tar.gz
3.进入解压后的目录:cd ./distribution-karaf-0.5.3-Boron-SR3, 修改参数配置etc/org.apache.karaf.management.cfg
rmiRegistryHost = 0.0.0.0 改为 rmiRegistryHost = 127.0.0.1
rmiServerHost = 0.0.0.0 改为 rmiServerHost = 127.0.0.1
4.启动opendaylight容器karaf:./bin/karaf (启动前注意关闭防火墙systemctl stop firewalld) 关闭一次(setenforce 0; systemctl stop firewalld)
此时安装好的ODL,没有任何feature,包括UI界面,可以通过karaf安装。
5.安装feature
feature:install odl-restconf-all
feature:install odl-openflowplugin-all-he
feature:install odl-mdsal-apidocs
feature:install odl-dlux-all
feature:install odl-dlux-yangman
feature:install odl-protocol-framework
(feature:install odl-dlux-core odl-dlux-node odl-dlux-yangui odl-dlux-yangman odl-dlux-yangvisualizer)
上诉安装过程需要严格按照顺序来,不然可能会导致无法访问UI界面。
对于不同版本控制器,feature的名字有一定的出入。
可根据介绍来选择安装feature:https://docs.opendaylight.org/en/stable-boron/getting-started-guide/installing_opendaylight.html
可以通过命令feature:list查看所有的feature列表;
当出现如下情况时说明feature不存在,或者feature名字输入错误:
可以通过命令feature:list | grep odl-dlux 查看关键字相关的feature列表。
6.界面访问
在浏览器中输入http://localhost:8181/index.html, 即可进入用户登录界面,初始用户名密码都是admin。
登录后界面如下:
安装过程出现的问题:
UI界面出现但是并不能连接到交换机(交换机与虚拟机能相互ping通):
问题原因:经过与旧版本安装的ODL的feature比较发现odl-openflowplugin这个系列的组件没有装全,这是与交换机连接的重要组件,需要装全。
解决方法:为了避免feature之间的冲突,logout后删除data文件夹(rm -rf data)重新安装,安装顺序如上面。
总结:根据我们与交换机之间的协议,我发现主要是三个部分比较重要:首先是协议相关odl-openflowplugin,然后是mdsal,最后是UI界面dlux,这些模块要装齐。
总结:对于重要模块,我们不太清楚详细功能时,建议都装上,可通过feature:list | grep 查找,然后安装。