OpenStack-Nova(4)
一、 Nova概述
使用OpenStack Compute来托管和管理云计算系统。OpenStack Compute是基础架构即服务(IaaS)系统的主要部分。主要模块在Python中实现。
OpenStack Compute与OpenStack Identity进行交互以进行身份验证;用于磁盘和服务器映像的OpenStack Image服务;和用于用户和管理界面的OpenStack仪表板。 镜像访问受到项目和用户的限制;每个项目的配额有限(例如数量)。 OpenStack Compute可以在标准硬件上水平扩展,并下载镜像以启动实例。
OpenStack Compute由以下几个方面组成:
(1)nova-api服务
接受并响应最终用户的计算API调用。 该服务支持OpenStack Compute API,Amazon EC2 API和特殊的Admin API,用于特权用户执行管理操作。 它执行一些策略并启动大多数业务流程活动,例如运行一个实例。
(2)nova-api-metadata服务
接受来自实例的元数据请求。当您使用nova-network安装在多主机模式下运行时,通常会使用nova-api-metadata服务。
(3)nova-compute计算服务
通过虚拟机管理程序API创建和终止虚拟机实例的工作程序守护程序。
- 适用于XenServer / XCP的XenAPI
- KVM或QEMU的libvirt
- 适用于VMware的VMwareAPI
处理相当复杂。基本上,守护程序接受队列中的操作,并执行一系列系统命令,例如启动KVM实例并更新数据库中的状态。
(4)nova-placement-api服务
跟踪每个提供商的库存和使用情况。有关详细信息,请参阅Placement API。
(5)nova-scheduler服务
从队列获取虚拟机实例请求,并确定运行哪个计算服务器主机。
(6)nova-conductor module模块
nova-compute服务与数据库之间的交互。它消除了由nova-compute服务器对云数据库的直接访问。新星导体模块水平放置。但是,不要在运行nova-compute服务的节点上部署它。
(7)nova-cert模块
为X509证书提供Nova Cert服务的服务器守护程序。用于生成euca-bundle-image的证书。只需要EC2 API。
(8)nova-consoleauth守护进程
为控制台代理提供的用户授权令牌。参见nova-novncproxy和nova-xvpvncproxy。此服务必须运行才能使控制台代理工作。您可以在集群配置中针对单个nova-consoleauth服务运行任一类型的代理。
(9)nova-novncproxy守护进程
提供通过VNC连接访问运行实例的代理。 支持基于浏览器的novnc客户端。
(10)nova-spicehtml5proxy守护进程
提供通过SPICE连接访问运行实例的代理。支持基于浏览器的HTML5客户端。
(11)nova-xvpvncproxy守护进程
提供通过VNC连接访问运行实例的代理。支持特定于OpenStack的Java客户机。
(12)Message Queue
在守护进程之间传递消息的中心枢纽。 通常用RabbitMQ实现,也可以用另一个AMQP消息队列来实现,如ZeroMQ。
(13)SQL数据库
存储云基础架构的大部分构建时间和运行时状态,包括:
- 可用的实例类型
- 正在使用的实例
- 可用网络
- 项目
理论上,OpenStack Compute可以支持SQLAlchemy支持的任何数据库。 公共数据库是用于测试和开发工作的SQLite3,MySQL,MariaDB和PostgreSQL。
二、 Nova架构
1、Nova逻辑架构

图1 Nova逻辑架构(早期架构)

图2 Nova逻辑架构
2、Nova服务架构

