




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目6基于ONOS搭建SDN集群学习目标项目背景项目需求分析项目相关知识项目实践项目习题目录(1)了解ONOS控制器基本架构。(2)掌握ONOS控制器安装和使用。(2)掌握ONOS控制器集群与监控配置。6.1学习目标项目描述在前面的项目中,公司网络都只部署了一台控制器,无法保证网络运行的稳定性和可靠性,管理员计划使用主备方式来部署多台控制器解决这一问题。部署多台控制器不仅可以实现流量的负载均衡,而且在主控制器发生故障时,备份的控制器能够接替主控制器的工作,确保业务能够平稳运行。经研究和对比,本项目决定采用ONOS控制器进行集群的部署和测试。项目拓扑如图6-1所示。项目描述图6-1项目拓扑项目描述角色规划如下表所示主机名称端口IP地址用途LAN区段controllerens33DHCP连接互联网
ens340/24SDN控制网Lan0controller2ens33DHCP连接互联网
ens341/24SDN控制网Lan0表6-1角色规划项目需求分析本项目通过在SDN环境下部署ONOS控制器,并结合Mininet模拟工具进行测试。通过主备方式部署ONOS控制器,模拟故障观察ONOS控制器能否实现负载和冗余的功能。在ONOS控制器的UI界面,实现流量的可视化。综上所述,本次项目设计如下几点任务。(1)ONOS控制器的安装和使用。(2)ONOS控制器的集群构建。项目需求分析项目相关知识开放网络操作系统(OpenNetworkOperatingSystem,ONOS)是由ON.Lab社区发布和维护的开源网络操作系统。它的主要目的是为软件定义网络提供控制器平面组件和管理网络组件;使用户在ONOS之上运行软件程序或模块;向终端主机和邻居网络提供网络服务。ONOS对网络及设备进行了更深层次的抽象,对用户屏蔽了底层网络硬件、协议以及接口等实现细节,用户可以直接在ONOS的内核上层编写应用程序。ONOS从设计之初就为了满足最苛刻的运营商网络所提出的要求,它的许多机制都是确保网络及连接的可靠性,同时保障高可用性。ONOS在北向接口上能支持数百万个应用程序的操作请求,对网络事件的响应能保持在50毫秒以下,还能支持控制平面的横向扩容。ONOS同样使用了模块化的概念,用户能通过模块的形式对应用程序进行灵活的增加和删除。6.4.1ONOS控制器的概述ONOS对外开放北向接口API,用户能基于这些北向API接口开发应用程序。ONOS也支持许多的南向协议,如P4、OpenFlow、Netconf、SNMP、RESTCONF等。1.ONOS控制器架构 ONOS采用了分层架构的设计理念,其分层架构如图6-2所示。6.4.1ONOS控制器的概述图6-2ONOS的分层架构ONOS的分层架构分为7层,从上到下分别为应用程序(Apps)、北向APINB(Consumer)API)、Core(Device,Host,Link,Topology,Path,Flow,Intent,Network,...)(内核层)、SB(Providers)API(南向API)、Providers(Device,Host,Link,Flow)(适配器)、Protocols(协议)、NetworkElements(网元)。其中,内核层使用的是分布式的架构,主要负责实现控制器的基本功能。在内核层中,ONOS使用了Floodlight的模块来实现控制器的基本功能,如交换机的管理、链路管理、流表管理等。在ONOS中,用于实现控制器基本功能的模块被称为服务或子系统。ONOS定义了几种主要服务或子系统,如下所示。①设备子系统:用于管理基础架构设备。②链接子系统:用于管理基础架构链接。③主机子系统:用于管理终端主机及终端主机所在网络上的位置。④拓扑子系统:用于管理按时间顺序排列的网络视图快照。6.4.1ONOS控制器的概述6.4.1ONOS控制器的概述⑤路径服务:用于通过最新的拓扑图快照计算来查找基础设备之间或终端主机之间的路径。⑥流规则子系统:用于管理基础设备的流规则并提供流表计量。⑦数据包子系统:允许侦听从网络设备上接收到的数据包,并将数据包通过网络设备进行输出。2.ONOS常用命令ONOS的常用命令如表6-2所示。6.4.1ONOS控制器的概述命令作用appactivateModuleName为ONOS激活ModuleName模块apps列出ONOS中应用程序的信息devices列出所有基础架构的设备flows列出所有当前已知的流信息get-stats列出统计信息hosts列出当前已知的主机信息links列出所有连接的信息metrics列出系统中已有的计量信息nodes列出所有控制器集群节点ports列出所有设备上的端口信息topology列出ONOS拓扑的摘要信息logout注销身份,退出已登录的命令行并且退出ONOSsystem:shutdown关闭并退出ONOS表6-2ONOS常用的命令3.ONOS的Web-UI模块ONOS启动之后,默认情况下将自动启动Web-UI模块,监听端口为8181,默认情况下ONOS的图形界面地址为“http://<controller-ip>:8181/onos/ui/index.html”,页面默认登录用户为onos,默认密码为rocks,ONOS登录界面如图6-3所示。6.4.1ONOS控制器的概述图6-3ONOS认证页面ONOS首页如图6-4所示,ONOS首页顶部是一个黑条,如红色箭头所示,主要用于显示导航菜单按钮、ONOS图标、使用帮助以及用户名。除了黑条以外,屏幕上默认情况下显示的是拓扑视图,如紫色箭头所示,其中包括ONOS群集节点面板、ONOS摘要面板、拓扑工具栏。6.4.1ONOS控制器的概述图6-4ONOS首页4.ONOS的App应用程序ONOS在启动后,默认只激活维持基本图形界面和命令行界面运行的相关模块。如果需要管理交换机等功能,那么需要用户通过图形界面或命令行界面激活对应的App应用程序。激活App应用程序所涉及到的3条关键命令如表6-3所示。备注:默认情况下,ONOS通过监听6633端口提供控制器服务;通过监听8181端口提供Web-UI图形界面服务。6.4.1ONOS控制器的概述命令作用appactivateorg.onosproject.openflow激活openflow功能appactivateorg.onosproject.fwd激活2层转发功能appactivateorg.onosproject.mobility激活主机监测功能表6-3激活App应用程序的关键命令在网络中,如果仅使用一台控制器对网络进行集中管理,那么当控制器出现故障时,将会导致整个网络不可用。通过创建控制器集群可以解决这一问题。ONOS在1.14版本之后开始支持构建ONOS控制器集群。在ONOS的定义中,默认情况下允许单台OpenFlow交换机连接多台控制器,但同一时间仅能有一台主控制器,其他连接上的控制器则均为从控制器。一旦主控制器出现故障或失去连接,从控制器就能接管主控制器的功能。经过重新的链路发现操作后,网络拓扑收敛,网络控制层服务保持正常。在多个服务器上启动了ONOS之后,通过执行onos-form-cluster命令即可构建集群。两台服务器构建ONOS集群的示例命令如下所示。6.4.2ONOS集群root@hostname:~#/opt/onos/bin/onos-form-clusterSERVER1-IPSERVER2-IP在执行了构建集群的命令后,默认情况下,ONOS服务会自动重启一次,用于重新加载集群相关的命令和模块。在ONOS服务重启完毕时,就可使用ONOS集群的常用命令来维护集群,相关的常用命令如表6-4所示。6.4.2ONOS集群命令作用masters列出当前连接的所有交换机设备balance-masters重新平衡ONOS集群的负载表6-4ONOS集群的常用命令项目实践任务描述基于源代码安装ONOS控制器,配置Mininet连接ONOS控制器。具体可以通过以下步骤完成。(1)上传对应软件包到控制器节点。(2)安装ONOS控制器。(3)Mininet创建拓扑并连接ONOS控制器任务1ONOS控制器的安装与使用任务拓扑如图6-5所示。任务1ONOS控制器的安装与使用图6-5任务拓扑任务实施(1)登录控制器,执行【ping】命令测试与外网的连通情况。(2)将提前准备好的ONOS软件包使用【lrzsz】命令导入到控制器节点内,并查看上传结果。(3)获取到的源代码包格式是压缩文件格式,因此需要将源代码包通过tar命令解压,现将压缩包解压到“/opt”目录下。(4)将解压后的目录名称从onos-1.12.1修改为onos。任务1ONOS控制器的安装与使用root@controller:~#ls/usr/local/|greponosonos-1.12.1.tar.gzroot@controller:/usr/local#tar-zxfonos-1.12.1.tar.gz-C/optroot@controller:~#mv/opt/onos-1.12.1//opt/onos(5)将ONOS自带的服务文件进行复制,以便将ONOS作为服务运行。(6)启动ONOS控制器(ONOS依赖于Java平台,在本任务中默认已经部署了Java8的平台)。任务1ONOS控制器的安装与使用root@controller:~#cp/opt/onos/init/onos.initd/etc/init.d/onos
root@controller:~#cp/opt/onos/init/onos.conf/etc/init/onos.confroot@controller:~#/opt/onos/bin/onos-servicestart启动ONOS控制器结果如图6-6所示。任务1ONOS控制器的安装与使用图6-6启动ONOS控制器可以看出,ONOS控制器已经运行,运行时将占用一个会话窗口。 (7)ONOS控制器类似于OpenDayLight控制器,正常提供服务需要在命令行控制台中使用命令安装必要组件,相关组件的安装命令如下所示。安装必要组件结果如图6-7所示。任务1ONOS控制器的安装与使用onos>appactivateorg.onosproject.openflow #安装OpenFlow的支持onos>appactivateorg.onosproject.fwd #安装2层交换的支持onos>appactivateorg.onosproject.mobility #安装主机组件的支持图6-7安装必要组件(8)登录mininet主机,打开终端命令行,切换为root用户身份,根据任务需求执行命令创建一个树型拓扑,命令如下。任务验证(1)登录控制器主机,打开新一个终端命令行窗口,切换为root用户身份,查看ONOS控制器监听端口的状态。任务1ONOS控制器的安装与使用root@mininet:~#mn--topo=linear,2,1--switch=ovs,protocols=OpenFlow10--controller=remote,ip=0,port=6633classroom@controller:~$su-root@controller:~#ss-tlnp|grep6633root@controller:~#ss-tlnp|grep8181操作结果如图6-54所示。可以看出,端口都已经正常启用了。其中,8181是ONOS的WEBUI监听端口,6633是ONOS的控制服务监听端口。(2)在交互式命令行中执行命令查看交换机详细信息。任务1ONOS控制器的安装与使用图6-54查看端口mininet>shovs-vsctlshow查看交换机详细信息结果如图6-9所示。可以看出,拓扑中所有交换机都连接上了控制器0,交换机的工作模式是secure。任务1ONOS控制器的安装与使用图6-9查看交换机详细信息(3)在交互式命令行中执行命令查看流表信息。可以看出,ONOS控制器会自动进行LLDP链路发现,并且,ONOS控制器下发了默认流表来保证链路通信正常。任务1ONOS控制器的安装与使用mininet>shovs-ofctldump-flowss1mininet>shovs-ofctldump-flowss2mininet>shovs-ofctldump-flowss3查看流表信息结果如图6-10所示,(以s1为例)
(4)在交互式命令行中执行pingall命令测试拓扑中主机间的连通情况。pingall命令执行结果如图6-11所示。可以看出,拓扑中的主机通信是正常的。任务1ONOS控制器的安装与使用图6-11pingall命令执行结果mininet>pingall(5)在pingall测试后再次执行查看流表的命令(以s1为例)。查看流表结果如图6-12所示。可以看出,在pingall测试后,新增了8条流表项,这是由于ONOS会自动为拓扑中的交换机针对主机间的ARP通信下发精准流表项。任务1ONOS控制器的安装与使用图6-12查看流表(6)在控制器主机上,使用火狐浏览器访问:8181/onos/ui/页面(默认用户名为onos,密码为rocks)查看当前拓扑结构。如图6-13和6-14所示。任务1ONOS控制器的安装与使用图6-13ONOS登录页面任务1ONOS控制器的安装与使用图6-14当前拓扑结构图任务描述部署两台ONOS控制器节点,并在控制器内部署集群。具体可以通过以下步骤完成。(1)完成ONOS控制器初始化操作。(2)部署ONOS控制器集群。(3)通过Mininet连接ONOS控制器。任务2ONOS控制器的集群构建任务实施(1)参考任务1,完成controller和controller2节点上ONOS控制器的安装与启动(步骤1-7)。(2)登录mininet主机,打开终端命令行,切换为root用户身份,并执行mn命令按照任务要求创建拓扑结构(3)返回controller节点,打开新终端命令行,切换为root用户身份后,执行命令利用两台ONOS构建控制器集群。任务2ONOS控制器的集群构建classroom@mininet:~$su–root@mininet:~#mn--topo=linear,4,1--switch=ovs,protocols=OpenFlow10--controller=remote,ip=0,port=6633classroom@controller:~$su-root@controller:~#/opt/onos/bin/onos-form-cluster01执行命令利用两台ONOS构建控制器集群结果如图6-15所示。(4)通过ONOS命令行控制台执行命令查看集群控制器连接情况。masters命令执行结果如图6-16所示。任务2ONOS控制器的集群构建图6-15执行命令利用两台ONOS构建控制器集群onos>masters图6-16
执行masters命令查看集群控制器连接情况(5)在Mininet命令行中配置各交换机节点连接controller2主机。(6)通过ONOS命令行控制台执行命令实现集群控制器之间的负载均衡。在默认情况下运行负载均衡的命令是没有反馈信息的。任务2ONOS控制器的集群构建mininet>shovs-vsctlset-controllers1tcp:0:6633tcp:1:6633mininet>shovs-vsctlset-controllers2tcp:0:6633tcp:1:6633mininet>shovs-vsctlset-controllers3tcp:0:6633tcp:1:6633mininet>shovs-vsctlset-controllers4tcp:0:6633tcp:1:6633onos>balance-masters
(9)登录ONOS控制器WEBUI界面,查看拓扑结构。如图6-71所示。可以看出,执行了负载均衡命令后,原全部连接到0控制器的交换机都被均匀分配给两台控制器进行管理。将鼠标指针移动到OVS上,停留1s,将会显示该OVS所连接的控制器。任务2ONOS控制器的集群构建图6-17
查看拓扑结构任务验证(1)通过ss命令查看onos监听端口的状态。①在controller上查看。在controller上查看onos监听端口结果如图6-18所示。可以看出,controller2上的onos已经成功运行。 任务2ONOS控制器的集群构建root@controller:~#ss-tlnp|grep6633root@controller:~#ss-tlnp|grep8181图6-18
在controller上查看onos监听端口(2)在控制集群形成后通过Mininet交互式命令行查看交换机信息(可以看出集群形成后,各交换机均能正常同时连接0与1的控制器)。以S3为例查看交换机信息结果如图6-20所示。任务2ONOS控制器的集群构建图6-20
查看交换机信息(3)测试集群形成后拓扑内主机连通情况。pingall命令执行结果如图6-21所示。可以看出,集群形成后对拓扑内主机连通情况无影响。任务2ONOS控制器的集群构建mininet>pingall图6-21
pingall命令执行结果(4)通过ONOS命令行控制台查看负载情况。masters命令执行结果如图6-22所示。
可以看出,集群内每个控制器平均连接了2个交换机,已经达到了负载均衡的效果。任务2ONOS控制器的集群构建onos>masters图6-22
masters命令执行结果(5)通过ONOS命令行控制台查看节点情况。nodes命令执行结果如图6-23所示。可以看出,当前存在2台控制器,控制器的IP地址为0和1,使用的端口为9876,控制器的版本为1.12.1。(6)通过ONOS命令行控制台查看主备情况。任务2ONOS控制器的集群构建onos>nodes图6-23
nodes命令执行结果onos>rolesroles命令执行结果如图6-24所示。可以看出,controller节点作为s1和s2的主控制器,而controller2节点作为s3和s4的主控制器,并且两台控制器互为备份。(7)在Mininet节点,执行ping命令,令h1节点与h4节点互通。任务2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房做样板间合同协议书
- 权属责任移交清协议书
- 脱离单位协议书
- 聘请教师协议书
- 抖音号转让合同协议书
- 小饰品店面转让协议书
- 现金继承协议书
- 糯家加盟协议书
- 磁砖合作协议书
- 无牌摩托车过户协议书
- 二年级《道德与法治》下册知识点
- 2024年四川省成都市中考历史试卷真题(含答案解析)
- 2024届四川省广元市旺苍县小升初考试数学试卷含解析
- 2024CSCO结直肠癌诊疗指南解读
- MOOC 信号与系统-西安电子科技大学 中国大学慕课答案
- 公需科目2023年度数字经济与驱动发展考试题库及答案
- 中学生英才计划面试常见问题
- 压力容器安全风险管控清单(日管控、周排查、月调度)
- 中小学心理健康教育指导纲要
- 婴幼儿尿布性皮炎护理
- 国网兼职培训师培训课件
评论
0/150
提交评论