菜鸟水平初步设置OpenDaylight-OVSDB-+-Openstack测试环境
- 格式:pdf
- 大小:381.23 KB
- 文档页数:7
目录1、Open vSwitch各模块简要介绍如下: (1)2、基于 Open vSwitch 的 OpenFlow 实践(ubuntu 14.04) (1)2.1 OpenvSwitch安装 (1)2.2 OpenFlow 命令 (3)2.4修改数据包 (9)2.5重定向数据包 (10)2.6修改vlan tag (11)3、Open vSwitch连接到OpenDaylight (14)4、Open vSwitch常用操作 (17)1、OVS各模块简要介绍如下:ovs-vswitchd:主要模块,实现switch的daemon,包括一个支持流交换的Linux内核模块;ovsdb-server:轻量级数据库服务器,提供ovs-vswitchd获取配置信息;ovs-dpctl:用来配置switch内核模块;一些Scripts and specs 辅助OVS安装在Citrix XenServer上,作为默认switch;ovs-vsctl:查询和更新ovs-vswitchd的配置;ovs-appctl:发送命令消息,运行相关daemon。
OVS提供了支持OpenFlow的特性实现,包括:ovs-ofctl:查询和控制OpenFlow交换机和控制器;ovs-pki:OpenFlow交换机创建和管理公钥框架;ovs-tcpundump:tcpdump的补丁,解析OpenFlow的消息。
2、基于Open vSwitch 的OpenFlow 实践(ubuntu 14.04)1.OpenFlow 命令如何创建交换机?2.如何将一个端口添加到交换机上?3.如何查看ovs结构?2.1 OpenvSwitch安装查看ubuntu版本:Ubuntu 14.04的OVS版本,已经是2.02,所以默认安装就可以。
不过不同的发行版,ovs 的名字会有点不同。
本次实验我们选择openvswitch-switch安装。
成功安装时在命令行可看到openvswich-switch start/running的字样。
Mikata OpenStack & Beryllium Open Daylight Integration 1.Java环境的配置:参照网址:2.进入到Open Daylight的主目录,并安装好插件,访问Open Daylight验证安装成功:1)cd /home/controller/桌面/distribution-karaf-0.4.2-Beryllium-SR2. /etc/profile./bin/start./bin/client -u karaf(若显示,Logging in as karaf Failed to get the session. 则表示Opendaylight模块还没有加载好,稍等片刻即可进入。
)2)feature:installodl-restconf odl-l2switch-switch odl-mdsal-apidocsodl-dlux-allodl-openflowplugin-all odl-ovsdb-openstack3)访问OpenDaylight:http://192.168.153.11:8181/index.html3.删除所有之前创建的实例,网络,路由可以直接在openstackdashboard里删除,删除顺序:router -> subnet -> net4.删除openvswitch的相关组件,并清理OVS的所有bridge,验证是否已清理干净:1)apt-get purge neutron-openvswitch-agentservice openvswitch-switch stoprm -rf /var/log/openvswitch/*rm -rf /etc/openvswitch/conf.dbservice openvswitch-switch start2)ovs-vsctl show3)在计算节点上也做一遍5.将Open Daylight与OpenStack连接,并添加必要的外网网桥:1)在控制节点:ovs-vsctl set Open_vSwitch [OVS_ID]other_config={'local_ip'='[ODL_CONTROLLER_IP]'}ovs-vsctl set-manager tcp:[ODL_CONTROLLER_IP]:6640将OVS_ID改为控制节点ovs的编号;例如:本实验中其编号为:b42863b8-c502-41de-8e30-8373b06c7559将ODL_CONTROLLER_IP改为ODL通信的网络网段中控制节点的IP,一般是以Internet网络所在网段为通信的网络;本实验的网段为192.168.153.0/24,控制节点IP 为192.168.153.112)在计算节点:ovs-vsctl set Open_vSwitch [OVS_ID] other_config={'local_ip'='[ODL_NETWORK_IP]'} ovs-vsctl set-manager tcp:[ODL_CONTROLLER_IP]:6640注意计算节点set-manager 时也是使用的ODL_CONTROLLER_IP而不是计算节点的IP3)在控制节点添加br-exovs-vsctl add-br br-exovs-vsctl add-port br-ex [ETH_N]ovs-vsctl show将[ETH_N]替换为外网的网络接口4)查看控制节点,计算节点ovs的状态:6.为openstack添加odl_driver1)vi /etc/neutron/plugins/ml2/ml2_conf.ini 修改如下:[ml2]tenant_network_types = flat, vxlantype_drivers = vxlanmechanism_drivers = opendaylight[ml2_odl]password = adminusername = adminurl = http://${CONTROL_HOST}:8181/controller/nb/v2/neutron2)重建数据库,并重新连接mysql -uroot -pdrop database neutron;create database neutron;CREATE DATABASE neutron;GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY '123456';GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY '123456';exitsu -s /bin/sh -c neutron-db-manage --config-file /etc/neutron/neutron.conf--config-fileetc/neutron/plugins/ml2/ml2_conf.ini upgrade head neutron 7.在所有节点安装:apt-get install python-pippip install networking_odl。
在撰写文章之前,我将先进行深度和广度的评估,以全面了解opendaylight模块划分这一主题。
opendaylight是一个开放源代码的软件定义网络(SDN)控制器评台,用于管理和控制网络中的交换机和路由器。
在opendaylight中,模块划分是指将整个系统划分为多个模块,每个模块负责特定的功能或服务。
我将从简到繁、由浅入深地探讨opendaylight模块划分的相关内容。
我会以简单的方式介绍opendaylight模块划分的基本概念和作用。
随后,我将详细分析opendaylight中常见的模块划分方式以及各自的功能和特点。
在文章的后半部分,我将探讨opendaylight模块划分的实际应用和未来发展趋势,以及对该主题的个人观点和理解。
那么,让我们开始撰写这篇有价值的文章吧。
---opendaylight模块划分的基本概念和作用在opendaylight中,模块划分是指将整个系统划分为多个模块,每个模块负责特定的功能或服务。
这种模块化的设计可以使系统更加清晰和灵活,方便开发者和用户理解和使用。
模块划分也有利于系统的扩展和定制,可以根据实际需求选择性地加载和使用特定的模块,从而提高系统的性能和效率。
opendaylight中常见的模块划分方式在opendaylight中,常见的模块划分方式包括北向接口(Northbound Interface)、南向接口(Southbound Interface)、核心功能模块(Core Function Module)和应用模块(Application Module)等。
每种方式都有其独特的功能和特点,下面将对每种方式进行详细分析。
1. 北向接口(Northbound Interface)北向接口是opendaylight提供给上层应用和用户的接口,用于实现业务逻辑和控制功能。
通过北向接口,上层应用和用户可以与opendaylight进行交互和通信,实现对网络的监控、管理和控制。
以下是使用openstack的基本操作手册:
1. 安装openstack:根据您的系统和环境要求,遵循官方的安装指南进行安装。
2. 创建项目:使用命令行或管理界面创建一个新的项目。
项目将包含一组资源,包括计算、网络和存储资源。
3. 创建网络:在项目中创建一个新的网络。
网络是用于连接云中的虚拟机和其他资源的虚拟架构。
4. 创建虚拟机:使用命令行或管理界面在项目中创建一个新的虚拟机。
您需要指定所需的配置选项,例如操作系统、处理器、内存和存储。
5. 连接到虚拟机:使用SSH或其他远程桌面工具连接到虚拟机。
您需要提供虚拟机的IP地址和密码或密钥。
6. 配置和管理虚拟机:根据需要配置和管理虚拟机,例如安装软件、配置网络设置等。
7. 创建和管理云存储:使用命令行或管理界面在项目中创建一个新的云存储后端。
您可以定义存储的容量、访问级别和其他配置选项。
8. 创建和管理镜像:使用命令行或管理界面在项目中创建一个新的镜像。
镜像是虚拟机的完整快照,可用于创建新的虚拟机实例。
9. 管理和监控资源:使用命令行或管理界面监控和管理项目中的资源使用情况,例如CPU、内存和存储。
10. 删除项目和资源:根据需要删除项目和其中的资源,以释放云资源并降低成本。
以上是openstack的基本操作手册,根据您的具体需求,您可能需要进行其他高级配置和管理操作。
建议参考openstack的官方文档以获取更详细的信息和指导。
open stack实训总结OpenStack实训总结一、实训目标本次OpenStack实训的目标是掌握OpenStack的安装、配置、管理和应用,了解云计算平台的基本原理和OpenStack的核心组件,提升对云计算技术的理解和实践能力。
二、实训内容在为期一周的实训中,我们主要完成了以下内容:1. OpenStack简介与环境准备:了解OpenStack的发展历程、核心组件及与其他云计算平台的比较。
同时,配置实训环境,包括虚拟化软件、网络设置等。
2. OpenStack安装与配置:按照官方文档的指引,逐步完成Keystone、Glance、Nova等组件的安装与配置。
期间,我们遇到了一些问题,但在团队的合作下,都得到了有效解决。
3. OpenStack管理与实践:学习并实践了如何使用命令行工具和Horizon 界面进行OpenStack的管理,包括用户管理、镜像管理、虚拟机管理等。
4. OpenStack网络配置:深入了解OpenStack的网络架构,完成Neutron组件的安装与配置,实现虚拟机的网络连接。
5. OpenStack高可用性部署:了解OpenStack的高可用性部署方案,如Keepalived、Corosync等,并进行简单的实践。
6. OpenStack应用实践:基于OpenStack平台,完成一个简单的应用实践,如部署一个Web应用或数据库服务等。
三、遇到的问题和解决方案在实训过程中,我们遇到了一些问题,如组件之间的通信问题、网络配置问题等。
针对这些问题,我们查阅了大量资料,并进行了深入的分析和探讨,最终找到了解决方案。
四、实训收获通过本次实训,我深刻认识到云计算平台的强大和复杂性。
在实践过程中,我不仅掌握了OpenStack的安装、配置和管理技能,还了解了云计算的原理和最佳实践。
此外,团队合作能力的提升也是这次实训的一个重要收获。
我们通过相互学习和帮助,共同克服了一个又一个难题。
标题:OpenStack中的常用命令随着云计算技术的迅速发展,OpenStack作为一种开源的云评台解决方案,受到了越来越多企业和个人的关注和应用。
在OpenStack的日常运维中,掌握一些常用的命令对于管理和维护OpenStack环境至关重要。
本文将介绍一些常见的OpenStack命令,并对其使用方法进行详细的解释。
一、OpenStack认证命令在使用OpenStack命令行工具之前,首先需要进行认证,以获取相应的访问权限。
OpenStack认证命令通常包括以下几个部分:1.1. 登入OpenStack```openstack login```该命令用于登入OpenStack评台,需输入用户名和密码进行认证。
1.2. 获取访问令牌```openstack token issue该命令用于获取认证后的访问令牌,以便后续的操作。
访问令牌具有一定的时效性,过期后需要重新获取。
1.3. 列出可用的服务```openstack catalog list```该命令可以列出当前OpenStack评台上可用的服务,包括计算、网络、存储等服务的列表。
二、OpenStack计算命令OpenStack的计算服务(Nova)是其中最核心的部分之一,下面介绍一些常用的计算命令:2.1. 创建虚拟机实例```openstack server create```该命令用于在OpenStack评台上创建新的虚拟机实例,需要指定实例的规格、镜像、网络等参数。
2.2. 查看虚拟机实例列表```openstack server list```该命令可以列出当前OpenStack评台上所有的虚拟机实例,包括其状态、IP位置区域等信息。
2.3. 启动/停止/重启虚拟机实例```openstack server start/stop/reboot```这些命令用于启动、停止或重启指定的虚拟机实例,可以对实例进行灵活的操作。
2.4. 删除虚拟机实例```openstack server delete```该命令用于删除指定的虚拟机实例,需要谨慎操作,以免误删重要数据。
先电云计算网络搭建操作手册版本:先电Cloud-SDN-v2.2发布日期:2018年2月1日南京第五十五所技术开发有限公司版本修订说明修订版本修订时间修订说明Cloud-SDN-v1.32015年8月18日先电云网络用户手册Cloud-SDN-v1.42016年4月12日添加注释说明和端口说明Cloud-SDN-v2.02016年10月30日修改为支持iaas 2.0版本Cloud-SDN-v2.0.52017年3月13日更新国际化、centos7命令Cloud-SDN-v2.22018年2月1日更新访问Dashboard界面图片目录1、控制器介绍 (4)2、环境介绍 (4)2.1硬件环境 (4)2.2拓扑介绍 (4)3、安装控制器 (6)3.1、安装JDK环境 (6)3.2、安装Maven环境 (6)3.3、安装OpenDayLight (7)4、配置OpenStack (9)4.1、清除Neutron配置内容 (9)4.2、清除Neutron相关内容 (10)4.3、清除OVS数据库数据 (12)4.4、配置OpenvSwitch (13)4.5、常见问题说明 (17)5、使用ODL (17)5.1、访问Dashboard界面 (17)5.1、测试 (18)1、控制器介绍OpenDayLight是2013推出来的一个开源项目,参与者都是来自众多的设备厂商,其中就包括思科等网络设备巨头,IBM、微软等传统的硬件设备巨头,还包括BigSwitch等新兴网络设备厂商,以及Vmware等新兴IT软件厂商,这就说明SDN领域为业界的发展带来了更多的机会,是更多的参与者能够加入到SDN 的研发和创新中;OpenDayLight开源项目就是和Linux基金会合作,目标是成为SDN架构中的核心组件,使用户能够减少网络的运营复杂度,扩展现有的网络架构的硬件生命期,同时还能支持SDN新业务和新能力的创新。
所谓SDN是一种新型网络架构。
OpenDaylight 指南最新版: yeasy@github 更新历史: V0.6: 2014-02-18 增加对 MD-SAL 的分析; V0.5: 2013-12-30 增加对 VTN 项目的分析; 部分格式调整。
V0.4: 2013-08-22 添加如何在控制台调用 bundle 方法。
V0.3: 2013-08-20 添加增量项目编译说明; 优化结构。
V0.2: 2013-07-14 完成用户安装运行和开发环境部署。
V0.1: 2013-07-10 完成框架。
第1章 第2章概述 ...........................................................................................................................4 控制器安装运行 ........................................................................................................5 2.1 环境配置 ....................................................................................................................5 2.2 安装和使用 ................................................................................................................5 获取源码 ............................................................................................................5 2.2.1 2.2.2 编译运行 ............................................................................................................5 常见运行问题.....................................................................................................6 2.2.3 2.2.4 使用 Mininet 测试 ..............................................................................................6 第 3 章 开发环境 ..................................................................................................................11 3.1 概述 .........................................................................................................................11 架构原则 ..................................................................................................................11 3.2 架构框架 ..................................................................................................................12 3.3 3.3.1 框架概述 ..........................................................................................................12 3.3.2 功能概述 ..........................................................................................................12 3.4 开发框架概述 ..........................................................................................................18 开发和更新代码 ......................................................................................................18 3.5 3.5.1 通过 CLI...........................................................................................................18 3.5.2 通过 Eclipse......................................................................................................20 3.5.3 在 OSGi 控制台中调用方法 .............................................................................20 3.6 示例应用 ..................................................................................................................203.6.1 3.6.2 3.6.3第 章Simple Forwarding Application .........................................................................20 Statistics Application .........................................................................................20 Load Balancer Application ................................................................................26 ......................................................................................................................29 3.7 3.7.1 C .......................................................................................................29 3.7.2 .NET .................................................................................................30 3.7.3 Java ...................................................................................................30 3.7.4 Java JSON .........................................................................................31 3.7.5 Objective C .......................................................................................31 3.8 REST ....................................................................................................32 3.8.1 Topology REST APIs ........................................................................................32 3.8.2 Host Tracker REST APIs ...................................................................................32 3.8.3 Flow Programmer REST APIs ...........................................................................32 3.8.4 Static Routing REST APIs .................................................................................33 3.8.5 Statistics REST APIs .........................................................................................33 3.8.6 Subnets REST APIs...........................................................................................33 3.8.7 Switch Manager REST APIs..............................................................................33 3.9 Java API ...................................................................................................................33 3.10 .........................................................................................................................33 3.11 ..................................................................................................................33 4 VTN .........................................................................................................................34 4.1 .........................................................................................................................34 4.1.1 ..................................................................................................................34 4.1.2 ..................................................................................................................34 4.2 ..............................................................................................................35 4.3 .........................................................................................................................36 4.3.1 vBridge .............................................................................................................36 4.3.2 vRouter .............................................................................................................36库函数 客户端库 客户端库 客户端库 客户端库 客户端库 调用和认证拓扑 集成测试 概念 场景 术语 物理网映射 功能4.44.54.6流过滤 ..............................................................................................................36 多控制器合作...................................................................................................36 北向 API...........................................................................................................37 安装 .........................................................................................................................39 4.4.1 VTN Coordinator 安装运行 ..............................................................................39 4.4.2 VTN Manager 安装运行 ...................................................................................41 虚拟化版本 ..............................................................................................................45 4.5.1 安装 VTN Coordinator......................................................................................45 4.5.2 运行 VTN Coordinator......................................................................................45 实现 .........................................................................................................................46 4.6.1 整体架构 ..........................................................................................................464.3.3 4.3.4 4.3.5 4.6.2 4.6.3 4.6.4VTN Manager ...................................................................................................46 VTN Coordinator ..............................................................................................46 VTN Coordinator REST Reference....................................................................54第1章 概述OpenDaylight 6 Bootstrap OpenDaylight Controller OpenDaylight N etwork Virtualization Platform OpenDaylight Virtual Tenant Network (VTN) Open DOVE OpenFl ow Plugin Affinity Metadata Service 9 Incubation YANG Tools LISP Flow Map ping OVSDB Integration OpenFlow Protocol Library BGP-LS/PCEP Defense4All SNMP4S DN dlux - openDayLight User eXperience SDN Simulation Platform、 、、项目目前包括 个 项目: 、 、 、 ,以及 个 项目: 、 、 、 、 、 、 。
openstack(kilo版)安装配置文档写在前面:本文档所有指令在拷贝的时候注意空格和换行,由于文档的排版原因可能会出现自动换行等误差。
一、实验环境物理机器上的3台虚拟机分别模拟控制节点、网络节点、计算节点。
采用VMware虚拟机管理软件,首先建立一个模板,在上面安装第五部分所涉及到的基本组件,分别克隆出3台虚拟机作为控制、网络、计算节点。
虚拟机操作系统为Ubuntu 14.04.3,openstack版本为kilo版。
所需各部分组件均采用apt-get自动安装。
二、openstack的两种常用上网方式1、在官方文档的三个网卡基础上,我们使用第四个网卡上网(NAT 方式或桥接方式均可)。
另外三个网卡采用host-only方式。
2、使用管理网络上网。
本文采用第二种方式对网络进行配置,即将管理网络根据自己的网络环境配置成可上网的IP地址段(NAT和host-only均可)。
由于对第一种方式进行尝试时最终会遇到ping不通外网的情况,所以不建议尝试。
具体可见/thread-13508-1-1.html三、各节点的网络配置各节点建立好以后,根据openstack-install-guide-apt-kilo官方文档对各节点进行网络配置。
本例采用OpenStack Networking (neutron)方式进行网络配置。
使用OpenStack网络(neutron)的架构样例中,需要一个控制节点、一个网络节点以及至少一个计算节点。
控制节点包含一个在管理网络上的网络接口。
网络节点在包含一个在管理网络上的网络接口,一个在实例隧道网络上的网络接口和一个在外部网络上的网络接口。
计算节点包含一个在管理网络上的网络接口和一个在实例隧道网络上的接口。
所以此时需要在虚拟机管理界面添加虚拟网络,由于采用第二部分提到的第二种方式(即管理网络上网),所以网络分配如下:◆管理网络使用 192.168.109.0/24 带有网关 192.168.109.2◆实例隧道网络使用 10.0.1.0/24 无网关◆外部通道网络使用192.168.109.0/24 带有网关192.168.109.2首先需要配置管理网络采用NAT方式上网:VMware默认VMnet8为NAT模式,打开系统的网络适配器设置,可以看到VMnet8的网络配置信息,如下图:这个ip地址,因个人而异,也就是说不同网络,不同环境,这个ip变化的概率是很大的。
openstack操作手册一、OpenStack简介与架构1.OpenStack概述OpenStack是一个开源的云计算平台,它提供了一整套解决方案,用于部署私有云和公有云。
OpenStack具有高度可扩展、弹性和易于管理的特点,广泛应用于全球各大企业及政府机构。
2.OpenStack核心组件OpenStack主要由以下几个核心组件组成:(1)Nova:计算服务组件,负责虚拟机实例的创建、启动、停止和删除等操作。
(2)Glance:镜像服务组件,用于管理虚拟机镜像的创建、存储和分发。
(3)Swift:对象存储服务组件,提供海量、高可用的对象存储服务。
(4)Keystone:认证服务组件,负责OpenStack整个系统的身份认证和权限管理。
二、OpenStack部署与运维1.部署流程OpenStack部署主要包括以下步骤:(1)准备环境:包括硬件、网络、操作系统等基础设施。
(2)安装OpenStack:根据官方文档,遵循相应的安装教程。
(3)配置OpenStack:配置各个组件之间的关系,如数据库、消息队列等。
(4)启动OpenStack:启动各个组件,并确保它们正常运行。
2.运维策略运维OpenStack时,需要注意以下几点:(1)监控:定期检查系统性能、资源使用情况,确保OpenStack稳定运行。
(2)备份:定期对关键数据进行备份,以防数据丢失或损坏。
(3)安全:确保OpenStack集群的安全性,采取必要的防火墙、加密等措施。
(4)升级:根据OpenStack版本更新计划,及时进行组件升级。
三、OpenStack常用操作教程1.创建与删除实例(1)登录OpenStack控制台,进入Nova组件。
(2)选择实例类型、镜像、存储等信息。
(3)确认配置无误后,创建实例。
(4)实例创建完成后,可以登录到虚拟机进行操作。
(5)若需要删除实例,请在Nova组件中进行操作。
2.配置网络与存储(1)进入Neutron组件,配置虚拟网络、子网和路由器。
opendaylight原理
OpenDaylight是一个基于软件定义网络(SDN)的开源控制器平台,其工作原理涉及以下几个关键组件和概念:
1.控制平面(Controller Plane):OpenDaylight的核心是控制平面,它负责网络设备的管
理和控制。
控制平面向网络设备发送操作指令,并从设备收集状态信息。
它还负责网络中各个设备之间的通信和协调。
2.数据平面(Data Plane):数据平面是网络设备的实际部分,负责网络数据的转发。
在
SDN中,数据平面与控制平面分离,控制平面通过控制器来管理和配置数据平面上的设备。
3.协议支持:OpenDaylight支持多种协议与网络设备进行通信,包括OpenFlow、NETCONF、
SNMP等。
这些协议使OpenDaylight能够与不同类型的设备进行交互,并获取设备的状态信息或者发送配置命令。
4.插件和应用程序:OpenDaylight基于插件架构,可以通过插件将各种功能集成到控制器
中。
插件可以提供一些基本功能,如网络拓扑发现、路由计算等,也可以提供更高级的应用程序,如负载均衡、安全策略等。
5.网络编程接口:OpenDaylight提供了一组API和编程接口,使用户能够使用自己喜欢的
编程语言进行网络编程。
这些接口包括RESTful API、Java API等,使用户可以编写自己的应用程序,并与OpenDaylight控制器进行交互。
总体来说,OpenDaylight通过控制平面来管理和控制网络设备,使用户能够通过统一接口进行网络管理和编程。
它提供了灵活的插件体系和编程接口,可以根据用户的需求进行定制和扩展。
openstack安装配置手册目录一、控制节点系统及环境安装 (1)1:准备光盘 (1)2:安装OS (1)3:设置root权限 (1)4:设置网络 (1)5:安装bridge (2);6:设置NTP () (2)7:设置Iscsi (2)8:安装rabbitmq (2)二:安装mysql和创建相关数据库 (2)1:安装mysql (2)2:安装phpmyadmin (2)3:创建数据库 (2)三:安装和配置keystone (2)¥1:安装keystone (2)2:配置keystone (2)创建服务 (2)3:验证安装 (2)四:安装和配置glance (2)1:安装软件 (2)2:配置/etc/glance/ (2)3:设置/etc/glance/ (2)¥4:配置/etc/glance/ (2)5:配置/etc/glance/ (2)6:同步数据库 (2)7:验证glance服务是否正常 (2)8:下载镜像并上传 (2)五:安装配置nova (2)1:安装nova相关组件 (2)2:配置/etc/nova/ (2)(3:配置/etc/nova/ (2)4:停止和重启nova相关服务 (2)5:同步数据库 (2)6:检查nova服务 (2)六:安装和配置Dashbaord (2)1:安装dashbaord (2)2:配置/etc/openstack-dashboard/ (2)3:重启服务 (2)]Appendix A: 使用nova-volume (2)Appendix B: glance使用swift存储镜像 (2)Appendix C: 多计算节点配置 (2)一、控制节点系统及环境安装1:准备光盘:安装OS服务器是两块硬盘,将一个单独的分区专门给nova-volume使用(nova-volume一般不用)。
系统最小化安装,只需要安装ssh server就可以。
装完系统后。
apt-get updateapt-get upgrade更新源里的包,更新系统。
菜鸟水平初步设置OpenDaylight OVSDB + Openstack测试环境Hannibal (SDNAP首发)刚接触SDN和OpenDaylight两个多月时间,还处于人云亦云照葫芦画瓢的水平,在很多大牛的指导文章帮助下,初步搭建一个很简单的OpenDaylight OVSDB + Openstack调试环境。
第一次写技术文章,请多包涵。
一、准备硬件:双核Core i7,内存4GB,一个以太网卡的Thinkpad X201t,普通个人用笔记本Host环境:64位Ubuntu 13.10,OVS 2.0.90VM环境:2个Virtualbox VM,Fedora 19 + OVS 2.0.0 + Devstack 。
导入Virtualbox都是缺省配置。
两个VM的下载地址:https://:443/v1/96991703573236/imgs/Fedora19--2node-Devstack.tar.bz2Size: 4983728003 bytesMD5sum: dfd791a989603a88a0fa37950696608c二、原理OpenDaylight(ODL)是一个由Linux基金会支持,多个网络厂商参与的开源SDN控制器项目。
Openstack是开源的IaaS项目。
如何让两个平台整合以便更好的发挥作用是本环境搭建的目的。
现有的解决方案之一,就是利用Openstack Neutron的ML2 Plugin,将网络复杂性丢到ODL。
也就是说,Openstack通过ML2 Plugin,与OpenDaylight的NB API进行会话,具体网络部署的实现交由OpenDaylight Controller来实现。
该方案的实现场景之一,便是OVSDB协议的简单应用。
OVSDB是Openvswitch的数据库管理协议有关Openvswitch的详细内容请参见Openvswitch官网的内容本环境的逻辑图如下简单环境可以由一个Openstack Control Node,一个Openstack Compute Node和一个OpenDaylight Node组成。
基于OpenFlow的SDN技术1. SDN与OpenFlow技术简介SDN指的是软件定义网络。
你可以这样去理解SDN:如果将网络中所有的网络设备视为被管理的资源,那么参考操作系统的原理,可以抽象出一个网络操作系统(Network OS)的概念—这个网络操作系统一方面抽象了底层网络设备的具体细节,同时还为上层应用提供了统一的管理视图和编程接口。
这样,基于网络操作系统这个平台,用户可以开发各种应用程序,通过软件来定义逻辑上的网络拓扑,以满足对网络资源的不同需求,而无需关心底层网络的物理拓扑结构。
云计算的发展,是以虚拟化技术为基础的。
云计算服务商以按需分配为原则,为客户提供具有高可用性、高扩展性的计算、存储和网络等IT资源。
虚拟化技术将各种物理资源抽象为逻辑上的资源,隐藏了各种物理上的限制,为在更细粒度上对其进行管理和应用提供了可能性。
近些年,计算的虚拟化技术(主要指x86平台的虚拟化)取得了长足的发展;相比较而言,尽管存储和网络的虚拟化也得到了诸多发展,但是还有很多问题亟需解决,在云计算环境中尤其如此。
OpenFlow和SDN尽管不是专门为网络虚拟化而生,但是它们带来的标准化和灵活性却给网络虚拟化的发展带来无限可能。
SDN的最重要特征:将传统网络设备的数据转发(data plane)和路由控制(control plane)两个功能模块相分离,通过集中式的控制器(Controller)以标准化的接口对各种网络设备进行管理和配置,那么这将为网络资源的设计、管理和使用提供更多的可能性,从而更容易推动网络的革新与发展。
OpenFlow是实现SDN最常用的的一种协议,OpenFlow的原理和基本架构如下图。
其实,这张图还很好地表明了OpenFlow Switch规范所定义的范围—从图上可以看出,OpenFlow Switch规范主要定义了Switch的功能模块以及其与Controller之间的通信信道等方面。
菜鸟水平初步设置OpenDaylight OVSDB + Openstack测试环境Hannibal (SDNAP首发)刚接触SDN和OpenDaylight两个多月时间,还处于人云亦云照葫芦画瓢的水平,在很多大牛的指导文章帮助下,初步搭建一个很简单的OpenDaylight OVSDB + Openstack调试环境。
第一次写技术文章,请多包涵。
一、准备硬件:双核Core i7,内存4GB,一个以太网卡的Thinkpad X201t,普通个人用笔记本Host环境:64位Ubuntu 13.10,OVS 2.0.90VM环境:2个Virtualbox VM,Fedora 19 + OVS 2.0.0 + Devstack 。
导入Virtualbox都是缺省配置。
两个VM的下载地址:https://:443/v1/96991703573236/imgs/Fedora19--2node-Devstack.tar.bz2Size: 4983728003 bytesMD5sum: dfd791a989603a88a0fa37950696608c二、原理OpenDaylight(ODL)是一个由Linux基金会支持,多个网络厂商参与的开源SDN控制器项目。
Openstack是开源的IaaS项目。
如何让两个平台整合以便更好的发挥作用是本环境搭建的目的。
现有的解决方案之一,就是利用Openstack Neutron的ML2 Plugin,将网络复杂性丢到ODL。
也就是说,Openstack通过ML2 Plugin,与OpenDaylight的NB API进行会话,具体网络部署的实现交由OpenDaylight Controller来实现。
该方案的实现场景之一,便是OVSDB协议的简单应用。
OVSDB是Openvswitch的数据库管理协议有关Openvswitch的详细内容请参见Openvswitch官网的内容本环境的逻辑图如下简单环境可以由一个Openstack Control Node,一个Openstack Compute Node和一个OpenDaylight Node组成。
三、环境搭建1. 安装OpenDaylight Controller和OpenDaylight OVSDB控制器的安装的具体事项请参考wiki:https:///view/OpenDaylight_Controller:Pulling,_Hacking,_and_Pushing_th e_Code_from_the_CLIOpenDaylight项目开发的IDE可以选择Eclipse或者Intellij IDEA,个人推荐Intellij IDEA Community Version,在完成上述步骤后直接导入即可。
Eclipse的步骤在wiki中可以找到,非常复杂且bug繁多。
OVSDB的安装(在和controller的同级目录下):git clone https:///gerrit/p/ovsdb.gitcd ovsdb然后写一个build_ovsdb.sh的脚本,在当前目录下运行即可:#!/bin/shgit pullcd neutronecho "Refreshing ovsdb/neutron.."pwdmvn clean installcd ../northbound/ovsdb/echo "Refreshing northbound/ovsdb.. "pwdmvn clean installcd ../../ovsdbecho "Refreshing ovsdb/ovsdb.."pwdmvn clean installcd ..cp ~/odl/ovsdb/neutron/target/ovsdb.neutron-0.5.0-SNAPSHOT.jar~/odl/controller/opendaylight/distribution/opendaylight/target/distribution.ope ndaylight-osgipackage/opendaylight/plugins/cp ~/odl/ovsdb/northbound/ovsdb/target/ovsdb.northbound-0.5.0-SNAPSHOT.jar~/odl/controller/opendaylight/distribution/opendaylight/target/distribution.ope ndaylight-osgipackage/opendaylight/plugins/cp ~/odl/ovsdb/ovsdb/target/ovsdb-0.5.0-SNAPSHOT.jar~/odl/controller/opendaylight/distribution/opendaylight/target/distribution.ope ndaylight-osgipackage/opendaylight/plugins/echo "done!"2. 运行OpenDaylight Controllercd~/odl/controller/opendaylight/distribution/opendaylight/target/distribution.ope ndaylight-osgipackage/opendaylight./run.sh需要注意的是我们需要在OSGI命令行中停掉simpleforward bundleosgi> lb | grep simple132|Active | 4|samples.simpleforwarding (0.4.1.SNAPSHOT)trueosgi> stop 132osgi> lb | grep simple132|Resolved | 4|samples.simpleforwarding (0.4.1.SNAPSHOT)true3. 准备Openstack的两个Node在上面提供的下载链接下载并解压之后,里面提供了control node和compute node的local.conf.control和pute,但需要做出相应的修改,HOST IP要改成当前Node的ip地址,Service ip要改成Control Node的地址,在最下面[ml2_odl]中的url要填写OpenDaylight Controller所在的地址。
以我的设置举例,对于Control Node,HOSTIP=128.195.169.202,SERVICE_HOST=128.195.169.202,最下面的url=http://128.195.169.117:8080….对于Compute Node,HOST IP=128.195.169.192,SERVICE_HOST=128.195.169.202,url的配置与Control Node相同。
另外注意在Control Node的local.conf.control里面还要加上disable_service n-cpu修改好两个conf文件后,在virtualbox里启动vm,如果不能启动图形界面的话,直接右侧Ctrl + F2 进入命令行界面,用户名:fedora,密码:reverse。
先配置Control Node,将local.conf.control改名外local.conf,然后运行同样是压缩包里的fedora19-devstack.sh文件:./fedora19-devstack “local.conf”,该脚本的功能在压缩包里的Readme文件中有叙述。
之后cd /mnt/git/devstack然后./stack.sh。
顺利的话会一次成功,如果出现错误的话,先运行./unstack.sh,改正后再次运行./stack.sh。
Compute Node的配置基本重复上面的步骤,除了是将pute改成local.conf。
在两个Node都devstack安装完毕之后,可以在Compute Node运行Generic—post-Devstack.sh来创建一个instance。
注意Readme文件中所提到的,脚本最后注释掉了nova boot的命令,是因为net-id的选项需要倒数第二个neutron net-list所给出的private network id./fedora19-devstack.sh “local.conf”适用于第一次配置,再次启动VM重跑devstack的时候,只要在启动VM后记得启动OVS:sudo /usr/share/openvswitch/script/ovs-ctl start就好。
之后直接cd /mnt/git/devstack后./stack.sh即可。
4. 后续到了这里,打开浏览器地址栏输入控制器地址:8080,然后用户名admin密码admin即可进入OpenDaylight的UI界面,界面里应该显示有两个VM中OVS所创造的虚拟接口以及相应的流。
在VM的CLI里运行sudo ovs-vsctl show可以看到接口的具体信息。
下面是我的Compute Node以及Control Node的OVS信息,其中可以看到6640是OVSDB端口,6633是controller监听端口。
具体OVSDB调试可以参见:/getting-started-ovsdb/四、总结目前的问题在于如果linked clone compute node来创建第二个compute node vm的话,虽然有不同的mac地址,但是不知何原因OpenDaylight的Forwarding Rule Manager会进入一个死循环,不断的用第二个节点来代替第一个节点,然后再用第一个节点来代替第二个节点。
另外在两个openstack node vm刚启动ovs之后和devstack之前,osgi的cli会给出一些ovsdb bundle提出的错误。
这些问题都需要进一步的修正。
总而言之一个比较简单的OpenDaylight OVSDB + OpenStack的环境是可以用以上方法在普通电脑上搭建成功的,欢迎大家进行更复杂的调试。
五、参考链接:/?p=523。