1.1OpenDaylight的安装

发布时间 2023-06-08 09:03:16作者: ChuenSan

OpenDaylight的安装

任务目的

1、了解OpenDaylight的诞生背景和基本架构,能够对OpenDaylight整体架构有一个大体认识,从而更好的理解SDN架构。
2、掌握安装、部署OpenDaylight的方法,能够独立解决实验过程中遇到的问题。通过安装OpenDaylight组件,对OpenDaylight组成有一个更具象的认识。

任务环境
设备名称 软件环境(镜像) 硬件环境
主机 1 Ubuntu 14.04桌面版 CPU:1核 内存:2G 磁盘:20G
主机 2 Ubuntu 14.04桌面版 Mininet 2.2.0 CPU:1核 内存:2G 磁盘:20G

注:系统默认的账户为:
管理员权限用户名:root,密码:root@openlab;
普通用户用户名:openlab,密码:user@openlab。
可查看当前实验环境右侧“钥匙”img 按钮获取对应的密码。

任务内容

1、采用两种不同的方式启动karaf控制台,对比两种方式的区别。
2、安装OpenDaylight组件,掌握一系列相关的安装、查询命令。
3、安装后进行简单的验证,确保OpenDaylight安装正确。

实验原理

OpenDaylight项目由Linux协会联合业内18家企业,包括Cisco、Juniper、Broadcom等多家传统网络的巨头公司于2013年初成立的,旨在推出一个开源的、通用的SDN网络平台。OpenDaylight项目的成立对于SDN意义重大,它代表了传统网络芯片、设备商对于SDN这个颠覆性技术的跟进与支持。业界对于OpenDaylight非常关注,它也一直在稳步扩张其成员规模。目前,该组织已吸收了33个的成员,OpenDaylight也被业界寄希望于成为SDN的通用控制平台。

OpenDaylight控制器基于JAVA语言开发,采用了OSGi(Open Service Gateway Initiative)体系结构,实现了众多网络功能的隔离,极大地增强了控制平面的可扩展性。OpenDaylight引入了SAL(Service Abstraction Layer,服务抽象层),可以自动适配包括OpenFlow交换机等底层不同的设备,使得开发者可以专注于业务应用的开发。

从Hydrogen版本总体架构图可以看出,OpenDaylight控制器主要包括:开放的北向API,控制器平面,南向接口和协议插件。整个架构包括应用层、控制层和网络设备层。应用层由控制和监控网络行为的业务和网络逻辑应用构成,此外,复杂的解决方案应用需要与云计算及网络虚拟化相结合。控制层是SDN控制器框架层,其南向协议接口可以支持不同南向协议插件,这些协议插件动态连接到SAL(Service Abstract Layer),SAL适配后再提供统一北向接口供上层应用调用。网络设备层由物理或虚拟设备构成。

image-20230524151845310

OpenDaylight开源社区成立不到一年就推出了首个开源版本氢(hydrogen),截止到目前为止,OpenDaylight已经发布了4个版本,分别是Hydrogen(氢)、Helium(氦)、Lithium(锂)、Beryllium(铍)。

实验步骤

一、直接启动karaf控制台

步骤1 选择主机1,单击终端图标,打开终端。执行su root命令切换到root用户,以下命令全部以root身份运行。

步骤2 执行以下命令解压OpenDaylight安装包文件,并进入解压目录。

# cd /home/openlab/openlab
# unzip lithium.zip
# cd distribution-karaf-0.3.0-Lithium

步骤3 执行以下命令启动控制器,并直接进入karaf控制台,如下图所示。

# ./bin/karaf

image-20230524151942082
说明:

  • 只要执行logout命令退出karaf控制台,控制器就会停止。
  • 这种方式的缺点是命令终端挂了,控制器进程也会跟着挂了。

二、后台启动karaf控制台

执行以下命令以后台任务的形式启动控制器,如下图所示。

# ./bin/start
# ./bin/client -u karaf

image-20230524152011657
说明:以后台任务的形式启动控制器,可以通过bin/client或SSH访问karaf控制器。利用start启动OpenDaylight以后,以karaf用户身份连接karaf控制器。以这种方式启动控制器,即使登出控制台,控制器进程依旧在后台运行。

三、在karaf控制台查看日志

执行以下命令在karaf控制台查看日志信息。由于日志信息较多,可以加上|more分页显示查询结果,如下图所示。

> log:display |more

image-20230524152047076

四、安装OpenDaylight组件

步骤1 执行以下命令安装必须的OpenDaylight组件:odl-restconf、odl-l2switch-switch、odl-openflowplugin-all、odl-dlux-all、odl-mdsal-all、odl-adsal-northbound。

> 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

注意:务必遵循一定的顺序安装相关组件。
image-20230524152209779
(备注:实验写入需要等待较长时间,可能为15分钟以上,请保持耐心~)

步骤2 执行以下命令列出所有OpenDaylight组件。

> feature:list 

步骤3 执行以下命令列出已安装的OpenDaylight组件。

> feature:list -i

步骤4 执行以下命令在已安装的组件中查找某一个具体的组件,例如odl-restconf,确认该组件是否已经安装。

> feature:list -i|grep odl-restconf

image-20230524152242168

五、验证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是OpenDaylight控制器的IP,请根据实际情况修改。
image-20230524152305077

步骤3 访问OpenDaylight Web界面,url是[http://ODL_host_ip]:8080/index.html ,如下图所示。

其中:[ODL_host_ip]为安装OpenDaylight所在的主机IP地址:

image-20230524152322246
说明:如果没有按照安装顺序安装OpenDaylight组件,可能会导致web界面无法访问,最好的解决方式就卸载组件,重新安装。

步骤4 输入用户名密码,单击“Login”。

说明:登录的用户名密码是admin/admin。

步骤5 单击左侧“Topology”查看拓扑,如下图所示。

image-20230524152342644

六、卸载OpenDaylight组件

步骤1 在主1上执行logout命令退出karaf控制台,回到distribution-karaf-0.3.0-Lithium目录。

步骤2 执行如下命令删除data目录,清除组件并重新进入karaf控制台。

# rm -rf data
# ./bin/karaf clean

步骤3 执行以下命令查看已安装组件,确认组件是否已经删除。

$ feature:list -i

image-20230524152138822