Openstack架构解析(学习汇总)
OpenStack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。
想要了解openstack,第一步我们可以观察他的概念图:
(本图来自互联网)
图片所在博客地址:http://my.oschina.net/chape/blog/119995
原文没有给概念图做太多解释,英语不好的同学表示很受伤,因此我愿意做这个活雷锋:
下面是翻译+解释:
Integration |
Presentation |
Logic |
Resources |
Management |
整合 |
表现层 |
逻辑层(控制层) |
资源层 |
管理层 |
Identity |
Compute API |
Orchestration |
Compute |
Admin API |
认证 |
计算接口 |
部署 |
计算 |
管理员API |
Billing |
Image API |
Scheduling |
Volume |
Monitoring |
计费 |
映像接口 |
调度 |
卷(硬盘上的存储区域) |
测控 |
|
User dashboard |
Policy |
Network |
|
|
仪表盘(显示系统各种参数) |
策略 |
|
|
|
Customer portal |
Image Register |
|
|
|
顾客门户(就是UI) |
映像注册表 |
|
|
|
|
Logging |
|
|
|
|
日志(很多地方都会有的,可以查错,当系统出错崩溃时,也可以根据日志对系统进行还原) |
|
|
此图主要回答了openstack为我们提供什么服务,它的功能有哪些,当然概念图只是为我们提供了一个概念,而正如一开始介绍的那样——OpenStack是一个云平台管理的项目,它不是一个软件,这个项目由几个主要的组件组合起来完成一些具体的工作。搞清楚由哪些组件完成这些功能,我们需要借助图2:
此图为Grizzly的架构图,简述了套件之间是如何运作的:
(本图来自网络)
OpenStack的Grizzly版共有7个不同功能套件,分别是:
运算套件Nova:openstack中的核心,负责计算和实施一些策略,很多组件都要通过他进行调度(Nova中的nova-api负责所以API的调度,初始化大多数部署,执行部分策略)
对象储存套件Swift:分布式对象存储,功能类似于hadoop,可是跟hadoop又有很大不同;在openstack中,swift用于存储创建虚拟机的镜像文件
区块储存套件Cinder:配分块存储,给虚拟机增加一个块存储设备(有点类似于移动硬盘);
网通套件Quantum:通过API来管理的网络架构系统;
身分识别套件Keystone:身份认证功能;
镜像檔管理套件Glance:对镜像文件进行管理;
仪表板套件Horizon:就是一个UI;
以上是我的一些通俗解释,如果大家觉得不够详尽,可以查阅一下资料:
(快速入手Openstack 技术架构功能解读)
http://www.enet.com.cn/article/2013/0702/A20130702294145_2.shtml
这是对openstack架构的一种解释,但用过百度一下的朋友就肯定会发现,网上流传着好几个不同版本的架构图,几种架构图描述的方式都相差很大,第一眼看上去甚至都不是一个东西……
面对这种情况,我们可以假设他们都是对的,然后找出他们之间的联系,这样我们也可以加深对openstack的理解;
现在我们看一下openstack的逻辑架构:
(本图来自互联网)
a) 终端用户通过和nova-api对话来与OpenStack Compute交互。
b) OpenStack Compute守护进程之间通过队列(行为)和数据库(信息)来交换信息,以执行API请求。(交换信息的方式我们以后会讲)
c) OpenStack Glance基本上是独立的基础架构,OpenStack Compute通过Glance API来和它交互。
其各个组件的情况如下:
a) nova-api守护进程是OpenStack Compute的中心。它为所有API查询(OpenStack API 或 EC2 API)提供端点,初始化绝大多数部署活动(比如运行实例),以及实施一些策略(绝大多数的配额检查)。
因此很多相对于openstack独立的基础架构是跟nova-api交换信息的,而不是向其他进程那样使用队列和数据库;
b) nova-compute进程主要是一个创建和终止虚拟机实例的Worker守护进程。基本原理很简单:从队列中接收行为,然后在更新数据库的状态时,执行一系列的系统命令执行他们。
c) nova-volume管理映射到计算机实例的卷的创建、附加和取消。这些卷可以来自很多提供商,比如,ISCSI和AoE。
d) Nova-network worker守护进程类似于nova-compute和nova-volume。它从队列中接收网络任务,然后执行任务以操控网络,比如创建bridging interfaces或改变iptables rules。
e) Queue提供中心hub,为守护进程传递消息。当前用RabbitMQ实现。但是理论上能是python ampqlib支持的任何AMPQ消息队列。
f) SQL database存储云基础架构中的绝大多数编译时和运行时状态。当前广泛使用的数据库是sqlite3(仅适合测试和开发工作),MySQL和PostgreSQL。
g) OpenStack Glance,是一个单独的项目,它是一个compute架构中可选的部分,分为三个部分:
glance-api:glance-api接受API调用;
glance-registry: glance-registry负责存储和检索镜像的元数据,实际的Image Blob存储在Image Store中;
the image store:Image Store可以是多种不同的Object Store,包括OpenStack Object Storage (Swift);
h) 最后,user dashboard是另一个可选的项目。OpenStack Dashboard提供了一个OpenStack Compute界面来给应用开发者和devops staff类似API的功能。当前它是作为Django web Application来实现的。当然,也有其他可用的Web前端。(说白了就是个UI)
让我们看看这个逻辑图在概念图上的映射:
(本图来自互联网)
通过这样一张图我们就可以很清楚地了解各个进程的功能,我们同样可以把各组件映射到它的概念图上:
我们也可以用以下的表示方式来表现它的架构:
(本图来着互联网)
相关博客:http://hi.baidu.com/wylinux/item/e1cc323af851d0f7e6bb7a5a
或者用思维导图表示:
(本图来着互联网)
相关博客:http://www.chenshake.com/openstack-component-introduction/
通过这样几个图,我们基本上可以梳理清openstack的架构了,通过比较不同表达方式,我们可以更透彻地理解一个事物,就像学生时代一直强调的一题多解一样。
<!--EndFragment-->
相关推荐
Openstack架构分析.pdf
OpenStack 架构详解 OpenStack 是一个开源的云计算平台,提供了一个操作平台或工具包,用于编排云计算资源。 OpenStack 由社区维护,包括 OpenStack 计算(Nova)、OpenStack 对象存储(Swift)和 OpenStack 镜像...
对于初学者来说,理解OpenStack的架构和组件功能是学习的关键。通过逐步安装、配置和操作OpenStack,可以深入掌握如何构建和管理自己的云环境。同时,不断关注OpenStack社区的最新发展,参与实践项目,将有助于不断...
### OpenStack架构详解 #### 一、OpenStack概述 OpenStack是一个开源的云计算管理平台项目,旨在为企业提供一套部署和管理私有云、公有云的解决方案。它不仅是一个技术平台,更是一个活跃的社区,汇聚了全球众多...
"OpenStack架构分析" OpenStack架构分析是指对OpenStack云计算平台的架构进行分析和研究,旨在帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云、大云、小云提供可扩展的、灵活的云计算。 OpenStack是一个...
《基于OpenStack架构的金融云实践》是一份深入探讨如何在金融行业中运用OpenStack构建云基础设施的实践报告。OpenStack作为一个开源的云计算平台,被恒丰银行选中用于其金融云建设,展现了开源技术在金融领域的强大...
此外,用户还需要关注OpenStack的社区支持,如文档、问答论坛、邮件列表、在线聊天室、维基百科等资源,这些都是学习和解决问题的重要途径。 OpenStack架构设计指南的版本更新通常包含文档变更历史,提供了对各个...
OpenStack Compute(Nova)的逻辑架构进一步分为多个组件,如 Nova-Conductor、Nova-Scheduler、Nova-Network 和 Nova-Virt,它们协同工作以实现虚拟机生命周期的管理。例如,Nova-Scheduler 负责决定哪个主机应该...
最新版的《OpenStack架构设计指南》详细阐述了OpenStack的架构原理和体系结构,为准备构建和维护OpenStack云环境的读者提供了深入的理解和实践指南。 OpenStack架构主要包含以下几个核心组件: 1. 计算(Compute)...
通过深入学习,用户将能够设计出满足业务需求的、高效且可扩展的OpenStack架构。 总的来说,OpenStack架构设计指南是为那些希望在云计算领域实现创新和业务增长的IT专业人士准备的宝贵资源。它提供了一套全面的框架...
openstack介绍及物理架构与逻辑架构
- **文档**:官方文档是学习OpenStack最权威的资料来源。 - **问答论坛**:社区论坛提供了与其他用户交流问题的机会。 - **OpenStack邮件列表**:订阅邮件列表可以获得最新的项目更新和技术讨论。 - **OpenStack维基...
总结来说,OpenStack 架构提供了一整套工具,使组织能够构建和运营自己的公有云、私有云或混合云。通过 Nova、Swift 和 Glance 等组件,OpenStack 实现了对计算、存储和镜像服务的全面管理,为云服务提供商提供了...
### OpenStack系统架构详解 #### 一、OpenStack概述 OpenStack是一个开源的云平台管理项目,它由美国国家航空航天局(NASA)和Rackspace合作研发,采用Apache许可证授权,是一个自由软件和开放源码项目。OpenStack...
OpenStack架构_v0.21 OpenStack是一个开源的云计算平台,旨在提供基础设施即服务(IaaS)解决方案,让组织能够构建和管理自己的私有云或公共云环境。该架构分为几个关键组件,包括概念架构、逻辑架构和服务架构,以...
学习者应该遵循一定的学习路线,例如从了解OpenStack的基本架构和核心组件开始,逐步深入到具体的部署和操作实践。此外,与社区的交流与合作也是学习OpenStack的一个重要部分,通过阅读文档、参与代码贡献和社区交流...
OpenStack架构指南是为云计算领域的企业和个人提供的一份入门指南,它详细介绍了如何规划、设计和架构OpenStack,以确保用户能充分利用其优势。OpenStack作为云计算市场中的一个领导者,尤其是在自助服务和基础设施...