图3 Nova服务架构
OpenStack-Nova(4)的更多相关文章
- 学习OpenStack之(6):Neutron 深入学习之 OVS + GRE 之 Compute node 篇
0.环境 硬件环境见上一篇博客:学习OpenStack之(5):在Mac上部署Juno版本OpenStack 四节点环境 OpenStack网络配置:一个tenant, 2个虚机 Type drive ...
- 理解 OpenStack + Ceph (5):OpenStack 与 Ceph 之间的集成 [OpenStack Integration with Ceph]
理解 OpenStack + Ceph 系列文章: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 (5)Ceph 与 OpenS ...
- 学习OpenStack之(5):在Mac上部署Juno版本OpenStack 四节点环境
0. 前沿 经过一段时间的折腾,终于在自己的Mac上装好了Juno版本的四节点环境.这过程中,花了大量的时间,碰到了许多问题,学到不少知识,折腾过不少其实不需要折腾的东西,本文试着来对这过程做个总结. ...
- 探索 OpenStack 之(13):研究 Keystone
Keystone 是 OpenStack Identity Service 的项目名称.本文就试着尽可能深入地研究 Keystone. 1. Keystone 的功能 做为 OpenStack 云系统 ...
- 探索 OpenStack 之(12):cinder-api Service 处理 HTTP Request 的过程分析
本文是上一篇 探索 OpenStack 之(11):cinder-api Service 启动过程分析 以及 WSGI / Paste deploy / Router 等介绍> 的后续篇. os ...
- 探索 OpenStack 之(9):深入块存储服务Cinder (功能篇)
继研究了Neutron之后,继续Nova的外围研究之旅.本站是研究块存储服务Cinder. 0.验证环境 环境包括: 1.一个controller节点,运行nova-api, nova-schedul ...
- OpenStack 初探(一) -- All-In-One模式部署(初学OpenStack必备)
OpenStack 初探(一) -- All-In-One模式部署(初学OpenStack必备) 一.操作前需了解: 1. OpenStack提供IaaS(基础设施即服务)服务,它是开源的云计 ...
- 探索 OpenStack 之(8):Neutron 深入探索之 OVS + GRE 之 完整网络流程 篇
前两篇博文分别研究了Compute节点和Neutron节点内部的网络架构.本文通过一些典型流程案例来分析具体网络流程过程. 0. 环境 同 学习OpenStack之(7):Neutron 深入学习之 ...
- 理解 OpenStack + Ceph (2):Ceph 的物理和逻辑结构 [Ceph Architecture]
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...
- 理解 OpenStack Swift (2):架构、原理及功能 [Architecture, Implementation and Features]
本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...
随机推荐
- Chrome F12调试工具常用技巧
原文地址:http://www.cnblogs.com/MuYunyun/p/5678405.html#3471461 阅读目录 Chrome调试工具介绍: 快速切换文件 在源代码中搜索 在源代码中快 ...
- [Go] golang类型断言
类型断言有点像向下转型,接口类型转到具体的实现实例类型上类型断言是一个使用在接口值上的操作.语法上它看起来像x.(T)被称为断言类型,这里x表示一个接口的类型和T表示一个类型 package main ...
- Java集合类源码解析:ArrayList
目录 前言 源码解析 基本成员变量 添加元素 查询元素 修改元素 删除元素 为什么用 "transient" 修饰数组变量 总结 前言 今天学习一个Java集合类使用最多的类 Ar ...
- Java开发笔记(十二)布尔变量论道与或非
在编程语言的设计之初,它们除了可以进行数学计算,还常常用于逻辑推理和条件判断.为了实现逻辑判断的功能,Java引入了一种布尔类型boolean,用来表示“真”和“假”.该类型的变量只允许两个取值,即t ...
- rocketmq 发送时异常:system busy 和 broker busy 解决方案
记一次 rocketmq 使用时的异常. 这里就不说什么rocketmq 源码啥的了,因为没看过.网上一搜这两个异常 大部分都是什么源码解读,也没说出现后的解决办法(蓝瘦香菇). 大量测试发现: 1. ...
- Spring学习心得--------bean-Factory
在学习Spring框架的过程中发现,Spring中的bean不仅是对javabean的一种封装,让你可以通过beanfactoryAPI读取自己配置的beans.xml文件来实现javabean的设置 ...
- 驰骋工作流引擎JFlow与activiti的对比之2种取消模式
1. 取消模式(Cancel Activity) 就是将某个活动取消. JFLOW中,类似与删除流程操作相同. 不能删除:不允许删除. 逻辑删除:仅仅将此流程标记为删除状态,数据仍然存在节点表单与流程 ...
- call、apply的作用和区别是什么?
call().apply()的区别: 相同点: 1.call()和apply()都可以用来间接调用函数,都可以显式调用所需的this.即,任何函数可以作为任何对象的方法来调用. 2.两个方法都可以指定 ...
- iOS transform属性的使用
1.transform属性 在iOS开发中,通过transform属性可以修改UIView对象的平移.缩放比例和旋转角度,常用的创建transform结构体方法分两大类 (1) 创建“基于控件初始位置 ...
- Seattle Traffic construction projects punlication
Why are we making this changes? Construction projects will close some transit facilities to buses in ...