Nova系统架构
Nova构建在无共享(shared-nothing),基于消息的架构之上。nova所有主要组件可运行在多个服务器上,也就意味着组件与组件之间的通信必须通过消息队列来实现。为了避免组件在等待响应时阻塞,Nova使用延迟(deferred)对象,当接收到响应时触发回调函数(回调函数是由defferred对象来实现的)。
现在Nova改为使用基于sql的中央(central)数据库,数据被所有组件共享。数据量及深度可以很好的保存在sql数据库,对于小型部署来说貌似是最优的方案,对于大型部署,尤其是对于安全有要求时,nova趋向于多重数据存储,这些数据存储可以使各种聚集系统(aggregation system)来实现。
组件:
/- ( LDAP )
[ Auth Manager ] ---
| \- ( DB )
|
|
[ Web Dashboard ] -> [ api ] -- < AMQP > ------ [ network ] - ( Flat/Vlan )
| \
< HTTP > [ scheduler ] - [ compute ] - ( libvirt/xen )
| |
[ objectstore ] < - retrieves images
下面是各种组件的简要说明:
DB:基于sql的数据存储(即关系型数据库),使用在所有组件中(相关链接并没有在此列出)
Web Dashboard:可能的(potential)的外部组件,用于API调用(talk to api)
API:该组件用于接收http请求,转换成命令以及通过队列或http(在使用objectsotre的情况下)与其他组件通信。
Auth Manager:该组件负责users、projets、roles。后端可以是DB或者LDAP。这并非二进制的分离(separate binary),而是用一个Python类实现可用于系统的很多组件中。
objectstore:http server 复制了 S3 API(http server that replicates s3 api),允许镜像的存储和检索。
scheduler:调度器用于决定VM 部署在哪台物理主机
network:网络负责IP转发(ip forwarding),桥(bridge)和vlan。
compute:compute负责hypervisor与虚拟机之间的通信
翻译不妥之处望指出,共同进步。
原文:http://docs.openstack.org/developer/nova/devref/architecture.html
分享到:
相关推荐
在进行OpenStack Nova源码分析时,我们需要深入了解其架构、核心模块以及关键流程。 首先,Nova的整体架构基于服务模型,包括以下主要服务: 1. **nova-api**:API服务,对外提供RESTful API接口,用于与其他...
在演讲中,Intel的工程师首先探讨了OpenStack Nova在过去几个版本中的主要关注点,包括REST API、调度器(Scheduler)、Cellv2架构、实时迁移(Live Migration)和实时升级(Live Upgrade)。这些变革代表了...
OpenStack组件之Nova是OpenStack项目的核心组件之一,负责管理计算资源,网络和认证等,尽管它本身不提供虚拟化能力,但其作用在于对计算资源进行组织和调度。Nova是NASA主导开发的项目,最初是作为NASA内部的云计算...
### OpenStack Nova与Hypervisor对接的技术方案 #### 一、OpenStack与Nova模块概述 OpenStack是一个开源的云计算管理平台项目,旨在为公有云和私有云提供可扩展的弹性计算服务。随着云计算的发展,OpenStack已经...
这有助于理解OpenStack的分布式架构,以及如何扩展和定制Nova以满足特定需求。 总之,Nova是OpenStack中的核心组件,负责计算资源的管理和调度。通过研究`nova-icehouse-eol`的源码,开发者可以深入了解OpenStack的...
Nova对外提供的服务接口是一个与亚马逊Web服务EC2兼容的Web服务API,Horizon(OpenStack的仪表盘)或其他系统可以通过调用Nova API来与计算服务进行交互。Nova内部运行着多个服务(守护进程),每个服务负责特定的...
### OpenStack系统架构详解 #### 一、OpenStack概述 OpenStack是一个开源的云平台管理项目,它由美国国家航空航天局(NASA)和Rackspace合作研发,采用Apache许可证授权,是一个自由软件和开放源码项目。OpenStack...
- Nova通过OpenStack API提供服务,遵循RESTful架构原则,支持JSON格式的数据交换。 - 用户可以通过OpenStack客户端,或者直接调用API接口与Nova进行交互。 5. **扩展性与插件**: - Nova支持多种驱动插件,如...
阅读和理解OpenStack Nova的源代码,有助于开发者、系统管理员和云架构师深入理解OpenStack的工作流程,提升故障排查和优化能力。在实际操作中,可以通过阅读`openstack_nova source code.pdf`这份文档,逐步解析...
2. **OpenStack Object Storage (Swift)**:Swift是一个高度可扩展的对象存储系统,用于存储和检索大量的非结构化数据。它支持多版本、高可用性和容错机制,非常适合于备份数据、归档数据以及提供媒体服务等应用场景...
OpenStack 配置和镜像制作 ...OpenStack Nova 需要安装 NTP 服务器、MySQL 数据库和 Glance 镜像服务,配置网络和安装 OpenStack Nova 也是一个复杂的过程,需要一步步地完成每个步骤,确保整个系统的稳定运行。
这个“带你精通OpenStack的云计算架构部署实验”是针对初学者设计的,旨在帮助他们理解并掌握OpenStack的部署和管理。在本文中,我们将深入探讨OpenStack的核心组件、架构以及如何进行实际的部署实验。 OpenStack的...
OpenStack 项目架构包括三个子项目:Swift 提供对象存储,Glance 提供 OpenStack Nova 虚拟机镜像的发现、存储和检索,Nova 根据要求提供虚拟服务。 云提供商概念架构是指构建自己的 IaaS 云环境,并将其提供给用户...
- **Glance**: Glance为OpenStack提供了一个统一的接口来管理和存储虚拟机镜像,并且为Nova虚拟机提供镜像服务。 - **Swift与Cinder的区别**: Swift提供对象存储服务,适用于大规模非结构化数据的存储;而Cinder...
OpenStack 由多个组件组成,包括 Compute(Nova)、Object Storage(Swift)和 Image Service(Glance),每个组件都有特定的功能。 1. OpenStack Compute (Nova): Nova 是 OpenStack 的核心组件,负责管理和调度...
在这个特定的版本“openstack-nova-g823a114”中,我们关注的是Nova-Scheduler服务,它是整个OpenStack架构中的关键一环,对于理解云计算资源分配和优化具有重要意义。 Nova-Scheduler是OpenStack中的一个调度器,...