ONOS1.3.0集群实验
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中进行负载均衡
- CentOS6.5菜鸟之旅:VirtualBox4.3识别USB设备
- Eclipse魔法堂:修改主题
- 面试题(一)关于内部类的面试题
- MyBatis魔法堂:各数据库的批量Update操作
- 在Win7的IIS上搭建FTP服务及用户授权
- JavaSE(四)之接口、访问控制
- 3X3 九宫格
- JS魔法堂:通过marquee标签实现信息滚动效果
- Java魔法堂:注解用法详解——@Override
- Windows下安装MongoDB
- IIS Express魔法堂:解除localhost域名的锁定
- JavaSE(三)之static、final、abstract修饰符
- 为经典版eclipse增加web and JavaEE插件
- 协议森林07 傀儡 (UDP协议)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python类及获取对象属性方法解析
- Keras实现DenseNet结构操作
- python中format函数如何使用
- keras得到每层的系数方式
- 解决TensorFlow调用Keras库函数存在的问题
- php判断电子邮件是否正确方法
- python db类用法说明
- python中wheel的用法整理
- 使用Keras训练好的.h5模型来测试一个实例
- python中查看.db文件中表格的名字及表格中的字段操作
- Ubuntu 16.04中Laravel5.4升级到5.6的步骤
- PHP SESSION机制的理解与实例
- Yii支持多域名cors原理的实现
- PHP实现的pdo连接数据库并插入数据功能简单示例
- php基于Redis消息队列实现的消息推送的方法