ONOS1.3.0集群实验

时间:2022-05-06
本文章向大家介绍ONOS1.3.0集群实验,主要内容包括1.环境准备与实验内容、2.在VM4上使用源码安装ONOS1.3.0、3.集群部署前的准备工作、3.2使用cell配置集群参数、3.3建立VM4到VM1-VM3的SSH免密登录、4.部署集群、4.2向集群中的机器部署ONOS、5.集群环境验证、5.2使用Mininet连接集群进行测试、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

1.环境准备与实验内容

本次集群安装准备了四台虚拟机:

  • VM1:oxp@192.168.0.71
  • VM2:oxp@192.168.0.72
  • VM3:oxp@192.168.0.73
  • VM4:onos@192.168.0.74

注意:在将要部署为集群的VM1、VM2、VM3上使用了相同的组名oxp,相同的用户名oxp(组名和用户名可不同),这样方便进行集群部署,减少配置和打包操作!

系统要求:

  • Ubuntu Server 14.04 LTS 64-bit
  • 2GB or more RAM
  • 2 or more processors

主要内容: 在VM4上安装ONOS,并向VM1-VM3部署ONOS,形成VM1-VM2-VM3的ONOS集群。并使用Mininet构建的虚拟网络与集群连接,进行相关实验。

2.在VM4上使用源码安装ONOS1.3.0

参照文章《ubuntu14.04下源码安装ONOS1.3.0》进行。

3.集群部署前的准备工作

3.1设置免密sudo、生成SSH密钥

需要在VM1-VM3上设置sudo,在VM1-VM4上生成SSH密钥,分别执行下面步骤:

首先,在VM1-VM3上执行:

$ sudo visudo

编辑配置,在文件末尾添加行:

user_name ALL=(ALL) NOPASSWD:ALL

在user_name为用户名,本实验中为oxp。Ctrl+O,Ctrl+X保存退出。

其次,在VM1-VM4上进行:

$ ssh-keygen -t rsa

3.2使用cell配置集群参数

$ cd  cd ~/onos/tools/test/cells
$ vim triple.test

triple.test是本次实验新建的配置文件,编辑如下

#ONOS Controller VM instances 1,2,3 and a Mininet VM
export OC1="192.168.0.71"
export OC2="192.168.0.72"
export OC3="192.168.0.73"
export OCN="192.168.0.74"  # Mininet VM
       
# for node clustering
export ONOS_NIC=”192.168.0.*”   
#ONOS APPS to load
export ONOS_APPS="drivers,openflow,fwd,proxyarp,mobility" 
 
# ONOS features to load
export ONOS_FEATURES="webconsole,onos-api,onos-core,onos-cli,onos-openflow,onos-app-fwd,onos-app-mobility,onos-app-tvue"
 
#VM1-VM3 USER && GROUP
export ONOS_USER="oxp"
export ONOS_GROUP="oxp" 
$ cell triple.test          #应用triple.test中的配置参数,这一步一定要进行!!!

注意:cell文件中最后两行的ONOS_USER和ONOS_GROUP的值分别填写VM1-3的用户名和组名,这里如果与VM1-3的用户名和组名不对应将无法部署!

3.3建立VM4到VM1-VM3的SSH免密登录

这里以建立VM4到VM1的SSH的免密登录为例:

$ onos-push-keys  $OC1          #OC1的值如triple.test文件中所设定
oxp@192.168.0.71's password:            #这里会要求输入密码,即为SSH登录192.168.0.71的密码

按照上面操作依次建立VM4到VM2、VM3的SSH免密登录。

4.部署集群

4.1打包ONOS

这一步将VM4中安装好的ONOS按照cell的配置打包,打包后的文件可以用来部署到其他机器。

$ onos-package

打包结果如下:

-rw-rw-r-- 1 onos onos 96M Nov  5 14:52 /tmp/onos-1.3.0.onos.tar.gz

4.2向集群中的机器部署ONOS

这一步将刚才在VM4上打包好的ONOS部署到VM1-VM3三台虚拟机上 以部署到VM1为例,第一次部署时可能会提示输入密码,此时输入SSH到VM1的密码即可:

$ onos-install -f $OC1    #部署到VM1,-f表示强制安装;如果VM1上已经有ONOS在,可以加上此参数

返回结果:

onos start/running, process 23232  表示部署成功

然后,按照上面操作,依次部署到VM2、VM3上。 在以后的部署过程中,可以使用下面的命令简化操作,同时部署三台机器,但第一次部署时应分别执行onos-install:

$ onos-group install -f 

返回结果:

onos start/running, process 14508
onos start/running, process 19601
onos start/running, process 25194 

说明:ONOS被部署到虚拟机上后,所在的目录为:/opt/onos 

5.集群环境验证

5.1运行集群中的ONOS实例

可以通过本地和远程两种方式运行集群中的ONOS实例, 方法一,本地运行: 登录onos所在的VM,以VM1为例,在VM1上执行操作:

VM1:$ cd /opt/onos/     #进入ONOS目录
VM1:$ cd /apache-karaf-3.0.3/bin          #进入Karaf执行目录
VM1:$  ./karaf clean          #运行本地ONOS实例

方法二,远程运行: 在VM4上可以远程开启刚才部署的机器上的ONOS实例,以VM2为例,在VM4上执行操作:

VM4:$ onos $OC2        #运行VM2上的ONOS实例 

5.2使用Mininet连接集群进行测试

1.使用Mininet连接到一台ONOS实例

2.登陆web查看

c.进行负载均衡 在mininet中设置一些switch可连接的controller

在ONOS中进行负载均衡