openstack 订阅
OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。 [1]  OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。 [1] 展开全文
OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。 [1]  OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。 [1]
信息
编程语言
Python
遵循标准
Open 、AMQP、SQLAlchemy
开发者
NASA,Rackspace
中文名
OpenStack云计算管理平台
外文名
OpenStack
OpenStack简介
Openstack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。Openstack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人将 Openstack作为基础设施即服务资源的通用前端。Openstack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用 Openstack前端来设置及管理自己的公共云或私有云。 [2]  Openstack是由 Rackspace和NASA共同开发的云计算平台,帮助服务商和企业内部实现类似于 Amazon ec2和S3的云基础架构服务( Infrastructure as a Service)。 Openstack包括两个主要模块:Nova和 Swift。前者是NASA开发的虚拟服务器部署和业务计算模块;后是 Backpack开发的分布式云存储模块,两者可以一起用,也可以分开单独用。 Openstack是开源项目,除了有 Rackspace和NASA的大力支持外,后面还有包括Dell、 Citrix、 Cisco Canonical这些重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云台 Eucalyptus的态势。 [2] 
收起全文
精华内容
参与话题
问答
  • Openstack

    2016-07-22 22:51:58
    OpenStack云平台技术是云计算技术中的主流技术,已得到大量主流商业厂商和研究机构的大力支持。在未来的几年中,OpenStack会对云计算以及IT领域产生极大的影响。由于云计算本身的复杂性,Openstack系统对于初学者...

    OpenStack云平台技术是云计算技术中的主流技术,已得到大量主流商业厂商和研究机构的大力支持。在未来的几年中,OpenStack会对云计算以及IT领域产生极大的影响。由于云计算本身的复杂性,Openstack系统对于初学者显得过于繁杂,自学者往往在各种部署难题前因难而退。各种崭新的概念,对于新接触Openstack平台的人,往往会觉得困惑和难以理解,进而转化为畏惧。 本课程历数了云计算及各种流行云平台的特点,之后重点阐述从OpenStack开源云平台的发展历程、体系架构、关键技术、主要应用领域以及相应的发展策略。

    云计算及 OpenStack 云平台技术的机遇与挑战

    1、OpenStack 云平台介绍
    2、OpenStack 项目介绍
    3、OpenStack 开源社区现状、动态和未来方向
    4、OpenStack 项目整体基本架构及演进
    5、基于OpenStack实现的成功案例介绍
    6、OpenStack 云平台与其他几种云平台的比较 (OpenStack,CloudStack,OpenNebula,Docker)

    Openstack底层技术及通用组件讲解

    1、计算机虚拟化相关技术讲解
    2、网络虚拟化相关技术讲解
    3、Openstack通用组件讲解

    第三课 OpenStack安装和部署
    1、OpenStack安装部署过程(给出详细安装过程)
    2、使用devstack安装部署OpenStack,搭建开发环境
    3、openstack目录组织结构及配置文件

    第四课 OpenStack 基本功能操作
    1、openstack管理界面包括哪些基础功能
    2、openstack环境中创建虚拟机流程
    3、OpenStack 管理员使用
    用户和项目管理
    用户网络存储和计算机资源管理
    用户项目安全租的管理
    4、OpenStack 租户使用
    虚拟机操作管理
    创建虚拟网络以及外部IP的管理
    用户如何管理使用块存储
    用户如何管理基于对象存储

    OpenStack 核心组件详解

    1、OpenStack 中的 keystone 模块详解
    2、OpenStack 中的 Cinder模块详解
    3、OpenStack 中的 Swift模块详解

    OpenStack 核心组件Glance 模块详解

    1、Glance架构及其原理分析
    2、Glance后端存储介绍及其缓存机制
    3、Glance状态迁移
    4、如何制作镜像文件

    OpenStack 核心组件Neutron模块详解(1)

    1、Neutron架构及其原理分析
    2、Neutron基本概念介绍:Network、Subnet、Port
    3、DHCP服务介绍
    4、Router服务介绍

    OpenStack 核心组件详解Neutron模块详解(2)

    1、负载均衡服务LBaaS
    2、neutron网络功能详解
    3、neutron实现qos功能

    OpenStack 核心组件Nova模块详解

    1、Nova架构及其原理分析
    2、Nova配置文件介绍及其优化
    3、Nova相关服务详细介绍

    OpenStack开发

    1、WSGI架构
    2、OpenStack API介绍
    3、如何编写API
    4、如何为API扩展功能

    OpenStack开发Horizon定制开发

    1、horizon组成及各个模块讲解
    2、horizon如何调用其他组件的API
    3、Horizon的定制开发。例如为文件存储(Swift)自定义账号和存储空间

    OpenStack运维

    1、OpenStack自动化部署
    2、OpenStack监控
    3、OpenStack高可用部署讲解
    4、OpenStack常见错误与处理

    环境

    1)笔记本电脑一台,内存>4G,可用磁盘空间大于50G;
    2)安装VirtualBox 或VMWARE workstation虚拟机软件,并配置好虚拟网络;
    3)安装好2-3台Ubuntu-14.04 Server-x86_64的VM虚拟机。
    4)OpenStack版本:Kilo
    软件准备
    OpenStack版本:Kilo
    操作系统:Ubuntu-14.04 Server-x86_64
    1)熟悉Linux基本命令及系统管理。
    2)熟悉基本的网络知识。
    3)熟悉虚拟化技术。
    4)有一定的开发基础;
    涉及语言
    Python
    Linux Shell

    1)对云计算有一个整体的认识
    2)学员在认真听取学完本次课程,能够根据官方文档,独立搭建一套openstack环境
    3)能够知道从事openstack工作,有哪些方向可选,各方向需要掌握哪些基础
    4)能够熟练使用openstack,创建虚拟机,配置网络,创建负载均衡等
    5)能够对openstack代码进行自定义改造
    6)能够熟练跟踪从页面点击一个按钮或者链接,如何一步步走到底层后台libvirt及kvm
    7)能够对openstack的网络相关技术有一定程度理解

    展开全文
  • OpenStack

    2016-07-15 17:26:05
    记录一个OpenStack的bug 启动实例的时候会报出500错误, 启动实例命令 nova boot --flavor 1 --key_name demo-key --image d7057028-a498-4576-86b4-e6aef50dab69 test1 日志路径/var/log/nova/nova-api.log...

    记录一个OpenStack的bug

    启动实例的时候会报出500错误,
    启动实例命令
    nova boot --flavor 1 --key_name demo-key --image d7057028-a498-4576-86b4-e6aef50dab69 test1
    日志路径/var/log/nova/nova-api.log记录如下:
    2016-07-15 17:06:25.082 43889 ERROR nova.api.openstack [req-90a0ab9d-a502-41cf-b530-3d1e59abcf5d 1b02500be9164beeba3626ccad78e66b fd6862f998934437b31d4e9038b17eb6 - - -] Caught error: id
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack Traceback (most recent call last):
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/api/openstack/__init__.py", line 125, in __call__
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     return req.get_response(self.application)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/webob/request.py", line 1317, in send
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     application, catch_exc_info=False)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/webob/request.py", line 1281, in call_application
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     app_iter = application(self.environ, start_response)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     return resp(environ, start_response)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py", line 634, in __call__
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     return self._call_app(env, start_response)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py", line 554, in _call_app
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     return self._app(env, _fake_start_response)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     return resp(environ, start_response)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     return resp(environ, start_response)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/routes/middleware.py", line 131, in __call__
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     response = self.app(environ, start_response)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     return resp(environ, start_response)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 130, in __call__
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     resp = self.call_func(req, *args, **self.kwargs)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 195, in call_func
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     return self.func(req, *args, **kwargs)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/api/openstack/wsgi.py", line 756, in __call__
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     content_type, body, accept)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/api/openstack/wsgi.py", line 821, in _process_stack
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     action_result = self.dispatch(meth, request, action_args)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/api/openstack/wsgi.py", line 911, in dispatch
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     return method(req=request, **action_args)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/api/openstack/compute/servers.py", line 636, in create
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     self._handle_create_exception(*sys.exc_info())
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/api/openstack/compute/servers.py", line 465, in _handle_create_exception
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     six.reraise(*exc_info)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/api/openstack/compute/servers.py", line 621, in create
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     check_server_group_quota=check_server_group_quota)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/hooks.py", line 149, in inner
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     rv = f(*args, **kwargs)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/compute/api.py", line 1543, in create
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     check_server_group_quota=check_server_group_quota)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/compute/api.py", line 1128, in _create_instance
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     image_id, boot_meta = self._get_image(context, image_href)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/compute/api.py", line 818, in _get_image
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     image = self.image_api.get(context, image_href)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/image/api.py", line 93, in get
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     show_deleted=show_deleted)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/image/glance.py", line 309, in show
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     include_locations=include_locations)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/image/glance.py", line 483, in _translate_from_glance
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     include_locations=include_locations)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/image/glance.py", line 545, in _extract_attributes
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     queued = getattr(image, 'status') == 'queued'
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/glanceclient/openstack/common/apiclient/base.py", line 491, in __getattr__
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     self.get()
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/glanceclient/openstack/common/apiclient/base.py", line 509, in get
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     new = self.manager.get(self.id)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/glanceclient/openstack/common/apiclient/base.py", line 494, in __getattr__
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack     raise AttributeError(k)
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack AttributeError: id
    2016-07-15 17:06:25.082 43889 TRACE nova.api.openstack 
    2016-07-15 17:06:25.089 43889 INFO nova.api.openstack [req-90a0ab9d-a502-41cf-b530-3d1e59abcf5d 1b02500be9164beeba3626ccad78e66b fd6862f998934437b31d4e9038b17eb6 - - -] http://controller1:8774/v2/fd6862f998934437b31d4e9038b17eb6/servers returned with HTTP 500
    2016-07-15 17:06:25.091 43889 INFO nova.osapi_compute.wsgi.server [req-90a0ab9d-a502-41cf-b530-3d1e59abcf5d 1b02500be9164beeba3626ccad78e66b fd6862f998934437b31d4e9038b17eb6 - - -] 172.16.200.107 "POST /v2/fd6862f998934437b31d4e9038b17eb6/servers HTTP/1.1" status: 500 len: 359 time: 0.5674710
    2016-07-15 17:06:25.177 43851 INFO nova.osapi_compute.wsgi.server [req-69b3c36e-2ae9-4634-ae7c-28c0d22bd2e6 1b02500be9164beeba3626ccad78e66b fd6862f998934437b31d4e9038b17eb6 - - -] 172.16.200.107 "GET /v2/fd6862f998934437b31d4e9038b17eb6/servers/detail?limit=21&project_id=fd6862f998934437b31d4e9038b17eb6 HTTP/1.1" status: 200 len: 211 time: 0.0638170
    2016-07-15 17:06:25.980 43887 INFO nova.osapi_compute.wsgi.server [req-3facdbdc-c5ea-410e-b1ad-7bc990e604c7 1b02500be9164beeba3626ccad78e66b fd6862f998934437b31d4e9038b17eb6 - - -] 172.16.200.107 "GET /v2/fd6862f998934437b31d4e9038b17eb6/limits?reserved=1 HTTP/1.1" status: 200 len: 708 time: 0.7534001
    2016-07-15 17:06:26.025 43857 INFO nova.osapi_compute.wsgi.server [req-d47a5ad9-ff25-4909-9c93-8e0494a54829 1b02500be9164beeba3626ccad78e66b fd6862f998934437b31d4e9038b17eb6 - - -] 172.16.200.107 "GET /v2/fd6862f998934437b31d4e9038b17eb6/limits?reserved=1 HTTP/1.1" status: 200 len: 708 time: 0.0331218

    解决方法:
    wget http://mirrors.aliyun.com/centos/7/cloud/x86_64/openstack-mitaka/python-glanceclient-2.0.0-1.el7.noarch.rpm
    rpm -Uvh python-glanceclient-2.0.0-1.el7.noarch.rpm 
    systemctl restart openstack-nova-api.service openstack-nova-cert.service   openstack-nova-consoleauth.service openstack-nova-scheduler.service   openstack-nova-conductor.service openstack-nova-novncproxy.service
    systemctl restart openstack-glance-api.service openstack-glance-registry.service

    小记一下

    ########################
    迷途小运维原创
    作者:john
    转载请注明出处
    展开全文
  • OpenStack

    万次阅读 2011-06-14 15:14:00
    MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0运行时架构系统内部交互图 Swift也是独立组件,对系统运行没影响。 nova-api是对外的接口。Glance是独立组件,供nova-compute下载镜像使用。...

    运行时架构

    系统内部交互图

     

    Swift也是独立组件,对系统运行没影响。

     

    nova-api是对外的接口。

    Glance是独立组件,供 nova-compute 下载镜像使用。 

    核心组件:

    Scheduler: 根据当前资源使用情况,决定计算节点分布到哪台计算节点上。目前实现很薄,目前已支持插件方式扩展,方便后面可能有采用更复杂算法。

    Compute:计算节点,使用虚拟化技术, host 虚拟机

    Network: 网络管理,给虚拟机分配网络和管理,使外部 PC 可以可直接访问

    Volume:给虚拟机分配额外持久化的存储

    运行时系统间交互都是通过异步消息的方式和DB 进行交互

     

    运行时图

    管理和使用是走两个通道的。管理必须要经由 nova-api转发过去。而运行时,直接连接计算节点上的虚拟机即可。

     

     

     

    OpenStack架构

    OpenStack的架构示意图和目前已实现情况

     

    蓝色是要 openstack概念上的架构图,红色是目前已实现的。

     

     


    部署

    部署时,除了Dashboard 必须部署在 nova-api server 上以外,所有的其它进程都可以部署在不同的机器上。

     

     

     

     

    OpenStack提供了基于 Puppet 的自动部署工具。经过简单配置,就可以把各个组件部署到不同机器上。

     

     

    OpenStack的镜像创建并没有纳入其职责列表。
    你可以使用Ubuntu的已有image (https://help.ubuntu.com/community/UEC/),或者直接重新自己通过KVM安装  http://cssoss.wordpress.com/2011/04/27/openstack-beginners-guide-for-ubuntu-11-04-image-management/


     

    网络模型

    Flat Network Manager, Flat DHCP Network Manager, VLAN Network Manager.

    VLAN Network Manager 这种方式适合于共有云。

    在私有云方面, IP充足,而且为了方便的互联互通,简单的Flat结构网络比较适合。

    OpenStack支持 Floating IPs ,该特性可以方便的通过更改IP来Failover(容错转移)或者迁移。

     

    CAAS

    Cluster as a Service: Managing multiple clusters for openstack clouds and other diverse frameworks

    OpenStack无法独自满足集群计算的需求。目前有一种方案,把集群计算部署放到 IaaS/PaaS 的下一层,我们称这种解决方案是 CaaS.

    当前,在很多机构或者学校,部署了不同的集群解决方案,但是他们使用的频率并不是很高,因此资源利用率不高的情况下,造成了很大的浪费(比如电费, PC)。

         设计目标:

    每个集群资源都可以动态分配

    系统隔离性好  

    集群有足够的性能和容量  

          设计:

    IaaS/PaaS层与 CaaS 隔离

    IaaS/PaaS 层可联机扩展

    CaaS  层的镜像可通过容器有效被处理

    CaaS  层是通过 webservice提供服务  

    可通过 VLAN 网络隔离  

    自动安装

    在这个解决方案中是通过 LXC 方式来实现系统隔离

    注:

    LXC, LINUX的容器工具,他使用cgroup把系统资源分组进行隔离。
    它不需要指令级模拟。因此相对其他虚拟化技术性能更高。
    因为他必须以进程运行执行文件的方式,因此不支持windows.


    架构图


     

    CaaS 中构建 OpenStack
    Layers

    CaaS(Physical) Physical layer. OS is installed on physical machines. 

    CaaS(LXC) LXC layer. A Tagged VLAN isolates LXC containers. 

    IaaS Cloud layer.  OpenStack (nova).

    过程:

    1.  在物理机上安装LXC

    2. 配置VPN网络

    3. 执行nova 的自动部署工具

    重复1~3, 在不同的机器上重复的安装OpenStack 的计算节点

     

     

    展开全文
  • 全面认识openstackOpenStack架构详解

    万次阅读 多人点赞 2018-06-21 10:41:50
    OpenStack既是一个社区,也是一个项目和一个开源软件,提供开放源码软件,建立公共和私有云,它提供了一个部署云的操作平台或工具集,其宗旨在于:帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大...

    OpenStack既是一个社区,也是一个项目和一个开源软件,提供开放源码软件,建立公共和私有云,它提供了一个部署云的操作平台或工具集,其宗旨在于:帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。
    OpenStackd开源项目由社区维护,包括OpenStack计算(代号为Nova),OpenStack对象存储(代号为Swift),并OpenStack镜像服务(代号Glance)的集合。 OpenStack提供了一个操作平台,或工具包,用于编排云。

    下面列出Openstack的详细构架图

    Openstack的网络拓扑结构图

    整个OpenStack是由控制节点,计算节点,网络节点,存储节点四大部分组成。(这四个节点也可以安装在一台机器上,单机部署)
    其中:
    控制节点负责对其余节点的控制,包含虚拟机建立,迁移,网络分配,存储分配等等
    计算节点负责虚拟机运行
    网络节点负责对外网络与内网络之间的通信
    存储节点负责对虚拟机的额外存储管理等等

    控制节点架构:

    控制节点包括以下服务

       管理支持服务

       基础管理服务

       扩展管理服务

       1)管理支持服务包含MySQL与Qpid两个服务

    MySQL:数据库作为基础/扩展服务产生的数据存放的地方

    Qpid:消息代理(也称消息中间件)为其他各种服务之间提供了统一的消息通信服务

       2)基础管理服务包含Keystone,Glance,Nova,Neutron,Horizon五个服务

    Keystone:认证管理服务,提供了其余所有组件的认证信息/令牌的管理,创建,修改等等,使用MySQL作为统一的数据库

    Glance:镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理,包含镜像的导入,格式,以及制作相应的模板

    Nova:计算管理服务,提供了对计算节点的Nova的管理,使用Nova-API进行通信

    Neutron:网络管理服务,提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理面板

    Horizon:控制台服务,提供了以Web的形式对所有节点的所有服务的管理,通常把该服务称为DashBoard

       3)扩展管理服务包含Cinder,Swift,Trove,Heat,Centimeter五个服务

    Cinder:提供管理存储节点的Cinder相关,同时提供Cinder在Horizon中的管理面板

    Swift:提供管理存储节点的Swift相关,同时提供Swift在Horizon中的管理面板

    Trove:提供管理数据库节点的Trove相关,同时提供Trove在Horizon中的管理面板

    Heat:提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性。

    Centimeter:提供对物理资源以及虚拟资源的监控,并记录这些数据,对该数据进行分析,在一定条件下触发相应动作

    控制节点一般来说只需要一个网络端口用于通信/管理各个节点

    网络节点架构

    网络节点仅包含Neutron服务

    Neutron:负责管理私有网段与公有网段的通信,以及管理虚拟机网络之间的通信/拓扑,管理虚拟机之上的防火等等

    网络节点包含三个网络端口

    eth0:用于与控制节点进行通信

    eth1:用于与除了控制节点之外的计算/存储节点之间的通信

    eth2:用于外部的虚拟机与相应网络之间的通信

    计算节点架构

    计算节点包含Nova,Neutron,Telemeter三个服务

      1)基础服务

    Nova:提供虚拟机的创建,运行,迁移,快照等各种围绕虚拟机的服务,并提供API与控制节点对接,由控制节点下发任务

    Neutron:提供计算节点与网络节点之间的通信服务

      2)扩展服务

    Telmeter:提供计算节点的监控代理,将虚拟机的情况反馈给控制节点,是Centimeter的代理服务

    计算节点包含最少两个网络端口

    eth0:与控制节点进行通信,受控制节点统一调配

    eth1:与网络节点,存储节点进行通信

    存储节点架构

    存储节点包含Cinder,Swift等服务

    Cinder:块存储服务,提供相应的块存储,简单来说,就是虚拟出一块磁盘,可以挂载到相应的虚拟机之上,不受文件系统等因素影响,对虚拟机来说,这个操作就像是新加了一块硬盘,可以完成对磁盘的任何操作,包括挂载,卸载,格式化,转换文件系统等等操作,大多应用于虚拟机空间不足的情况下的空间扩容等等

    Swift:对象存储服务,提供相应的对象存储,简单来说,就是虚拟出一块磁盘空间,可以在这个空间当中存放文件,也仅仅只能存放文件,不能进行格式化,转换文件系统,大多应用于云磁盘/文件

    存储节点包含最少两个网络接口

    eth0:与控制节点进行通信,接受控制节点任务,受控制节点统一调配

    eth1:与计算/网络节点进行通信,完成控制节点下发的各类任务

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    下面说一说Openstack的各个组件作用及关系

    Openstack发展至今,总共集成了下面几个组件:

    Nova - 计算服务
    Neutron-网络服务
    Swift - 对象存储服务
    Cinder-块存储服务
    Glance - 镜像服务
    Keystone - 认证服务
    Horizon - UI服务
    Ceilometer-监控服务
    Heat-集群服务
    Trove-数据库服务

    组件间的关系图如下:

    重要组件介绍

    OpenStack认证服务(Keystone)
    Keystone为所有的OpenStack组件提供认证和访问策略服务,它依赖自身REST(基于Identity API)系统进行工作,主要对(但不限于)Swift、Glance、Nova等进行认证与授权。事实上,授权通过对动作消息来源者请求的合法性进行鉴定。下图显示了身份认证服务流程:

     

    Keystone采用两种授权方式,一种基于用户名/密码,另一种基于令牌(Token)

    除此之外,Keystone提供以下三种服务:
        令牌服务:含有授权用户的授权信息
        目录服务:含有用户合法操作的可用服务列表
        策略服务:利用Keystone具体指定用户或群组某些访问权限

    keystone认证服务注意点:

    服务入口:如Nova、Swift和Glance一样每个OpenStack服务都拥有一个指定的端口和专属的URL,我们称其为入口(endpoints)。

    区位:在某个数据中心,一个区位具体指定了一处物理位置。在典型的云架构中,如果不是所有的服务都访问分布式数据中心或服务器的话,则也称其为区位。

    用户:Keystone授权使用者
      PS:代表一个个体,OpenStack以用户的形式来授权服务给它们。用户拥有证书(credentials),且可能分配给一个或多个租户。经过验证后,会为每个单独的租户提供一个特定的令牌。

    服务:总体而言,任何通过Keystone进行连接或管理的组件都被称为服务。举个例子,我们可以称Glance为Keystone的服务。

    角色:为了维护安全限定,就云内特定用户可执行的操作而言,该用户关联的角色是非常重要的。
      PS:一个角色是应用于某个租户的使用权限集合,以允许某个指定用户访问或使用特定操作。角色是使用权限的逻辑分组,它使得通用的权限可以简单地分组并绑定到与某个指定租户相关的用户。

    租间:租间指的是具有全部服务入口并配有特定成员角色的一个项目。
      PS:一个租间映射到一个Nova的“project-id”,在对象存储中,一个租间可以有多个容器。根据不同的安装方式,一个租间可以代表一个客户、帐号、组织或项目。

    OpenStack计算设施----Nova

    Nova是OpenStack计算的弹性控制器。OpenStack云实例生命期所需的各种动作都将由Nova进行处理和支撑,这就意味着Nova以管理平台的身份登场,负责管理整个云的计算资源、网络、授权及测度。虽然Nova本身并不提供任何虚拟能力,但是它将使用libvirt API与虚拟机的宿主机进行交互。Nova通过Web服务API来对外提供处理接口,而且这些接口与Amazon的Web服务接口是兼容的。

    功能及特点: 
    实例生命周期管理
    计算资源管理
    网络与授权管理
    基于REST的API
    异步连续通信
    支持各种宿主:Xen、XenServer/XCP、KVM、UML、VMware vSphere及Hyper-V

    Nova弹性云(OpenStack计算部件)包含以下主要部分:
    API Server(nova-api)
    消息队列(rabbit-mq server)
    运算工作站(nova-compute)
    网络控制器(nova-network)
    卷管理(nova-volume)
    调度器(nova-scheduler)

    解释如下:
    1)API服务器(nova-api)
    API服务器提供了云设施与外界交互的接口,它是外界用户对云实施管理的唯一通道。通过使用web服务来调用各种EC2的API,接着API服务器便通过消息队列把请求送达至云内目标设施进行处理。作为对EC2-api的替代,用户也可以使用OpenStack的原生API,我们把它叫做“OpenStack API”。

    2)消息队列(Rabbit MQ Server)
    OpenStack内部在遵循AMQP(高级消息队列协议)的基础上采用消息队列进行通信。Nova对请求应答进行异步调用,当请求接收后便则立即触发一个回调。由于使用了异步通信,不会有用户的动作被长置于等待状态。例如,启动一个实例或上传一份镜像的过程较为耗时,API调用就将等待返回结果而不影响其它操作,在此异步通信起到了很大作用,使整个系统变得更加高效。

     3)调度器(nova-scheduler)  

    调度器负责把nova-API调用送达给目标。调度器以名为“nova-schedule”的守护进程方式运行,并根据调度算法从可用资源池中恰当地选择运算服务器。有很多因素都可以影响调度结果,比如负载、内存、子节点的远近、CPU架构等等。强大的是nova调度器采用的是可插入式架构。

    目前nova调度器使用了几种基本的调度算法:
      随机化:主机随机选择可用节点;
      可用化:与随机相似,只是随机选择的范围被指定;
      简单化:应用这种方式,主机选择负载最小者来运行实例。负载数据可以从别处获得,如负载均衡服务器。

    4)运算工作站(nova-compute)
    运算工作站的主要任务是管理实例的整个生命周期。他们通过消息队列接收请求并执行,从而对实例进行各种操作。在典型实际生产环境下,会架设许多运算工作站,根据调度算法,一个实例可以在可用的任意一台运算工作站上部署。

     5)网络控制器(nova-network)
    网络控制器处理主机的网络配置,例如IP地址分配,配置项目VLAN,设定安全群组以及为计算节点配置网络。

     6)卷工作站(nova-volume) 
    卷工作站管理基于LVM的 实例卷,它能够为一个实例创建、删除、附加卷,也可以从一个实例中分离卷。卷管理为何如此重要?因为它提供了一种保持实例持续存储的手段,比如当结束一个 实例后,根分区如果是非持续化的,那么对其的任何改变都将丢失。可是,如果从一个实例中将卷分离出来,或者为这个实例附加上卷的话,即使实例被关闭,数据 仍然保存其中。这些数据可以通过将卷附加到原实例或其他实例的方式而重新访问。

    因此,为了日后访问,重要数据务必要写入卷中。这种应用对于数据服务器实例的存储而言,尤为重要。

    OpenStack镜像服务器----Glance

    OpenStack镜像服务器是一套虚拟机镜像发现、注册、检索系统,我们可以将镜像存储到以下任意一种存储中:
    本地文件系统(默认)
    S3直接存储
    S3对象存储(作为S3访问的中间渠道)
    OpenStack对象存储等等。
      
    功能及特点:
    提供镜像相关服务。

    Glance构件:
    1)Glance-API:
      主要负责接收响应镜像管理命令的Restful请求,分析消息请求信息并分发其所带的命令(如新增,删除,更新等)。默认绑定端口是9292。
    2)Glance-Registry:
      主要负责接收响应镜像元数据命令的Restful请求。分析消息请求信息并分发其所带的命令(如获取元数据,更新元数据等)。默认绑定的端口是9191。

    OpenStack存储设施----Swift

    Swift为OpenStack提供一种分布式、持续虚拟对象存储,它类似于Amazon Web Service的S3简单存储服务。Swift具有跨节点百级对象的存储能力。Swift内建冗余和失效备援管理,也能够处理归档和媒体流,特别是对大数据(千兆字节)和大容量(多对象数量)的测度非常高效。

    swift功能及特点:  
    海量对象存储
    大文件(对象)存储
    数据冗余管理
    归档能力-----处理大数据集
    为虚拟机和云应用提供数据容器
    处理流媒体
    对象安全存储
    备份与归档
    良好的可伸缩性

    Swift组件
    Swift账户
    Swift容器
    Swift对象
    Swift代理
    Swift RING
      
    Swift代理服务器  
    用户都是通过Swift-API与代理服务器进行交互,代理服务器正是接收外界请求的门卫,它检测合法的实体位置并路由它们的请求。
    此外,代理服务器也同时处理实体失效而转移时,故障切换的实体重复路由请求。

    Swift对象服务器
    对象服务器是一种二进制存储,它负责处理本地存储中的对象数据的存储、检索和删除。对象都是文件系统中存放的典型的二进制文件,具有扩展文件属性的元数据(xattr)。

    注意:xattr格式被Linux中的ext3/4,XFS,Btrfs,JFS和ReiserFS所支持,但是并没有有效测试证明在XFS,JFS,ReiserFS,Reiser4和ZFS下也同样能运行良好。不过,XFS被认为是当前最好的选择。

    Swift容器服务器
    容器服务器将列出一个容器中的所有对象,默认对象列表将存储为SQLite文件(译者注:也可以修改为MySQL,安装中就是以MySQL为例)。容器服务器也会统计容器中包含的对象数量及容器的存储空间耗费。

    Swift账户服务器
    账户服务器与容器服务器类似,将列出容器中的对象。

    Ring(索引环)

    Ring容器记录着Swift中物理存储对象的位置信息,它是真实物理存储位置的实体名的虚拟映射,类似于查找及定位不同集群的实体真实物理位置的索引服务。这里所谓的实体指账户、容器、对象,它们都拥有属于自己的不同的Rings。

    OpenStack管理的Web接口----Horizon

    Horizon是一个用以管理、控制OpenStack服务的Web控制面板,它可以管理实例、镜像、创建密匙对,对实例添加卷、操作Swift容器等。除此之外,用户还可以在控制面板中使用终端(console)或VNC直接访问实例。

    总之,Horizon具有如下一些特点:  
    实例管理:创建、终止实例,查看终端日志,VNC连接,添加卷等
    访问与安全管理:创建安全群组,管理密匙对,设置浮动IP等
    偏好设定:对虚拟硬件模板可以进行不同偏好设定
    镜像管理:编辑或删除镜像
    查看服务目录
    管理用户、配额及项目用途
    用户管理:创建用户等
    卷管理:创建卷和快照
    对象存储处理:创建、删除容器和对象
    为项目下载环境变量

    展开全文
  • Openstack概述 部署安装环境 、 部署Openstack OpenStack操作基 Openstack概述 部署安装环境 、 部署Openstack OpenStack操作基
  • 实验环境是使用vmware搭建的centos 7虚拟机,生产环境需要换到openstack上跑虚拟机。 首先, 在vmware里面导出虚拟机,导出格式为ovf 这其实是一个压缩文件,把这个.ovf 用解压软件tar -xvf提取出其中的 CentOS7-...
  • openstack命令

    2019-09-25 12:50:27
    整理了Openstack命令: openstack aggregate add host openstack aggregate createopenstack aggregate deleteopenstack aggregate listopenstack aggregate remove hostopenstack aggregate set openstack aggreg...
  • OpenStack 系列文章

    千次阅读 2020-12-23 20:05:39
    《手动部署 OpenStack Rocky 双节点》 《使用 Ceph 作为 OpenStack 的统一存储解决方案》 代码贡献 《OpenStack 贡献者须知 — OpenPGP/SSH/CLA 贡献者协议》 《OpenStack贡献者须知 2 — 社区工作运作 & 代码...
  • Openstack基础架构

    万次阅读 多人点赞 2017-12-12 15:05:04
    Openstack学习总结 Openstack简介 OpenStack是一个由美国国家航空航天局(NASA)和Rackspace合作研发并发起的开源项目。其中Rackspace贡献了Swift, NASA贡献了Nova项目,这两个子项目发展到现在的大大小小十多个...
  • openstack 峰会 欢迎来到我们每周的OpenStack特别OpenStack Summit版本和开源云新闻。 有兴趣跟踪正在发生的事情吗? Opensource.com是您在开源云基础设施项目OpenStack中获取新闻的来源。 Web上的OpenStack ...
  • Openstack命令

    千次阅读 2016-10-31 09:04:20
    整理了Openstack命令: openstack aggregate add host openstack aggregate create openstack aggregate delete openstack aggregate list openstack aggregate remove host openstack aggregate set ...
  • openstack概述

    万次阅读 2018-01-04 14:16:22
    1.什么是openstack openstack,是目前最为流行的开源云操作系统框架。深入理解openstack需要围绕开源、云、操作系统、框架这几个关键词展开说明  1.云 读者只需要明确,openstack是用来构建云计算系统的核心软件...
  • openstack 峰会 您有兴趣跟踪开源云中正在发生的事情吗? Opensource.com是您在开源云基础设施项目OpenStack中获取新闻的来源。 本周,我们回顾一下在巴塞罗那举行的OpenStack峰会以及该活动的一些新闻,公告和观察...
  • Openstack之搭建总结

    2017-05-15 22:07:15
    Openstack
  • 自诞生以来,OpenStack 似乎一直被质疑,其背后最重要的两大推手 NASA 和 Rackspace 都弃它而去,惠普、思科接连宣布关闭基于 OpenStack 的公...
  • OpenStack是什么,OpenStack详解

    千次阅读 2017-08-01 15:06:00
    1. OpenStack是什么 OpenStack官方的解释很官方,而且从不同角度,也有不同的理解,OpenStack可以理解为一个云操作系统 OpenStack旗下包含了一组由社区维护的开源项目,他们分别是OpenStackCompute(Nova),...
  • OpenStack架构

    万次阅读 2018-03-15 17:35:16
    一、概述openstack是一个综合的云计算管理平台,作为一个开源的IaaS平台,在openstack项目中包含了各种各样的组件,接下来简要介绍。 二、组件(项目)介绍1、认证服务-Keyston该组件在openstack中主要负责用户、...
  • OpenStack API文档

    2018-09-13 11:33:34
    介绍如何使用API来创建和管理OpenStack云环境下的资源
  • OpenStack 安装

    千次阅读 2015-04-27 17:09:03
    OpenStack 是一个开源的云操作系统,可以通过OpenStack构建企业私有云。随着云计算的兴起,各个大中型企业都希望构建自己的私有云平台,OpenStack凭借着开源的优势,得到了广大开发者的喜好,纷纷使用OpenStack来...
  • OpenStack介绍

    千次阅读 2019-04-10 11:14:12
    OpenStack架构 OpenStack是一个综合的云计算管理平台,在OpenStack项目中包含了各种各样的组件,如提供身份验证的Keystone组件、提供计算服务的Nova组件,提供镜像服务的Glance组件、提供对象存储的Swift组件、提供...
  • OpenStack概述

    千次阅读 2019-06-27 23:27:30
    OpenStack是一个开源的云平台管理项目,可以作为AWS EC2的替代品,来管理一个数据中心的计算、网络、存储等资源,提供IAAS。基于OpenStack用户可以构建公有云、私有云、混合云,目前私有云的应用场景较多。
  • OpenStack界面展示

    2018-03-29 10:53:03
    OpenStack的界面简单展示部分。。。。。。。。。。。。。。。
  • openstack官网

    2019-02-25 19:02:05
    https://docs.openstack.org/rocky/#top
  • OpenStack开源云王者归来

    千次下载 热门讨论 2015-08-14 14:43:31
    OpenStack开源云王者归来:云计算虚拟化Nova、Swift、Quantum与Hadoop》按照入门、剖析、扩展的讲授方式,由浅入深地介绍了开源云计算平台OpenStack(Grizzly版本)的整体框架、安装部署、源码剖析及扩展开发。...
  • OpenStack会员介绍

    万次阅读 2017-09-20 10:10:03
     下面看看OpenStack社区的规模: 从上图可以看出来,有来自187个国家的79752个成员参与到OpenStack社区中,有668个公司参与支持OpenStack社区,在OpenStack社区中一共超过来2000万行代码。 OpenStack社区是按照...
  • Openstack 租户

    2018-07-19 11:10:28
    一个用户可以在多个租户拥有管理员角色,每次增加新用户到OpenStack,都分配他们到各个租户。每次新实例(虚拟机)的创建,必须是在某个租户内。所有openStack资源的管理都是基于租户资源的管理。 租户tenant:是在...

空空如也

1 2 3 4 5 ... 20
收藏数 60,923
精华内容 24,369
关键字:

openstack