ONOS集群实验

ONOS 1.1.0支持集群模式,控制器之间彼此分享各自的运行状态,当底层OpenFlow交换机连接多个控制器时,由交换机确定主备控制器,这对于容错和高可用性是非常有用的。ONOS利用Hazelcast做集群成员管理,目前官网上提供了一个预编译的ONOS 1.1.0版本,另外还有一个ONOS Docker版本。下面我们利用ONOS Docker版本一起探索ONOS的集群吧。

ONOS cluster experience

1.下载镜像
下载镜像文件onos-tutorial-1.0.0r161-ovf.zip,使用VirtualBox导入镜像文件,该VirtualBox至少要有2GB的RAM和5GB的硬盘空间,以及良好的处理器和固态硬盘。启动虚拟机后使用distributed/distributed用户名、密码登录。登录后界面如图显示:

登录后界面如图显示

2.建立多Docker实例
Docker是开发者和系统管理员用于编译、运行分布式应用程序的开放平台,在本实验中我们将使用docker来提供运行ONOS实例的环境。查看系统中ONOS分布式镜像:

查看系统中ONOS分布式镜像

生产ONOS实例:

以上生产了3个docker实例,且每个实例间运行互不干扰。
查看正在运行的docker实例:

查看正在运行的docker实例

启动docker实例后我们还需要对ONOS进行配置,为此我们将使用标准的ONOS工具,这与在VM或者实体裸机中部署ONOS是同一组命令。
3.安装ONOS
1.检查环境是否正确安装

检查环境是否正确安装

2.设置无密码访问实例,这对很多时候尤其是在开发和经常推进组件时是安全的,ONOS提供了一个脚本用于推动本地关键实例。

3.下载packet包,在远程实例中安装ONOS

4.验证ONOS部署情况
打开ONOS命令行界面:

打开ONOS命令行界面

打开另两个窗口,同样的方法进入onos-2和onos-3的命令行界面。
在命令行界面,使用命令feature:list,可以看出集群模块onos-core已经代替了单机模块的onos-core-trivial

使用命令feature list可以看出集群模块onos core已经代替了单机模块的onos-core-trivial

以下命令查看控制器集群情况:

以下命令查看控制器集群情况:

未连接任何交换机时的web界面如下:

未连接任何交换机时的web界面如下:

5.ONOS集群和容错实验步骤
启动mininet仿真基础网络,运行mininet脚本文件,模拟4个交换机和24个主机,连接到三个控制器节点:

启动mininet仿真基础网络,运行mininet脚本文件,模拟4个交换机和24个主机,连接到三个控制器节点

在onos中可以查看到已经连接到的交换机情况:

在onos中可以查看到已经连接到的交换机情况

每个onos实例中的交换机数量可能不同,第一次显示为与交换机握手的第一控制器,如果想平衡交换机比例可以运行balance-masters,本次三个节点的onos分别控制器了2台交换机,主备情况可使用命令roles查看:

主备情况可使用命令roles查看

控制器web界面如下显示:

控制器web界面如下显示

Mininet中主机可以成功ping通:

Mininet中主机可以成功ping通:

到目前为止,所有三个控制器在主动模式下,这个时候假如停止其中一个控制器,看看onos控制器是如何容错的:

假如停止其中一个控制器,看看onos控制器是如何容错的

由命令行可以查出控制器172.17.0.6已经处于非活跃状态了,原本由它控制的交换机已经被重新分派到onos-2和onos-3下:

由命令行可以查出控制器172.17.0.6已经处于非活跃状态了,原本由它控制的交换机已经被重新分派到onos-2和onos-3下

相应的web界面如下:

相应的web界面如下:

mininet依然可以通过节点2和节点3的控制器实现通信:

mininet依然可以通过节点2和节点3的控制器实现通信:

我们进一步删除节点,系统功能仍然能通过一个控制器节点运作起来,这就是集群的魅力所在!


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/9879.html
分享到:
相关文章
条评论

登录后才可以评论

泡泡鱼 发表于15-03-30
3